From cbce69e70dc4b04fefcc7257e593733b8b03856c Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 5 Jan 2020 18:09:13 +0100 Subject: 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. --- sysdeps/mach/hurd/setitimer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'sysdeps/mach') 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); -- cgit 1.4.1