[PATCH glibc 3/3] rseq registration tests (v10)
Mathieu Desnoyers
mathieu.desnoyers@efficios.com
Wed May 27 15:30:55 GMT 2020
----- On May 27, 2020, at 11:21 AM, Florian Weimer fweimer@redhat.com wrote:
> * Mathieu Desnoyers:
>
>> ----- On May 27, 2020, at 11:12 AM, Florian Weimer fweimer@redhat.com wrote:
>>
>>> * Mathieu Desnoyers:
>>>
>>>>>>>> + retpid = TEMP_FAILURE_RETRY (waitpid (pid, &status, 0));
>>>>>>>> + if (retpid != pid)
>>>>>>>> + {
>>>>>>>> + FAIL_EXIT1 ("waitpid returned %ld, expected %ld",
>>>>>>>> + (long int) retpid, (long int) pid);
>>>>>>>> + }
>>>>>>>
>>>>>>> Hmm. Is the TEMP_FAILURE_RETRY really needed? Our xwaitpid does not
>>>>>>> have this.
>>>>>>
>>>>>> Then how does it deal with a signal interrupting the system call performing
>>>>>> the waitpid (EINTR) ? I do not see WNOHANG being used.
>>>>>
>>>>> It obscures spurious signals. In most test cases, if an unexpected
>>>>> signal is delivered, something is quite wrong indeed. This is why we
>>>>> don't generally hide EINTR errors.
>>>>
>>>> So it means you may have trouble using tools like strace and gdb on those
>>>> tests ? AFAIU those are heavy users of SIGSTOP and SIGCONT. Similarly for
>>>> profilers, those usually rely on a timer-driven signal.
>>>
>>> I have never seen any problems with strace due to this. ptrace has
>>> become a bit more transparent to the tracee since the early days, I
>>> think.
>>>
>>> I haven't seen problems under GDB, either, but then tests that fork can
>>> be rather annoying to debug anyway.
>>
>> OK so I'll use the xwaitpid wrapper and let this be someone else's problem.
>
> Yes please. Or support_isolate_in_subprocess.
Right, even better, thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
More information about the Libc-alpha
mailing list