summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2020-02-25 21:04:30 -0500
committerrsiddharth <s@ricketyspace.net>2020-04-17 20:56:36 -0400
commit0d20c8e6a50acfdd177288370d1d3e4c2caef673 (patch)
treec249178599b9fa6ed42e4c6b50e1da5c0f00dad4
parentbada83f66662e1a8c95888280d6a228b4da9ded2 (diff)
nserver/src/protocol.c: Update ssdelete.
* nserver/src/protocol.c (ssdelete): Clear Stats record. (sscreate): Allocated fresh Stats record for deleted key that's added back again.
-rw-r--r--nserver/src/protocol.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/nserver/src/protocol.c b/nserver/src/protocol.c
index 0357623..4d57eea 100644
--- a/nserver/src/protocol.c
+++ b/nserver/src/protocol.c
@@ -17,6 +17,10 @@ int sscreate(char *key)
if (rec != NULL && rec->deleted == 1) {
rec->deleted = 0;
+ // Allocate fresh Stats.
+ rec->st = Stats_create();
+ check(rec->st != NULL, "stats creation failed");
+
return 2;
}
@@ -60,6 +64,9 @@ int ssdelete(char *key)
// Mark as deleted.
rec->deleted = 1;
+ // Free Stats.
+ free(rec->st);
+
return 0;
error:
return -1;