Email List: Xaustin-group-lX
[All Lists]

wait* status definition

To: Ulrich Drepper <drepper@xxxxxxxxxx>
Subject: wait* status definition
From: wollman+austin-group@xxxxxxxxxxx
Date: Tue, 10 Jun 2008 01:34:07 -0400
Cc: "austin-group-l@xxxxxxxxxxxxx" <austin-group-l@xxxxxxxxxxxxx>
References: <484DF33E.7050303@redhat.com>
<<On Mon, 09 Jun 2008 20:21:34 -0700, Ulrich Drepper <drepper@redhat.com> said:

[scenario deleted]

> What is this call supposed to do?  There are two possible
> interpretations of the standard:

> - - status information is the change from running to stopped.  This
>   information has been communicated in the first wait* call and
>   therefore the second call will block

> - - the status of the child is still stopped and therefore the call
>   will immediately return and signal WIFSTOPPED again

> I guess the final answer depends on historic practice.  Linux does the
> latter, it returns immediately.

FreeBSD implements the one-shot behavior.  4.4BSD implemented a
one-shot for the running->stopped transition but not for the other
direction.  Since job control originated in 4BSD it's probably a
reasonable assumption that this is the historic behavior (although I
don't have the source code archives to prove it); 4.4 not having
WIFCONTINUED is consistent with that being an XSI feature (i.e.,
inherited from SVR4).

-GAWollman

<Prev in Thread] Current Thread [Next in Thread>