This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Fix pldd not to leave process stopped after detaching
- From: Andreas Schwab <schwab at suse dot de>
- To: Roland McGrath <roland at hack dot frob dot com>
- Cc: libc-alpha at sourceware dot org
- Date: Wed, 28 Aug 2013 09:09:31 +0200
- Subject: Re: [PATCH] Fix pldd not to leave process stopped after detaching
- Authentication-results: sourceware.org; auth=none
- References: <mvm7gf7h0qy dot fsf at hawking dot suse dot de> <20130827164952 dot 9D5502C0B2 at topped-with-meat dot com>
Roland McGrath <roland@hack.frob.com> writes:
>> + while (waitpid (pid, &status, __WALL) == pid && WIFSTOPPED (status))
>> + {
>> + /* The STOP signal should not be delivered to the tracee. */
>> + if (WSTOPSIG (status) == SIGSTOP)
>> + return;
>> + ptrace (PTRACE_CONT, pid, NULL, (void *) (uintptr_t) WSTOPSIG (status));
>> + }
>
> If ptrace fails, the tracee won't have been resumed and so waitpid could hang.
It cannot fail, since the signal is guaranteed to be valid.
Andreas.
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."