mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
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.
This commit is contained in:
@@ -80,6 +80,7 @@ timer_thread (void)
|
|||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
mach_msg_header_t header;
|
mach_msg_header_t header;
|
||||||
|
mach_msg_type_t return_code_type;
|
||||||
error_t return_code;
|
error_t return_code;
|
||||||
} msg;
|
} msg;
|
||||||
|
|
||||||
@@ -89,7 +90,7 @@ timer_thread (void)
|
|||||||
_hurd_itimerval. */
|
_hurd_itimerval. */
|
||||||
err = __mach_msg (&msg.header,
|
err = __mach_msg (&msg.header,
|
||||||
MACH_RCV_MSG|MACH_RCV_TIMEOUT|MACH_RCV_INTERRUPT,
|
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_sec * 1000
|
||||||
+ _hurd_itimerval.it_value.tv_usec / 1000,
|
+ _hurd_itimerval.it_value.tv_usec / 1000,
|
||||||
MACH_PORT_NULL);
|
MACH_PORT_NULL);
|
||||||
|
Reference in New Issue
Block a user