<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255); ">Hi,<div><br></div><div>While testing some java code that executes cyrus init script, I came into a problem : the Java VM blocks SIGQUIT, event when using -Xrs parameter.</div>
<div><br></div><div>As SIGQUIT is safe shutdown, I need the signal delivered correctly. I came up with the attached patch that resets the signal mask for cyrmaster before setting the signal handlers.</div><div><br></div><div>
<div>diff --git a/master/master.c b/master/master.c</div><div>index 823be06..f2ca72e 100644</div><div>--- a/master/master.c</div><div>+++ b/master/master.c</div><div>@@ -1064,7 +1064,11 @@ void sigalrm_handler(int sig __attribute__((unused)))</div>
<div> void sighandler_setup(void)</div><div> {</div><div>     struct sigaction action;</div><div>-    </div><div>+    sigset_t all_signals;</div><div>+</div><div>+    sigfillset(&amp;all_signals);</div><div>+    sigprocmask(SIG_UNBLOCK, &amp;all_signals, NULL);</div>
<div>+</div><div>     sigemptyset(&amp;action.sa_mask);</div><div>     action.sa_flags = 0;</div><div> </div></div><div><br></div><div><br></div><div>Any comment ? without it I can&#39;t restart Cyrus safely from java.</div>
<div><br></div><div>Regards,</div><div>Thomas.</div><div><br></div><font color="#888888"></font></span><font color="#888888"></font>