aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>2023-03-10 10:24:04 +0100
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>2023-03-12 14:44:27 +0100
commit6f4b3297b1b61ebb065eb647eb7f6347f315898a (patch)
tree57e118159d8b91f4ef9a509dc7e45e0092a7972f
parent369fc1d3ae86751dfca0b1555b9c4cbf5c1f40e1 (diff)
downloadlibgpiod-6f4b3297b1b61ebb065eb647eb7f6347f315898a.tar.gz
core: make the chip file descriptor blocking
After discussing this a while back we removed the call to fcntl() that would make the request file descriptor non-blocking so that a call to gpiod_line_request_read_edge_events() would block if no events are pending. We agreed that the same behavior should apply to info events and made the docs state that. Unfortunately we still pass the O_NONBLOCK flag to open() making read() called on the chip file descriptor return immediately if no info events are pending. Fix it by removing this flag. Fixes: b7ba732e6a93 ("treewide: libgpiod v2 implementation") Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
-rw-r--r--lib/chip.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/chip.c b/lib/chip.c
index 507c79d9..7d4d21e3 100644
--- a/lib/chip.c
+++ b/lib/chip.c
@@ -30,7 +30,7 @@ GPIOD_API struct gpiod_chip *gpiod_chip_open(const char *path)
if (!gpiod_check_gpiochip_device(path, true))
return NULL;
- fd = open(path, O_RDWR | O_CLOEXEC | O_NONBLOCK);
+ fd = open(path, O_RDWR | O_CLOEXEC);
if (fd < 0)
return NULL;