From: Samuel Thibault Date: Sun, 5 Jan 2020 17:09:13 +0000 (+0100) Subject: hurd: Fix message reception for timer_thread X-Git-Tag: glibc-2.31~48 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cbce69e70dc4b04fefcc7257e593733b8b03856c;p=thirdparty%2Fglibc.git 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. --- diff --git a/sysdeps/mach/hurd/setitimer.c b/sysdeps/mach/hurd/setitimer.c index 4a6fd1fe339..b16f4ddd5da 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);