首页 > 解决方案 > 子进程如何更新父进程中的变量?

问题描述

“版本:redis-3.0.2,文件:rdb.c,方法:int rdbSave(char * filename)”,全局变量“服务器”有一些更新操作:

server.dirty = 0;
server.lastsave = time(NULL);
server.lastbgsave_status = REDIS_OK;

我想知道,子进程如何更新父进程中的变量?理论上是不能的。

标签: redis

解决方案


rdbSave 在主事件循环线程的前台运行,因此更新不是由智利进程完成的。

查看 rdbSaveBackground 的 fork 实现。


推荐阅读