Brian Denheyer <span dir="ltr">&lt;<a href="mailto:briand@aracnet.com">briand@aracnet.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Mon, 25 Jan 2010 23:19:53 -0800<br>
Thomas DuBuisson &lt;<a href="mailto:thomas.dubuisson@gmail.com">thomas.dubuisson@gmail.com</a>&gt; wrote:<br>
<br>
&gt; 1) Don&#39;t use System.Posix.Signals<br>
&gt; It isn&#39;t necessary and makes your code less portable<br>
&gt;<br>
&gt; 2) The POSIX SIGALRM is used/caught by the RTS and that is why you are<br>
&gt; seeing strange behavior.<br>
&gt;<br>
&gt; 3) Consider using Haskell exceptions from Control.Concurrent<br>
&gt; (throwTo). Not sure what you want to do but you can always<br>
&gt; &quot;myThreadId &gt;&gt;= \tid -&gt; forkIO $ threadDelay someDelayTime &gt;&gt;<br>
&gt; (throwTo tid someExceptionVal)&quot;<br>
&gt;<br>
<br>
</div>I just want a routine to run every 15 min.<br></blockquote><div><br><br>You can still use Control.Concurrent:<br>&gt; import Control.Concurrent<br>&gt; <br>&gt; doEvent f usDelay = forkIO $<br>&gt;   threadDelay usDelay<br>
&gt;   doEvent f usDelay<br>&gt;   f<br><br>Or a wrapper around Control.Concurrent - Ex: The Control-Event package.<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<br>
I&#39;m not clear on why the throwTo is in you example.<br></blockquote><div><br>It will give you an exception just like you were expecting from SIGALRM.<br><br>Thomas<br>
<br></div></div>