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: Roland McGrath <roland at hack dot frob dot com>
- To: Andreas Schwab <schwab at suse dot de>
- Cc: libc-alpha at sourceware dot org
- Date: Tue, 27 Aug 2013 09:49:52 -0700 (PDT)
- 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>
> + 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.