summaryrefslogtreecommitdiff
path: root/src/platform/posix/posix_pipedesc.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2018-05-05 17:21:55 -0700
committerGarrett D'Amore <garrett@damore.org>2018-05-06 15:23:24 -0700
commite52d205799be922db0c1c63ae48a4921707183b4 (patch)
tree897fb0bc3c0318af1e6c4ced7296efd7f88644dc /src/platform/posix/posix_pipedesc.c
parent916ba1ab23aa50b855fd795f095eaedb328e84d9 (diff)
downloadnng-e52d205799be922db0c1c63ae48a4921707183b4.tar.gz
nng-e52d205799be922db0c1c63ae48a4921707183b4.tar.bz2
nng-e52d205799be922db0c1c63ae48a4921707183b4.zip
fixes #393 panic on illumos - epoll assertion error
This replaces the epoll support with proper illumos/SunOS port events. The port event support is structured so that it actually is superior to epoll and kqueue, because it avoids a single master lock on the poller. In the future we will explore this for macOS and Linux pollers.
Diffstat (limited to 'src/platform/posix/posix_pipedesc.c')
-rw-r--r--src/platform/posix/posix_pipedesc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/platform/posix/posix_pipedesc.c b/src/platform/posix/posix_pipedesc.c
index 3745f11f..e7225395 100644
--- a/src/platform/posix/posix_pipedesc.c
+++ b/src/platform/posix/posix_pipedesc.c
@@ -242,7 +242,7 @@ nni_posix_pipedesc_cb(void *arg)
void
nni_posix_pipedesc_close(nni_posix_pipedesc *pd)
{
- nni_posix_pollq_disarm(&pd->node, POLLIN | POLLOUT);
+ nni_posix_pollq_remove(&pd->node);
nni_mtx_lock(&pd->mtx);
nni_posix_pipedesc_doclose(pd);