From 875757adef265627e6b72751099f4748ff797208 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Thu, 10 Apr 2008 05:01:21 +0000 Subject: [PATCH] Wait states should be interruptable. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24887 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../kernel/network/protocols/unix/UnixFifo.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/add-ons/kernel/network/protocols/unix/UnixFifo.cpp b/src/add-ons/kernel/network/protocols/unix/UnixFifo.cpp index 00ed97df0b..04e4ee1497 100644 --- a/src/add-ons/kernel/network/protocols/unix/UnixFifo.cpp +++ b/src/add-ons/kernel/network/protocols/unix/UnixFifo.cpp @@ -300,8 +300,8 @@ UnixFifo::_Read(Request& request, size_t numBytes, bigtime_t timeout, while (fReaders.Head() != &request && !IsReadShutdown()) { benaphore_unlock(&fLock); - status_t error = acquire_sem_etc(fReaderSem, 1, B_ABSOLUTE_TIMEOUT, - timeout); + status_t error = acquire_sem_etc(fReaderSem, 1, + B_ABSOLUTE_TIMEOUT | B_CAN_INTERRUPT, timeout); benaphore_lock(&fLock); @@ -319,8 +319,8 @@ UnixFifo::_Read(Request& request, size_t numBytes, bigtime_t timeout, while (fBuffer.Readable() == 0 && !IsReadShutdown()) { benaphore_unlock(&fLock); - status_t error = acquire_sem_etc(fReaderSem, 1, B_ABSOLUTE_TIMEOUT, - timeout); + status_t error = acquire_sem_etc(fReaderSem, 1, + B_ABSOLUTE_TIMEOUT | B_CAN_INTERRUPT, timeout); benaphore_lock(&fLock); @@ -345,8 +345,8 @@ UnixFifo::_Write(Request& request, net_buffer* buffer, bigtime_t timeout) while (fWriters.Head() != &request && !IsWriteShutdown()) { benaphore_unlock(&fLock); - status_t error = acquire_sem_etc(fWriterSem, 1, B_ABSOLUTE_TIMEOUT, - timeout); + status_t error = acquire_sem_etc(fWriterSem, 1, + B_ABSOLUTE_TIMEOUT | B_CAN_INTERRUPT, timeout); benaphore_lock(&fLock); @@ -364,8 +364,8 @@ UnixFifo::_Write(Request& request, net_buffer* buffer, bigtime_t timeout) while (fBuffer.Writable() < request.size && !IsWriteShutdown()) { benaphore_unlock(&fLock); - status_t error = acquire_sem_etc(fWriterSem, 1, B_ABSOLUTE_TIMEOUT, - timeout); + status_t error = acquire_sem_etc(fWriterSem, 1, + B_ABSOLUTE_TIMEOUT | B_CAN_INTERRUPT, timeout); benaphore_lock(&fLock);