[MLton-devel] Re: size increase
Matthew Fluet
Matthew Fluet <fluet@CS.Cornell.EDU>
Tue, 9 Apr 2002 22:49:40 -0400 (EDT)
> > In general you want something like the `system' command to ignore SIGINT and
> > SIGQUIT so that if the command you run is interactive then interrupting it
> > will not cause the parent (ML) process to think something went wrong.
> > I'm not saying that it is the way to go here.
>
> OK. Since the basis library spec doesn't say anything. I'm gonna
> take out the signal stuff, and leave it up to the user.
My info files say:
system() executes a command specified in string by calling
/bin/sh -c string, and returns after the command has been
completed. During execution of the command, SIGCHLD will
be blocked, and SIGINT and SIGQUIT will be ignored.
So, I suspect that's why SML/NJ masked the signals.
Since there's nothing in the Basis that lets you mask signals (correct?),
there isn't a way for a (strict SML+Basis) user to get the same behavior.
So, I would expect the OS.Process.system function to work like the libc
version.
(On the other hand, there is a long rant in the BUGS section of info page
that says how unfortunate it is that it ignores signals.)
I don't really care either way; I just want to point out that it isn't a
solution the size increase problem to change the basis and add a signal
ignoring version of system to lib/mlton/basic/process.sml, because
touching signals there will still pull them into the executable.
Also,
> I've decided to go ahead and add a new copyright to all the MLton
> sml files. How about the following?
> ...
> Comments?
Looks fine to me.
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel