[xmonad] Why do we close stdin in (some) spawned processes?

ivan ivan.brennan at gmail.com
Tue Jan 12 15:06:06 UTC 2021


In 'spawn', we close stdin in the child process, whereas in 'safeSpawn'
from xmonad-contrib we do not. I'm curious why that's the case?

This commit introduced the code that closes stdin, but doesn't describe the
motivation for doing so:
https://github.com/xmonad/xmonad/commit/353e7cd6811245fbee7c8c6cf821041c924523b3

I suspect we close stdin in 'spawn' because we know it won't be needed, but
I'm still not sure what we gain by closing it (does it improve
efficiency?). And should we be closing it in 'safeSpawn' as well, or does
'safeSpawn' have a use-case that requires reading from stdin?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/xmonad/attachments/20210112/73453e10/attachment.html>


More information about the xmonad mailing list