فهرست منبع

janssonrpc-c: init cfg framework for additional process

- revealed by GH #708
Daniel-Constantin Mierla 9 سال پیش
والد
کامیت
5d8d565331
2فایلهای تغییر یافته به همراه9 افزوده شده و 1 حذف شده
  1. 7 1
      modules/janssonrpc-c/janssonrpc_io.c
  2. 2 0
      modules/janssonrpc-c/janssonrpc_mod.c

+ 7 - 1
modules/janssonrpc-c/janssonrpc_io.c

@@ -39,6 +39,7 @@
 #include "../../action.h"
 #include "../../route_struct.h"
 #include "../../lvalue.h"
+#include "../../cfg/cfg_struct.h"
 #include "../../rand/fastrand.h"
 #include "../tm/tm_load.h"
 #include "../jansson/jansson_utils.h"
@@ -57,11 +58,15 @@ void io_shutdown(int sig);
 
 int jsonrpc_io_child_process(int cmd_pipe)
 {
+	struct event* pipe_ev = NULL;
+
 	global_ev_base = event_base_new();
 	global_evdns_base = evdns_base_new(global_ev_base, 1);
 
 	set_non_blocking(cmd_pipe);
-	struct event* pipe_ev = event_new(global_ev_base, cmd_pipe, EV_READ | EV_PERSIST, cmd_pipe_cb, NULL);
+	pipe_ev = event_new(global_ev_base, cmd_pipe,
+			EV_READ | EV_PERSIST, cmd_pipe_cb, NULL);
+
 	if(!pipe_ev) {
 		ERR("Failed to create pipe event\n");
 		return -1;
@@ -449,6 +454,7 @@ void cmd_pipe_cb(int fd, short event, void *arg)
 		return;
 	}
 
+	cfg_update();
 
 	switch(cmd->type) {
 	case CMD_CLOSE:

+ 2 - 0
modules/janssonrpc-c/janssonrpc_mod.c

@@ -29,6 +29,7 @@
 #include "../../trim.h"
 #include "../../sr_module.h"
 #include "../../timer_proc.h"
+#include "../../cfg/cfg_struct.h"
 #include "../tm/tm_load.h"
 #include "../jansson/jansson_utils.h"
 
@@ -194,6 +195,7 @@ static int child_init(int rank)
 		return -1; /* error */
 	if(pid==0){
 		/* child */
+		if (cfg_child_init()) return -1;
 		close(pipe_fds[1]);
 		return jsonrpc_io_child_process(pipe_fds[0]);
 	}