diff --git a/src/ae.cpp b/src/ae.cpp index a08b23454..d84a5b0d6 100644 --- a/src/ae.cpp +++ b/src/ae.cpp @@ -130,7 +130,9 @@ struct aeCommand void *clientData; aeCommandControl *pctl; }; +#ifdef PIPE_BUF static_assert(sizeof(aeCommand) <= PIPE_BUF); +#endif void aeProcessCmd(aeEventLoop *eventLoop, int fd, void *, int ) { diff --git a/src/cron.cpp b/src/cron.cpp index 2c20a5c0e..11d1f6d8c 100644 --- a/src/cron.cpp +++ b/src/cron.cpp @@ -67,6 +67,7 @@ void cronCommand(client *c) robj *o = createObject(OBJ_CRON, spjob.release()); setKey(c->db, c->argv[ARG_NAME], o); + decrRefCount(o); // use an expire to trigger execution. Note: We use a subkey expire here so legacy clients don't delete it. setExpire(c, c->db, c->argv[ARG_NAME], c->argv[ARG_NAME], base + interval); addReply(c, shared.ok); @@ -102,7 +103,7 @@ void executeCronJobExpireHook(const char *key, robj *o) int dbId = job->dbNum; if (job->fSingleShot) { - dbSyncDelete(cFake->db, keyobj); + serverAssert(dbSyncDelete(cFake->db, keyobj)); } else {