This is an automated email from the ASF dual-hosted git repository.
kou pushed a commit to branch main
in repository
https://gitbox.apache.org/repos/asf/arrow-flight-sql-postgresql.git
The following commit(s) were added to refs/heads/main by this push:
new 5b80f64 Fix read/write deadlock (#164)
5b80f64 is described below
commit 5b80f64ef3419a3909e4d7154a14930763e9ea0d
Author: Sutou Kouhei <[email protected]>
AuthorDate: Mon Nov 13 14:09:00 2023 +0900
Fix read/write deadlock (#164)
Close GH-163
We just need to check whether target size is 0 or greater to detect new
readable data/writable space.
---
src/afs.cc | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/afs.cc b/src/afs.cc
index 8b293fd..1c792bc 100644
--- a/src/afs.cc
+++ b/src/afs.cc
@@ -576,7 +576,6 @@ class Processor {
auto get_target_size =
read ? [](SharedRingBuffer* buffer) { return
buffer->rest_size(); }
: [](SharedRingBuffer* buffer) { return
buffer->size(); };
- auto targetSize = get_target_size(buffer);
if (runInPGThread_)
{
while (true)
@@ -599,7 +598,7 @@ class Processor {
peerName,
get_target_size(buffer),
targetSize);
- if (get_target_size(buffer) !=
targetSize)
+ if (get_target_size(buffer) > 0)
{
break;
}
@@ -624,7 +623,7 @@ class Processor {
{
return true;
}
- return get_target_size(buffer) != targetSize;
+ return get_target_size(buffer) > 0;
});
}
return arrow::Status::OK();