Just task switches are disallowed (and thus any IO). Perhaps after the
threads branch merged, it'll be worth reconsidering that restriction too.
The reason to ban task switch is that gc could happen at any time in user's
code due to an allocation. It's not generally advisable therefore to allow
task switches at that time, since that it necessary for the user to be much
more concerned with syncronization.

On Sat Feb 14 2015 at 6:55:07 PM Kirill Ignatiev <[email protected]>
wrote:

> On Saturday, 14 February 2015 17:32:55 UTC-5, Jameson wrote:
>>
>> Kirill, I am sure what you are asking. Remi's initial question was
>> resolved to be due to calling print in a finalizer, and unrelated to the
>> ccall usage (which works fine).
>>
>
> But there is no print in the original code, or at least I'm not seeing it.
> Was it there at first but then scrubbed before posting? Also, do you know
> what behaviour is actually forbidden for finalizers? I am working with an
> existing library, and tracking down finalizer bugs is somewhat tricky. It
> may be trying to print something, I cannot tell yet.
>
> If ccall should work fine, that's good to know.
>
>

Reply via email to