yes I am invoking a callback function written in Haskell.<br><br><br><br><div class="gmail_quote">On Tue, Jun 24, 2008 at 12:03 PM, Adam Langley &lt;<a href="mailto:agl@imperialviolet.org">agl@imperialviolet.org</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">2008/6/23 Galchin, Vasili &lt;<a href="mailto:vigalchin@gmail.com">vigalchin@gmail.com</a>&gt;:<br>

<div class="Ih2E3d">&gt; aio: schedule: re-entered unsafely.<br>
&gt; &nbsp; &nbsp;Perhaps a &#39;foreign import unsafe&#39; should be &#39;safe&#39;?<br>
&gt;<br>
&gt; I want to understand from an implementation viewpoint .. deeper. This is a<br>
&gt; GC issue yes?<br>
<br>
</div>Are you reentering Haskell on a path which involves an unsafe FFI<br>
call? e.g. you enter C land via an unsafe FFI call and, on the same<br>
call path, reenter Haskell with a callback?<br>
<br>
<a href="http://www.cse.unsw.edu.au/%7Echak/haskell/ffi/ffi/ffise3.html#x6-130003.3" target="_blank">http://www.cse.unsw.edu.au/~chak/haskell/ffi/ffi/ffise3.html#x6-130003.3</a> says:<br>
<br>
&quot;Optionally, an import declaration can specify, after the calling<br>
convention, the safety level that should be used when invoking an<br>
external entity. A safe call is less efficient, but guarantees to<br>
leave the Haskell system in a state that allows callbacks from the<br>
external code. In contrast, an unsafe call, while carrying less<br>
overhead, must not trigger a callback into the Haskell system. If it<br>
does, the system behaviour is undefined. The default for an invocation<br>
is to be safe. Note that a callback into the Haskell system implies<br>
that a garbage collection might be triggered after an external entity<br>
was called, but before this call returns. Consequently, objects other<br>
than stable pointers (cf. Section 5.6) may be moved or garbage<br>
collected by the storage manager.&quot;<br>
<font color="#888888"><br>
--<br>
Adam Langley <a href="mailto:agl@imperialviolet.org">agl@imperialviolet.org</a> <a href="http://www.imperialviolet.org" target="_blank">http://www.imperialviolet.org</a><br>
</font></blockquote></div><br>