cfcb475435
LOLWUT 6: always pick a default color sequence.
2019-10-28 11:10:58 +01:00
8337e083b6
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-10-28 11:09:09 +01:00
c328c807e7
Merge pull request #6496 from oranagra/module_tests_valgrind
...
Make module tests pass with valgrind, and fix a leak in diskless load
2019-10-28 10:05:52 +01:00
d2658f8387
Merge pull request #6493 from yossigo/modules-make-cleanup
...
Modules: improve tests Makefile.
2019-10-28 10:00:40 +01:00
5aab012676
Merge pull request #6498 from oranagra/rm_latency_add_sample
...
Module API for LatencyAddSample
2019-10-28 09:59:26 +01:00
e097c99681
Merge pull request #4761 from WJWH/minor-typos
...
Fix some minor typos in comments
2019-10-28 09:58:38 +01:00
6f2fc34228
Merge pull request #6502 from happynote3966/typo-fix
...
fix comment typo in redis-cli.c
2019-10-28 09:57:43 +01:00
c6c65d9ab3
Merge pull request #6503 from cstrotm/unstable
...
Typo fix: kill -> still
2019-10-28 09:57:19 +01:00
d070221707
Merge pull request #6505 from swilly22/replaywith-module-API-additions
...
Introduce ReplyWithVerbatimString, ReplyWithEmptyArray, ReplyWithNull…
2019-10-28 09:56:56 +01:00
24fdc87fe0
Merge pull request #4994 from soloestoy/module-blocked-client
...
Modules: make unloading module more safe
2019-10-28 09:55:11 +01:00
56a7c45521
Introduce ReplyWithVerbatimString, ReplyWithEmptyArray, ReplyWithNullArray and ReplyWithEmptyString to redis module API
2019-10-28 08:50:25 +02:00
c74398e130
Modules: make unloading module more safe
...
As we know if a module exports module-side data types,
unload it is not allowed. This rule is the same with
blocked clients in module, because we use background
threads to implement module blocked clients, and it's
not safe to unload a module if there are background
threads running. So it's necessary to check if any
blocked clients running in this module when unload it.
Moreover, after that we can ensure that if no modules,
then no module blocked clients even module unloaded.
So, we can call moduleHandleBlockedClients only when
we have installed modules.
2019-10-28 11:31:58 +08:00
cb2ca37f88
Typo fix: kill -> still
2019-10-25 19:38:45 +02:00
cd02c5944f
fix comment typo in redis-cli.c
2019-10-25 22:31:55 +09:00
fb1f4f4e7e
Merge branch 'unstable' into minor-typos
2019-10-25 10:18:26 +02:00
e3b1d6d3ad
Module API for LatencyAddSample
2019-10-24 14:24:55 +03:00
183d264e9e
Modules: improve tests Makefile.
...
Removes some boilerplate per module, add clean target.
2019-10-24 13:21:35 +03:00
5dd1130272
Remove trailing space from server.c.
2019-10-24 11:20:15 +02:00
6e98214f74
Modules hooks: test flush event.
2019-10-24 10:51:03 +02:00
39f2ab595c
Modules hooks: initial Tcl test file.
2019-10-24 10:41:25 +02:00
be352633a0
Make module tests pass with valgrind, and fix a leak in diskless load
2019-10-24 09:45:25 +03:00
7cefbeaad5
Modules hooks: select DB zero by default.
2019-10-23 18:51:44 +02:00
d3266d516b
Modules hooks: test module draft.
2019-10-23 18:42:02 +02:00
dddfde85ef
Modules hooks: fix memory leak in example module.
2019-10-23 18:39:53 +02:00
61ac2aef2b
Modules hooks: for nested calls, create new fake clients.
...
We can't use the same client at the same time when re-entering the hook.
2019-10-23 18:39:53 +02:00
8cccc6b468
Modules hooks: don't call the hook for fake clients.
2019-10-23 18:39:53 +02:00
83de18805c
Modules hooks: do not re-enter in hooks.
...
Calling a module hook callback may result in callback operations in turn
triggering other events the module is subscribed too. We don't want to
trigger those, it's unsafe and quite confusing, and to do it correcly we
would need to maintain an event list: quite a more complex
implementation.
2019-10-23 18:39:53 +02:00
89af7e4c85
Modules hooks: select the right DB for FLUSHDB events.
2019-10-23 18:39:53 +02:00
bc1ef48e56
Modules hooks: FLUSHDB event example.
2019-10-23 18:39:53 +02:00
ed833c9f99
Modules hooks: implement the FLUSHDB event.
2019-10-23 18:39:53 +02:00
8ec2fc3969
Modules hooks: unify structures definitions.
2019-10-23 18:39:53 +02:00
db8c9a8520
Modules hooks: document what yet to implement WIP 2.
2019-10-23 18:39:53 +02:00
18d1607f5e
Modules hooks: document what yet to implement WIP 1.
2019-10-23 18:39:53 +02:00
c379fdbae2
Modules hooks: do more in example client callback.
2019-10-23 18:39:53 +02:00
cf52e0ad44
Module hooks: fixes and an example module.
2019-10-23 18:39:53 +02:00
94c50314f1
Modules hooks: fix sub event in calls from client change.
2019-10-23 18:39:53 +02:00
019ac37e9c
Modules hooks: fix define / linker issues. Implement one test event.
2019-10-23 18:39:53 +02:00
d54652682d
Modules hooks: handle module unloading + API export.
2019-10-23 18:39:53 +02:00
1e78681df8
Modules hooks: fix a leak and a few more issues.
2019-10-23 18:39:53 +02:00
b9af7e24e4
Modules hooks: event firing logic.
2019-10-23 18:39:53 +02:00
6e56f513b4
Modules: refactoring of RM_GetClientInfoById().
2019-10-23 18:39:53 +02:00
21d8544128
Modules: fix RedisModule_GetClientInfoById() example.
2019-10-23 18:39:53 +02:00
e9b5484ddd
Modules: export GetClientInfoById().
2019-10-23 18:39:53 +02:00
6ea8641ae0
Modules: add the client ID to the client info structure.
2019-10-23 18:39:53 +02:00
d2d74ca0f3
Modules: RM_GetClientInfoById() draft.
2019-10-23 18:39:53 +02:00
bebb2e1994
Modules hooks: a first version of events and some API.
2019-10-23 18:39:53 +02:00
3170f63330
Modules hooks: initial design of data structures.
2019-10-23 18:39:53 +02:00
ed2ba31e4c
Modules: fix moduleCreateArgvFromUserFormat() casting bug.
...
In 32 bit systems casting to "long" will cut the result to 32 bit.
2019-10-23 18:39:14 +02:00
673c9d7029
module: fix propagation API bug.
2019-10-17 18:28:34 +02:00
97f6e314c1
Modules: allow to check for AOF loading client.
2019-10-17 18:10:50 +02:00