
14 Dec
2005
14 Dec
'05
11:36 a.m.
On 14 December 2005 15:35, Joel Reymont wrote:
On Dec 14, 2005, at 3:22 PM, Simon Marlow wrote:
On 14 December 2005 14:26, Joel Reymont wrote:
How does killThread work with FFI calls? What happens at the low level when a thread is blocked on an FFI call and received a KillThread exception? Does it exit immediately via some GHC magic or is the exception caught when the FFI call returns?
The latter.
Does this change if I kill a thread that's blocked on I/O in a threaded runtime?
Does it get cleaned up immediately?
A thread blocked on ordinary Handle-based I/O can be killed, because blocked Handle I/O is implemented using communication with the I/O manager thread, so it isn't an FFI call under the hood. Cheers, Simon