diff options
author | Bartosz Golaszewski <bartosz.golaszewski@linaro.org> | 2023-03-10 10:24:04 +0100 |
---|---|---|
committer | Bartosz Golaszewski <bartosz.golaszewski@linaro.org> | 2023-03-12 14:44:27 +0100 |
commit | 6f4b3297b1b61ebb065eb647eb7f6347f315898a (patch) | |
tree | 57e118159d8b91f4ef9a509dc7e45e0092a7972f | |
parent | 369fc1d3ae86751dfca0b1555b9c4cbf5c1f40e1 (diff) | |
download | libgpiod-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.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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; |