From a2634a4246e4e10f115c02f72bc1d99621c87a63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Sun, 27 Feb 2005 16:18:07 +0000 Subject: [PATCH] Actually, ports do support both, B_RELATIVE_TIMEOUT and B_ABSOLUTE_TIMEOUT - thanks to Ingo for the hint. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11500 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kernel/core/port.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/kernel/core/port.c b/src/kernel/core/port.c index dbdc433873..02ef037a9d 100644 --- a/src/kernel/core/port.c +++ b/src/kernel/core/port.c @@ -878,8 +878,8 @@ read_port_etc(port_id id, int32 *_msgCode, void *msgBuffer, size_t bufferSize, || timeout < 0) return B_BAD_VALUE; - flags = flags & (B_CAN_INTERRUPT | B_KILL_CAN_INTERRUPT | B_TIMEOUT); - // ToDo: We don't support absolute timeouts here? + flags = flags & (B_CAN_INTERRUPT | B_KILL_CAN_INTERRUPT + | B_RELATIVE_TIMEOUT | B_ABSOLUTE_TIMEOUT); slot = id % sMaxPorts; state = disable_interrupts(); @@ -981,7 +981,8 @@ write_port_etc(port_id id, int32 msgCode, const void *msgBuffer, return B_BAD_PORT_ID; // mask irrelevant flags (for acquire_sem() usage) - flags = flags & (B_CAN_INTERRUPT | B_KILL_CAN_INTERRUPT | B_TIMEOUT); + flags = flags & (B_CAN_INTERRUPT | B_KILL_CAN_INTERRUPT + | B_RELATIVE_TIMEOUT | B_ABSOLUTE_TIMEOUT); slot = id % sMaxPorts; if (bufferSize > PORT_MAX_MESSAGE_SIZE)