svn commit: r212831 - head/lib/libproc
Rui Paulo
rpaulo at freebsd.org
Sun Sep 19 09:47:21 UTC 2010
On 19 Sep 2010, at 09:01, pluknet wrote:
> On 19 September 2010 03:38, Rui Paulo <rpaulo at freebsd.org> wrote:
>> Author: rpaulo
>> Date: Sat Sep 18 23:38:21 2010
>> New Revision: 212831
>> URL: http://svn.freebsd.org/changeset/base/212831
>>
>> Log:
>> Ignore EINTR when calling waitpid.
>>
>> Modified:
>> head/lib/libproc/proc_util.c
>>
>> Modified: head/lib/libproc/proc_util.c
>> ==============================================================================
>> --- head/lib/libproc/proc_util.c Sat Sep 18 22:37:47 2010 (r212830)
>> +++ head/lib/libproc/proc_util.c Sat Sep 18 23:38:21 2010 (r212831)
>> @@ -145,7 +145,8 @@ proc_wstatus(struct proc_handle *phdl)
>> if (phdl == NULL)
>> return (-1);
>> if (waitpid(phdl->pid, &status, WUNTRACED) < 0) {
>> - warn("waitpid");
>> + if (errno != EINTR)
>> + warn("waitpid");
>> return (-1);
>> }
>> if (WIFSTOPPED(status))
>
> Hi.
>
> After this change the waitpid() error handling still doesn't
> ignore EINTR (well, only warn() ignores EINTR now),
> but it rather returns with -1. Is it intentional?
> I though something more like this was meant in svn log:
>
> while (waitpid(...) < 0)
> if (errno != EINTR) {
> warn("waitpid");
> return (-1);
> }
Maybe the log was badly worded, but the code is right.
Regards,
--
Rui Paulo
More information about the svn-src-head
mailing list