[Haskell-cafe] Preventing leaked open file descriptors whencatching exceptions

Donn Cave donn at avvanta.com
Tue Feb 21 18:53:47 CET 2012


Quoth "Bryan O'Sullivan" <bos at serpentine.com>,
> On Tue, Feb 21, 2012 at 8:16 AM, Ryan Newton <rrnewton at gmail.com> wrote:
>
>> FYI, lsof confirms that there are indeed many many open connections to the
>> same FIFO:
>>
>
> Like all of the lowest-level I/O functions, openFD just gives you back an
> integer, and the Fd type has no notion that there's an underlying system
> resource associated with it. It's your responsibility to manage it (i.e.
> clean up manually when catching an exception).

What's more - if I understood the hypothesis correctly, that the
exception occurs during openFd - that fails to return an Fd because
the open(2) system call fails to return one, so it would presumably
be an OS level bug if there's really an open file descriptor left
from this.

	Donn



More information about the Haskell-Cafe mailing list