Yes, sure, but what actually does that? i.e. what locks a FD opened by the Haskell runtime and then expects to preserve the lock across a fork? I see that this is a problem in theory, but in practice is it?
The point is, how much code would really have to change to fix the fallout from this?
On 31/08/15 09:28, David Turner wrote:
> Exactly. As I said earlier, if you forget to clear FD_CLOEXEC when you
> meant to then your program breaks loudly and obviously; if you forget to
> *set* FD_CLOEXEC then the bug is much quieter and more subtle.
I think the example given by Donn (a lock silently being cleared too
early) is a case where it does not break loudly and obviously.
I agree with the second part though that bugs related to leaking tend to
be quieter and more subtle in general.