From 663f0bca3e28bb0eb064f4b93f0ee0c1d50dccfe Mon Sep 17 00:00:00 2001 From: John Sully Date: Tue, 28 Sep 2021 18:08:15 +0000 Subject: [PATCH] Revert "Don't zero out potentially long buffers" - It has no benefit above the noise floor and potentially is the cause of a multithread slowdown This reverts commit 9a9841afb3ffac4ebece0ec911b35ce1fe1c7e35 [formerly 91e76ab4a00546278100baf6dfe61c13e802b40e]. Former-commit-id: f651cf67d731a10c3a52e30261c8d8b9d291576c --- src/object.cpp | 3 +-- src/server.h | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/object.cpp b/src/object.cpp index bde1bc302..6ecaf3ba5 100644 --- a/src/object.cpp +++ b/src/object.cpp @@ -102,11 +102,10 @@ robj *createEmbeddedStringObject(const char *ptr, size_t len) { allocsize = sizeof(void*); size_t mvccExtraBytes = g_pserver->fActiveReplica ? sizeof(redisObjectExtended) : 0; - char *oB = (char*)zmalloc(sizeof(robj)+allocsize-sizeof(redisObject::m_ptr)+mvccExtraBytes, MALLOC_SHARED); + char *oB = (char*)zcalloc(sizeof(robj)+allocsize-sizeof(redisObject::m_ptr)+mvccExtraBytes, MALLOC_SHARED); robj *o = reinterpret_cast(oB + mvccExtraBytes); struct sdshdr8 *sh = (sdshdr8*)(&o->m_ptr); - new (o) redisObject; o->type = OBJ_STRING; o->encoding = OBJ_ENCODING_EMBSTR; o->setrefcount(1); diff --git a/src/server.h b/src/server.h index fa2183149..5aea41b23 100644 --- a/src/server.h +++ b/src/server.h @@ -950,7 +950,6 @@ struct redisObjectExtended { }; typedef struct redisObject { - friend redisObject *createEmbeddedStringObject(const char *ptr, size_t len); protected: redisObject() {}