[MLton] SIGPIPE causes incompatibility with basis library spec

Henry Cejtin henry@sourcelight.com
Fri, 19 Nov 2004 21:19:49 -0600


If  you  install  a  handler for SIGPIPE then if the MLton process forks, the
children  will  have  the  same  handler.   If  they  then  exec  some  other
executable,  special  handlers (SIG_DFL and SIG_IGN) will still remain.  This
means that any children will become confused if they expect to get a SIGPIPE.

One can do slightly better by setting the handler to a procedure which simply
returns.  The difference is that this was after an exec the  signal  will  be
reset to the default.

Still,  I'm not convinced that trying to hide the OS behavior is a good idea.