* I see no reason for the fActive check here. Until Ingo enlightens me, this
fixes bug #5947, IOW BePDF should now close fine again :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37836 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -390,7 +390,7 @@ Inode::WriteDataToBuffer(const void *_data, size_t *_length, bool nonBlocking)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// write only as long as there are readers left
|
// write only as long as there are readers left
|
||||||
if (fReaderCount == 0 && fActive) {
|
if (fReaderCount == 0) {
|
||||||
if (written == 0)
|
if (written == 0)
|
||||||
send_signal(find_thread(NULL), SIGPIPE);
|
send_signal(find_thread(NULL), SIGPIPE);
|
||||||
return EPIPE;
|
return EPIPE;
|
||||||
@@ -442,7 +442,7 @@ Inode::ReadDataFromBuffer(void *data, size_t *_length, bool nonBlocking,
|
|||||||
if (nonBlocking)
|
if (nonBlocking)
|
||||||
return B_WOULD_BLOCK;
|
return B_WOULD_BLOCK;
|
||||||
|
|
||||||
if (fActive && fWriterCount == 0)
|
if (fWriterCount == 0)
|
||||||
return B_OK;
|
return B_OK;
|
||||||
|
|
||||||
TRACE("Inode %p::%s(): wait for data, request %p\n", this, __FUNCTION__,
|
TRACE("Inode %p::%s(): wait for data, request %p\n", this, __FUNCTION__,
|
||||||
|
|||||||
Reference in New Issue
Block a user