placement new instead of memcpy

This commit is contained in:
Vivek Saini 2022-04-14 21:05:10 +00:00
parent c81cc4ee2b
commit c21b454de2

View File

@ -1665,7 +1665,7 @@ int launchRdbSaveThread(pthread_t &child, rdbSaveInfo *rsi)
rdbSaveInfo rsiT; rdbSaveInfo rsiT;
if (rsi == nullptr) if (rsi == nullptr)
rsi = &rsiT; rsi = &rsiT;
memcpy(&args->rsi, rsi, sizeof(rdbSaveInfo)); args->rsi = *(new (args) rdbSaveInfo(*rsi));
memcpy(&args->rsi.repl_id, g_pserver->replid, sizeof(g_pserver->replid)); memcpy(&args->rsi.repl_id, g_pserver->replid, sizeof(g_pserver->replid));
args->rsi.master_repl_offset = g_pserver->master_repl_offset; args->rsi.master_repl_offset = g_pserver->master_repl_offset;
@ -3772,7 +3772,7 @@ int rdbSaveToSlavesSockets(rdbSaveInfo *rsi) {
args->rdb_pipe_write = pipefds[1]; /* write end */ args->rdb_pipe_write = pipefds[1]; /* write end */
anetNonBlock(NULL, g_pserver->rdb_pipe_read); anetNonBlock(NULL, g_pserver->rdb_pipe_read);
memcpy(&args->rsi, rsi, sizeof(rdbSaveInfo)); args->rsi = *(new (args) rdbSaveInfo(*rsi));
memcpy(&args->rsi.repl_id, g_pserver->replid, sizeof(g_pserver->replid)); memcpy(&args->rsi.repl_id, g_pserver->replid, sizeof(g_pserver->replid));
args->rsi.master_repl_offset = g_pserver->master_repl_offset; args->rsi.master_repl_offset = g_pserver->master_repl_offset;