Thanks for your suggestions. IMHO the most appropriate way (but probably not easiest) is to use DBUS functionality as <span id="_user_exploderi@gmail.com" style="color: rgb(0, 0, 0);">Mika Yrjölä described. What do you think?
</span><br><br><div><span class="gmail_quote">On 11/15/07, <b class="gmail_sendername">Eero Tamminen</b> &lt;<a href="mailto:eero.tamminen@nokia.com">eero.tamminen@nokia.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br><br>ext Aleksandr Koltsoff wrote:<br>&gt; Eero Tamminen wrote:<br>&gt;&gt; ext Aleksandr Koltsoff wrote:<br>&gt;&gt;&gt; I think in your case it would be sufficient to do something like this:<br>&gt;&gt;&gt; while true; do
<br>&gt;&gt;&gt;&nbsp;&nbsp; ./run-your-application params<br>&gt;&gt;&gt;&nbsp;&nbsp; sleep 2<br>&gt;&gt;&gt; done<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; Or in C:<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; while(1) {<br>&gt;&gt;&gt;&nbsp;&nbsp; system(&quot;./run-your-application params&quot;);
<br>&gt;&gt;&gt;&nbsp;&nbsp; sleep(2);<br>&gt;&gt;&gt; }<br>&gt;&gt; That would shorten the battery life. If one really needs/wants<br>&gt;&gt; to kludge things with polling, the interval should be several<br>&gt;&gt; times larger.
<br>&gt;<br>&gt; When the application is running, both methods wait for the process to<br>&gt; terminate, i.e., no polling. man 3 system. The idea originally was that<br>&gt; should the application terminate, it will be restarted after a while.
<br><br>Sorry, I didn&#39;t read your mail properly (need to get new glasses<br>one of these days...), I just saw the &quot;sleep 2&quot;.<br><br><br>&gt; If the application is completely broken, and will fail to start in any
<br>&gt; case, then this would amount to polling, and would shorten battery life.<br><br>This would happen also if the process daemonizes itself.<br><br><br>&gt; My original post did suggest handling exit codes of the child properly,
<br>&gt; but I guess that was lost somewhere in the process..<br>&gt;<br>&gt;&gt;&gt; Linux (kernel) does not have a non-polling mechanism to track<br>&gt;&gt;&gt; PID-existance for non-related processes.<br>&gt;&gt; It has, you just need to be the process parent.&nbsp;&nbsp;:-)
<br>&gt;<br>&gt; Note the &quot;non-related&quot; part :-). Parent &lt;-&gt; child = related processes.<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Eero<br>_______________________________________________<br>maemo-developers mailing list<br><a href="mailto:maemo-developers@maemo.org">
maemo-developers@maemo.org</a><br><a href="https://lists.maemo.org/mailman/listinfo/maemo-developers">https://lists.maemo.org/mailman/listinfo/maemo-developers</a><br></blockquote></div><br><br clear="all"><br>-- <br>Cheers,
<br>Michael