I had asked:
If I use a network accept inside a block:

  block (
     ...
     (clientSocket, sockAddr) <- accept serverSocket
     ...
     )

and the 'accept' unblocks a pending asynchronous exception and the
exception gets thrown, does this mean that the 'accept' won't have
accepted a network connection?

Aha, I finally noticed this in this in the Control.Exception documentation:

With takeMVar interruptible, however, we can be safe in the
knowledge that the thread can receive exceptions *right up until
the point when the takeMVar succeeds*. Similar arguments
apply for other interruptible operations like openFile.

(emphasis added)

Which answers my question!  :-)
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to