[racket] adding other objects to custodian

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Mon Jul 5 09:40:14 EDT 2010

At Mon, 5 Jul 2010 08:13:46 -0500, Robby Findler wrote:
> On Mon, Jul 5, 2010 at 8:09 AM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> > At Sun, 4 Jul 2010 21:08:33 -0400, Sam Tobin-Hochstadt wrote:
> >> From a best effort perspective, I think sending the signal to the
> >> process group is more custodian-like.
> >
> > I'm not sure I understand this suggestion, either. Do you mean that
> > Racket should create a process group for each subprocess that it
> > launches? Wouldn't that interfere with the role of process groups for
> > job control in a shell?
> 
> I don't understand all of the issues here, but could one use the value
> of the parameter when creating a custodian to mean "create a process
> group for all processes created under the auspicies of this custodian
> so that I can 'try harder' to clean them all up when the custodian is
> shut down"?

Yes, it would make sense to let a programmer request that. It could
also have a meaning under Windows; although there seems to be no way to
send a SIGINT-like signal to a process, you can send one to a group <of
processes (as long as they stay attached to the same console, etc.).

>From a Unix perspective, that's a limited way of supporting process
groups. You could image a more general interface that partially
detangles group assignment from process creation. We could also
detangle custodian-based signals from `subprocess-kill' and
`subprocess-group-kill' (?) signals. If the only use case is with
custodians, though, maybe all we want for now is extra options for
`current-subprocess-custodian-mode'.



Posted on the users mailing list.