[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[LDM #ORI-704946]: setpgid not working under linux in pipe_open



Harry,

> Have you verified what your setpgid is returning?

Not yet.  I rely on the documentation for setpqid().

Your man-page on setpgid() would seem to indicate that it
shouldn't throw an EPERM.

> > If another solution can't be found, then the code would have to be
> > modified in order to block SIGCONTs.
> >
> Or you could use setpgid(0,0) to make the child its own process group.
> That does work.

Good idea.  That used to be in the code for the EXEC action.  I'll
have to see if I can determine why it was taken out.

You say it works.  Have you modified the code to do this?

> > The default SIGCONT action is to ignore it unless the process is
> > stopped.  I'm surprised, therefore, that the effect is noticeable.
> >
> The trouble is that an "ignored" signal still is processed (i.e. it
> interrupts whatever is running)

Ignored signals shouldn't interrupt a process because they can
be completely handled by the kernel.  In fact, they should 
require less handling than a blocked signal (for which state
must be kept).

> I am wondering if the LDM should be written so that rpc.ldmd and pqact
> block SIGCONT except for when they are waiting in pq_suspend.

That hasn't been an issue to date: the LDM consumes very few CPU
resources, relatively speaking.  I'll keep it in mind, however.

> Dr. Harry Edmon                       E-MAIL: address@hidden
> 206-543-0547                          address@hidden
> Dept of Atmospheric Sciences          FAX:    206-543-0308
> University of Washington, Box 351640, Seattle, WA 98195-1640

Regards,
Steve Emmerson

Ticket Details
===================
Ticket ID: ORI-704946
Department: Support LDM
Priority: Normal
Status: On Hold