Well, that will result in a race where, if the foreign call gets interrupted, the asynchronous exception will get queued up and fire immediately once the FFI call completes, thus enabling libusb_cancel_transfer to be called but not acquire lock to be called. Is that the desired semantics?
Edward Excerpts from Bas van Dijk's message of Sun Apr 24 12:23:19 -0400 2011: > On 24 April 2011 10:26, Edward Z. Yang <ezy...@mit.edu> wrote: > > No, you have to use the 'interruptible' keyword. > > Good, I need them to be uninterruptible. So I guess I can apply > uninterruptibleMask_ only to the 'acquire lock' in the following code > from my usb library: > > https://github.com/basvandijk/usb/blob/async/System/USB/Internal.hs#L1593 > > Thanks, > > Bas _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users