summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2018-02-15 21:41:03 +0100
committerantirez <antirez@gmail.com>2018-02-15 21:41:03 +0100
commitaa57481d8ce69938b20a2a7ea8ba06daadbc2dcd (patch)
treedbb099245ed50e0d080b8586c0cdbf782f34fd42
parent7830f8492fde42eb213ee82131cc1c982bb319e1 (diff)
downloadredis-aa57481d8ce69938b20a2a7ea8ba06daadbc2dcd.tar.gz
Remove non semantical spaces from module.c.
-rw-r--r--src/module.c77
1 files changed, 36 insertions, 41 deletions
diff --git a/src/module.c b/src/module.c
index 96e65f0be..8eb3f8aa5 100644
--- a/src/module.c
+++ b/src/module.c
@@ -220,22 +220,25 @@ static pthread_mutex_t moduleGIL = PTHREAD_MUTEX_INITIALIZER;
/* Function pointer type for keyspace event notification subscriptions from modules. */
typedef int (*RedisModuleNotificationFunc) (RedisModuleCtx *ctx, int type, const char *event, RedisModuleString *key);
-/* Keyspace notification subscriber information. See RM_SubscribeToKeyspaceEvents */
+/* Keyspace notification subscriber information.
+ * See RM_SubscribeToKeyspaceEvents() for more information. */
typedef struct RedisModuleKeyspaceSubscriber {
/* The module subscribed to the event */
- RedisModule *module;
+ RedisModule *module;
/* Notification callback in the module*/
- RedisModuleNotificationFunc notify_callback;
+ RedisModuleNotificationFunc notify_callback;
/* A bit mask of the events the module is interested in */
- int event_mask;
- /* Active flag set on entry, to avoid reentrant subscribers calling themselves */
- int active;
+ int event_mask;
+ /* Active flag set on entry, to avoid reentrant subscribers
+ * calling themselves */
+ int active;
} RedisModuleKeyspaceSubscriber;
/* The module keyspace notification subscribers list */
static list *moduleKeyspaceSubscribers;
-/* Static client recycled for all notification clients, to avoid allocating per round. */
+/* Static client recycled for all notification clients, to avoid allocating
+ * per round. */
static client *moduleKeyspaceSubscribersClient;
/* --------------------------------------------------------------------------
@@ -3696,18 +3699,18 @@ void moduleReleaseGIL(void) {
* Module Keyspace Notifications API
* -------------------------------------------------------------------------- */
-/* Subscribe to keyspace notifications. This is a low-level version of the
+/* Subscribe to keyspace notifications. This is a low-level version of the
* keyspace-notifications API. A module cand register callbacks to be notified
- * when keyspce events occur.
- *
+ * when keyspce events occur.
+ *
* Notification events are filtered by their type (string events, set events,
* etc), and the subsriber callback receives only events that match a specific
- * mask of event types.
- *
+ * mask of event types.
+ *
* When subscribing to notifications with RedisModule_SubscribeToKeyspaceEvents
* the module must provide an event type-mask, denoting the events the subscriber
* is interested in. This can be an ORed mask of any of the following flags:
- *
+ *
* - REDISMODULE_NOTIFY_GENERIC: Generic commands like DEL, EXPIRE, RENAME
* - REDISMODULE_NOTIFY_STRING: String events
* - REDISMODULE_NOTIFY_LIST: List events
@@ -3718,32 +3721,32 @@ void moduleReleaseGIL(void) {
* - REDISMODULE_NOTIFY_EVICTED: Eviction events
* - REDISMODULE_NOTIFY_STREAM: Stream events
* - REDISMODULE_NOTIFY_ALL: All events
- *
+ *
* We do not distinguish between key events and keyspace events, and it is up
- * to the module to filter the actions taken based on the key.
- *
+ * to the module to filter the actions taken based on the key.
+ *
* The subscriber signature is:
- *
- * int (*RedisModuleNotificationFunc) (RedisModuleCtx *ctx, int type,
- * const char *event,
+ *
+ * int (*RedisModuleNotificationFunc) (RedisModuleCtx *ctx, int type,
+ * const char *event,
* RedisModuleString *key);
- *
+ *
* `type` is the event type bit, that must match the mask given at registration
* time. The event string is the actual command being executed, and key is the
- * relevant Redis key.
- *
+ * relevant Redis key.
+ *
* Notification callback gets executed with a redis context that can not be
* used to send anything to the client, and has the db number where the event
* occured as its selected db number.
- *
- * Notice that it is not necessary to enable norifications in redis.conf for
- * module notifications to work.
- *
+ *
+ * Notice that it is not necessary to enable norifications in redis.conf for
+ * module notifications to work.
+ *
* Warning: the notification callbacks are performed in a synchronous manner,
- * so notification callbacks must to be fast, or they would slow Redis down.
+ * so notification callbacks must to be fast, or they would slow Redis down.
* If you need to take long actions, use threads to offload them.
- *
- * See https://redis.io/topics/notifications for more information.
+ *
+ * See https://redis.io/topics/notifications for more information.
*/
int RM_SubscribeToKeyspaceEvents(RedisModuleCtx *ctx, int types, RedisModuleNotificationFunc callback) {
RedisModuleKeyspaceSubscriber *sub = zmalloc(sizeof(*sub));
@@ -3754,26 +3757,22 @@ int RM_SubscribeToKeyspaceEvents(RedisModuleCtx *ctx, int types, RedisModuleNoti
listAddNodeTail(moduleKeyspaceSubscribers, sub);
return REDISMODULE_OK;
-
}
-/* Dispatcher for keyspace notifications to module subscriber functions.
+/* Dispatcher for keyspace notifications to module subscriber functions.
* This gets called only if at least one module requested to be notified on
* keyspace notifications */
void moduleNotifyKeyspaceEvent(int type, const char *event, robj *key, int dbid) {
-
/* Don't do anything if there aren't any subscribers */
if (listLength(moduleKeyspaceSubscribers) == 0) return;
-
+
listIter li;
listNode *ln;
-
listRewind(moduleKeyspaceSubscribers,&li);
/* Remove irrelevant flags from the type mask */
type &= ~(NOTIFY_KEYEVENT | NOTIFY_KEYSPACE);
-
while((ln = listNext(&li))) {
RedisModuleKeyspaceSubscriber *sub = ln->value;
/* Only notify subscribers on events matching they registration,
@@ -3784,7 +3783,7 @@ void moduleNotifyKeyspaceEvent(int type, const char *event, robj *key, int dbid)
ctx.client = moduleKeyspaceSubscribersClient;
selectDb(ctx.client, dbid);
- /* mark the handler as activer to avoid reentrant loops.
+ /* mark the handler as activer to avoid reentrant loops.
* If the subscriber performs an action triggering itself,
* it will not be notified about it. */
sub->active = 1;
@@ -3793,7 +3792,6 @@ void moduleNotifyKeyspaceEvent(int type, const char *event, robj *key, int dbid)
moduleFreeContext(&ctx);
}
}
-
}
/* Unsubscribe any notification subscirbers this module has upon unloading */
@@ -3810,7 +3808,6 @@ void moduleUnsubscribeNotifications(RedisModule *module) {
}
}
-
/* --------------------------------------------------------------------------
* Modules API internals
* -------------------------------------------------------------------------- */
@@ -3848,10 +3845,9 @@ void moduleRegisterCoreAPI(void);
void moduleInitModulesSystem(void) {
moduleUnblockedClients = listCreate();
-
server.loadmodule_queue = listCreate();
modules = dictCreate(&modulesDictType,NULL);
-
+
/* Set up the keyspace notification susbscriber list and static client */
moduleKeyspaceSubscribers = listCreate();
moduleKeyspaceSubscribersClient = createClient(-1);
@@ -3907,7 +3903,6 @@ void moduleFreeModuleStructure(struct RedisModule *module) {
zfree(module);
}
-
void moduleUnregisterCommands(struct RedisModule *module) {
/* Unregister all the commands registered by this module. */
dictIterator *di = dictGetSafeIterator(server.commands);