From d0cdeff06ae804520590052b134e296bea9910a3 Mon Sep 17 00:00:00 2001 From: Jan Friesse Date: Wed, 26 Aug 2020 14:45:03 +0200 Subject: [PATCH] pr-poll-loop: Add support for PR_POLL_EXCEPT Map PR_POLL_EXCEPT to POLLPRI (as NSPR does). Signed-off-by: Jan Friesse --- qdevices/pr-poll-loop.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/qdevices/pr-poll-loop.c b/qdevices/pr-poll-loop.c index 91d24f7..706902f 100644 --- a/qdevices/pr-poll-loop.c +++ b/qdevices/pr-poll-loop.c @@ -92,6 +92,10 @@ poll_events_to_pr_events(short events) res |= PR_POLL_WRITE; } + if (events & POLLPRI) { + res |= PR_POLL_EXCEPT; + } + return (res); } @@ -123,7 +127,7 @@ pr_events_to_poll_events(PRInt16 events) } if (events & PR_POLL_EXCEPT) { - res |= POLLERR; + res |= POLLPRI; } return (res); @@ -142,7 +146,7 @@ pr_poll_loop_add_fd_int(struct pr_poll_loop *poll_loop, int fd, PRFileDesc *prfd assert((prfd != NULL && fd == -1) || (fd != -1 && prfd == NULL)); - if ((events & ~(POLLIN|POLLOUT)) != 0) { + if ((events & ~(POLLIN|POLLOUT|POLLPRI)) != 0) { return (-1); } @@ -275,7 +279,7 @@ int prepare_poll_array(struct pr_poll_loop *poll_loop) res = 0; } - if ((events & ~(POLLIN|POLLOUT)) != 0) { + if ((events & ~(POLLIN|POLLOUT|POLLPRI)) != 0) { return (-2); } -- 2.39.2