Why do you think it&#39;s a lot? MVar are a teeny tiny and convenient primitive of communication, and I don&#39;t see why they wouldn&#39;t suit your need.<br>Sure a throwTo would do the trick... But they&#39;re is &quot;do the trick&quot; and &quot;do the job&quot;, you see?<br>

<br>Using STM and TVars *would* be kind of overkill.<br><br><br><div class="gmail_quote">2012/2/8 JP Moresmau <span dir="ltr">&lt;<a href="mailto:jpmoresmau@gmail.com">jpmoresmau@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hello, I&#39;m wondering what&#39;s the best strategy to use in the following scenario:<br>
- 2 threads<br>
  - One perform some work that will take time, possibly go on forever<br>
  - Another waits for user input (like commands from the keyboard)<br>
that affects thread 1 (causing it to stop, in the simplest case)<br>
<br>
I&#39;ve read a bit on MVar and channels, but they seem to be a lot for<br>
cases where the reading thread block for input. In my case, I expect<br>
to have &quot;something&quot; that thread 2 updates when an event occur, and<br>
thread 1 checks it regularly. So thread 1 should not block, but should<br>
check &quot;is there something&quot; and there is, act on it, otherwise continue<br>
doing what it was currently doing. I suppose I could just tryTakeMVar<br>
on a MVar, but is there something more adapted to my needs?<br>
<br>
Thanks!<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
JP Moresmau<br>
<a href="http://jpmoresmau.blogspot.com/" target="_blank">http://jpmoresmau.blogspot.com/</a><br>
<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</font></span></blockquote></div><br>