summaryrefslogtreecommitdiff
path: root/src/tracking.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tracking.c')
-rw-r--r--src/tracking.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/tracking.c b/src/tracking.c
index ba7406e6c..3d207563f 100644
--- a/src/tracking.c
+++ b/src/tracking.c
@@ -214,16 +214,16 @@ void enableTracking(client *c, uint64_t redirect_to, uint64_t options, robj **pr
* to the keys the user fetched, so that Redis will know what are the clients
* that should receive an invalidation message with certain groups of keys
* are modified. */
-void trackingRememberKeys(client *c) {
+void trackingRememberKeys(client *tracking, client *executing) {
/* Return if we are in optin/out mode and the right CACHING command
* was/wasn't given in order to modify the default behavior. */
- uint64_t optin = c->flags & CLIENT_TRACKING_OPTIN;
- uint64_t optout = c->flags & CLIENT_TRACKING_OPTOUT;
- uint64_t caching_given = c->flags & CLIENT_TRACKING_CACHING;
+ uint64_t optin = tracking->flags & CLIENT_TRACKING_OPTIN;
+ uint64_t optout = tracking->flags & CLIENT_TRACKING_OPTOUT;
+ uint64_t caching_given = tracking->flags & CLIENT_TRACKING_CACHING;
if ((optin && !caching_given) || (optout && caching_given)) return;
getKeysResult result = GETKEYS_RESULT_INIT;
- int numkeys = getKeysFromCommand(c->cmd,c->argv,c->argc,&result);
+ int numkeys = getKeysFromCommand(executing->cmd,executing->argv,executing->argc,&result);
if (!numkeys) {
getKeysFreeResult(&result);
return;
@@ -231,7 +231,7 @@ void trackingRememberKeys(client *c) {
/* Shard channels are treated as special keys for client
* library to rely on `COMMAND` command to discover the node
* to connect to. These channels doesn't need to be tracked. */
- if (c->cmd->flags & CMD_PUBSUB) {
+ if (executing->cmd->flags & CMD_PUBSUB) {
return;
}
@@ -239,7 +239,7 @@ void trackingRememberKeys(client *c) {
for(int j = 0; j < numkeys; j++) {
int idx = keys[j].pos;
- sds sdskey = c->argv[idx]->ptr;
+ sds sdskey = executing->argv[idx]->ptr;
rax *ids = raxFind(TrackingTable,(unsigned char*)sdskey,sdslen(sdskey));
if (ids == raxNotFound) {
ids = raxNew();
@@ -247,7 +247,7 @@ void trackingRememberKeys(client *c) {
sdslen(sdskey),ids, NULL);
serverAssert(inserted == 1);
}
- if (raxTryInsert(ids,(unsigned char*)&c->id,sizeof(c->id),NULL,NULL))
+ if (raxTryInsert(ids,(unsigned char*)&tracking->id,sizeof(tracking->id),NULL,NULL))
TrackingTableTotalItems++;
}
getKeysFreeResult(&result);