diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-01-05 18:09:13 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-01-05 18:09:13 +0100 |
commit | cbce69e70dc4b04fefcc7257e593733b8b03856c (patch) | |
tree | 4304585996e3a547cce0bd204e90ee27a7d964aa /sysdeps/mach/hurd/setitimer.c | |
parent | htl: Add __errno_location and __h_errno_location (diff) | |
download | glibc-cbce69e70dc4b04fefcc7257e593733b8b03856c.tar.gz glibc-cbce69e70dc4b04fefcc7257e593733b8b03856c.tar.bz2 glibc-cbce69e70dc4b04fefcc7257e593733b8b03856c.zip |
hurd: Fix message reception for timer_thread
Without a proper size, we get MACH_RCV_TOO_LARGE instead of MACH_MSG_SUCCESS.
* sysdeps/mach/hurd/setitimer.c (timer_thread): Add return_code_type
field to received message, and set the receive size in __mach_msg call.
Diffstat (limited to 'sysdeps/mach/hurd/setitimer.c')
-rw-r--r-- | sysdeps/mach/hurd/setitimer.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sysdeps/mach/hurd/setitimer.c b/sysdeps/mach/hurd/setitimer.c index 4a6fd1fe33..b16f4ddd5d 100644 --- a/sysdeps/mach/hurd/setitimer.c +++ b/sysdeps/mach/hurd/setitimer.c @@ -80,6 +80,7 @@ timer_thread (void) struct { mach_msg_header_t header; + mach_msg_type_t return_code_type; error_t return_code; } msg; @@ -89,7 +90,7 @@ timer_thread (void) _hurd_itimerval. */ err = __mach_msg (&msg.header, MACH_RCV_MSG|MACH_RCV_TIMEOUT|MACH_RCV_INTERRUPT, - 0, 0, _hurd_itimer_port, + 0, sizeof(msg), _hurd_itimer_port, _hurd_itimerval.it_value.tv_sec * 1000 + _hurd_itimerval.it_value.tv_usec / 1000, MACH_PORT_NULL); |