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
This commit is contained in:
Axel Dörfler
2005-02-27 16:18:07 +00:00
parent 8496c38a3d
commit a2634a4246
+4 -3
View File
@@ -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)