From: Dan Williams Date: Mon, 14 Jul 2008 21:59:39 +0000 (-0700) Subject: mdmon: close small window of invalid mon_tid X-Git-Tag: mdadm-3.0-devel1~110 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2cc98f9ea58485e1f539f77ba3eb5d9788908ae6;p=thirdparty%2Fmdadm.git mdmon: close small window of invalid mon_tid There is a small chance that the manager tries to wake the monitor before mon_tid is set. Signed-off-by: Dan Williams --- diff --git a/mdmon.c b/mdmon.c index 99f2f2c4..c7d7f680 100644 --- a/mdmon.c +++ b/mdmon.c @@ -52,7 +52,6 @@ int run_child(void *v) { struct supertype *c = v; - mon_tid = syscall(SYS_gettid); do_monitor(c); return 0; } @@ -60,16 +59,14 @@ int run_child(void *v) int clone_monitor(struct supertype *container) { static char stack[4096]; - int rv; - - rv = clone(run_child, stack+4096-64, + mon_tid = clone(run_child, stack+4096-64, CLONE_FS|CLONE_FILES|CLONE_VM|CLONE_SIGHAND|CLONE_THREAD, container); mgr_tid = syscall(SYS_gettid); - - return rv; + + return mon_tid; } static struct superswitch *find_metadata_methods(char *vers)