Re: [PATCH glibc-2.44] Fix __pthread_timedblock for hurd
Damien Zammit <[email protected]>
| Newsgroups | gmane.os.hurd.bugs |
|---|---|
| Message-ID | <[email protected]> |
On 23/8/26 9:24 pm, Samuel Thibault wrote: > Samuel Thibault, le dim. 23 août 2026 11:16:59 +0200, a ecrit: >> Samuel Thibault, le dim. 23 août 2026 11:11:52 +0200, a ecrit: >>> Samuel Thibault, le dim. 23 août 2026 10:24:52 +0200, a ecrit: >>>> One thing that is a bug, however, is the program below, which stays >>>> blocked because the mach_msg calling loop keeps using the same timeout. >>>> >>>> We probably need a version that takes a clock_id and an absolute time, >>>> and does the clock_gettime call itself on each mach_msg calling loop. >>> Or probably simpler: make __pthread_timedblock always pass >>> MACH_RCV_INTERRUPT to __mach_msg, but loop around if it returns EINTR >>> and MACH_RCV_INTERRUPT was not in MSG_OPTIONS. >> Could you try this? Currently: demo@zamhurd64:~$ gcc ptcond.c -o ptcond -lpthread demo@zamhurd64:~$ ./ptcond waiting handle handle handle handle handle handle handle handle handle handle handle handle handle handle handle handle handle handle handle handle handle ^C demo@zamhurd64:~$ With your patch: demo@zamhurd64:~$ ./ptcond waiting handle handle handle handle waited demo@zamhurd64:~$ Damien