diff mbox series

[libgpiod] core: make the chip file descriptor blocking

Message ID 20230310092932.51756-1-brgl@bgdev.pl
State New
Headers show
Series [libgpiod] core: make the chip file descriptor blocking | expand

Commit Message

Bartosz Golaszewski March 10, 2023, 9:29 a.m. UTC
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

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>
---
 lib/chip.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/lib/chip.c b/lib/chip.c
index 507c79d..7d4d21e 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;