Will threading works here? In signal handler, i will create a pthread with a function and parameter as pid and the sig_handler returns. The thread does it cleanup and gconf calls and closes safely. Will it block the server in any way? Is it safer to make calls from thread?<br>
<br clear="all">Cheers,<br>- Kaustubh (aka. Silverroots)<br>[<a href="http://www.kaustubh.org">www.kaustubh.org</a>]<br><br>
<br><br><div class="gmail_quote">On Sat, Feb 14, 2009 at 3:05 AM, Thiago Macieira <span dir="ltr">&lt;<a href="mailto:thiago@kde.org">thiago@kde.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="Wj3C7c">Scott James Remnant wrote:<br>
&gt;On Fri, 2009-02-13 at 15:50 +0000, Simon McVittie wrote:<br>
&gt;&gt; One of the few safe things to do is write the pid to a pipe (as in<br>
&gt;&gt; pipe(2)) and return; whenever a pid can be read from the other end of<br>
&gt;&gt; the pipe in your main loop, do your cleanup and D-Bus interactions<br>
&gt;&gt; there.<br>
&gt;<br>
&gt;Though note that if you spawn a large number of children, it is possible<br>
&gt;for this pipe to be filled such that the signal handled blocks on<br>
&gt;write()<br>
&gt;<br>
&gt;It&#39;s generally better to use pselect() or ppoll() and otherwise mask<br>
&gt;SIGCHLD out from your process.<br>
<br>
</div></div>pselect wasn&#39;t available on Linux until very recently.<br>
<br>
You should make your pipe non-blocking. If it&#39;s full, the event loop is<br>
going to wake up anyways very soon now.<br>
<font color="#888888"><br>
--<br>
 &nbsp;Thiago Macieira &nbsp;- &nbsp;thiago (AT) <a href="http://macieira.info" target="_blank">macieira.info</a> - thiago (AT) <a href="http://kde.org" target="_blank">kde.org</a><br>
 &nbsp; &nbsp;PGP/GPG: 0x6EF45358; fingerprint:<br>
 &nbsp; &nbsp;E067 918B B660 DBD1 105C &nbsp;966C 33F5 F005 6EF4 5358<br>
</font><br>_______________________________________________<br>
dbus mailing list<br>
<a href="mailto:dbus@lists.freedesktop.org">dbus@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/dbus" target="_blank">http://lists.freedesktop.org/mailman/listinfo/dbus</a><br>
<br></blockquote></div><br>