aboutsummaryrefslogtreecommitdiff
path: root/src/platform
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform')
-rw-r--r--src/platform/posix/posix_ipcconn.c6
-rw-r--r--src/platform/posix/posix_ipcdial.c4
-rw-r--r--src/platform/posix/posix_ipclisten.c4
-rw-r--r--src/platform/posix/posix_resolv_gai.c13
-rw-r--r--src/platform/posix/posix_tcpconn.c4
-rw-r--r--src/platform/posix/posix_tcpdial.c4
-rw-r--r--src/platform/posix/posix_tcplisten.c4
-rw-r--r--src/platform/posix/posix_udp.c4
-rw-r--r--src/platform/windows/win_iocp.c4
-rw-r--r--src/platform/windows/win_ipcconn.c8
-rw-r--r--src/platform/windows/win_ipcdial.c4
-rw-r--r--src/platform/windows/win_ipclisten.c4
-rw-r--r--src/platform/windows/win_resolv.c13
-rw-r--r--src/platform/windows/win_tcpconn.c8
-rw-r--r--src/platform/windows/win_tcpdial.c4
-rw-r--r--src/platform/windows/win_tcplisten.c4
16 files changed, 47 insertions, 45 deletions
diff --git a/src/platform/posix/posix_ipcconn.c b/src/platform/posix/posix_ipcconn.c
index 5a56d23e..0dae8bae 100644
--- a/src/platform/posix/posix_ipcconn.c
+++ b/src/platform/posix/posix_ipcconn.c
@@ -247,9 +247,9 @@ ipc_conn_cb(nni_posix_pfd *pfd, int events, void *arg)
}
static void
-ipc_conn_cancel(nni_aio *aio, int rv)
+ipc_conn_cancel(nni_aio *aio, void *arg, int rv)
{
- nni_ipc_conn *c = nni_aio_get_prov_data(aio);
+ nni_ipc_conn *c = arg;
nni_mtx_lock(&c->mtx);
if (nni_aio_list_active(aio)) {
@@ -352,7 +352,7 @@ ipc_conn_peerid(nni_ipc_conn *c, uint64_t *euid, uint64_t *egid,
return (0);
#elif defined(NNG_HAVE_SOCKPEERCRED)
struct sockpeercred uc;
- socklen_t len = sizeof(uc);
+ socklen_t len = sizeof(uc);
if (getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &uc, &len) != 0) {
return (nni_plat_errno(errno));
}
diff --git a/src/platform/posix/posix_ipcdial.c b/src/platform/posix/posix_ipcdial.c
index 13732911..3d0ad0d8 100644
--- a/src/platform/posix/posix_ipcdial.c
+++ b/src/platform/posix/posix_ipcdial.c
@@ -78,9 +78,9 @@ nni_ipc_dialer_fini(nni_ipc_dialer *d)
}
static void
-ipc_dialer_cancel(nni_aio *aio, int rv)
+ipc_dialer_cancel(nni_aio *aio, void *arg, int rv)
{
- nni_ipc_dialer *d = nni_aio_get_prov_data(aio);
+ nni_ipc_dialer *d = arg;
nni_ipc_conn * c;
nni_mtx_lock(&d->mtx);
diff --git a/src/platform/posix/posix_ipclisten.c b/src/platform/posix/posix_ipclisten.c
index 7134c4e3..6ac3eaa8 100644
--- a/src/platform/posix/posix_ipclisten.c
+++ b/src/platform/posix/posix_ipclisten.c
@@ -172,9 +172,9 @@ ipc_listener_cb(nni_posix_pfd *pfd, int events, void *arg)
}
static void
-ipc_listener_cancel(nni_aio *aio, int rv)
+ipc_listener_cancel(nni_aio *aio, void *arg, int rv)
{
- nni_ipc_listener *l = nni_aio_get_prov_data(aio);
+ nni_ipc_listener *l = arg;
// This is dead easy, because we'll ignore the completion if there
// isn't anything to do the accept on!
diff --git a/src/platform/posix/posix_resolv_gai.c b/src/platform/posix/posix_resolv_gai.c
index aea823a0..1c56778e 100644
--- a/src/platform/posix/posix_resolv_gai.c
+++ b/src/platform/posix/posix_resolv_gai.c
@@ -57,17 +57,17 @@ struct resolv_item {
};
static void
-resolv_cancel(nni_aio *aio, int rv)
+resolv_cancel(nni_aio *aio, void *arg, int rv)
{
- resolv_item *item;
+ resolv_item *item = arg;
nni_mtx_lock(&resolv_mtx);
- if ((item = nni_aio_get_prov_data(aio)) == NULL) {
+ if (item != nni_aio_get_prov_extra(aio, 0)) {
// Already canceled?
nni_mtx_unlock(&resolv_mtx);
return;
}
- nni_aio_set_prov_data(aio, NULL);
+ nni_aio_set_prov_extra(aio, 0, NULL);
if (nni_aio_list_active(aio)) {
// We have not been picked up by a resolver thread yet,
// so we can just discard everything.
@@ -263,6 +263,7 @@ resolv_ip(const char *host, const char *serv, int passive, int family,
if (resolv_fini) {
rv = NNG_ECLOSED;
} else {
+ nni_aio_set_prov_extra(aio, 0, item);
rv = nni_aio_schedule(aio, resolv_cancel, item);
}
if (rv != 0) {
@@ -310,7 +311,7 @@ resolv_worker(void *notused)
continue;
}
- item = nni_aio_get_prov_data(aio);
+ item = nni_aio_get_prov_extra(aio, 0);
nni_aio_list_remove(aio);
// Now attempt to do the work. This runs synchronously.
@@ -321,7 +322,7 @@ resolv_worker(void *notused)
// Check to make sure we were not canceled.
if ((aio = item->aio) != NULL) {
nng_sockaddr *sa = nni_aio_get_input(aio, 0);
- nni_aio_set_prov_data(aio, NULL);
+ nni_aio_set_prov_extra(aio, 0, NULL);
item->aio = NULL;
memcpy(sa, &item->sa, sizeof(*sa));
nni_aio_finish(aio, rv, 0);
diff --git a/src/platform/posix/posix_tcpconn.c b/src/platform/posix/posix_tcpconn.c
index c0352c55..788c4e9f 100644
--- a/src/platform/posix/posix_tcpconn.c
+++ b/src/platform/posix/posix_tcpconn.c
@@ -243,9 +243,9 @@ tcp_conn_cb(nni_posix_pfd *pfd, int events, void *arg)
}
static void
-tcp_conn_cancel(nni_aio *aio, int rv)
+tcp_conn_cancel(nni_aio *aio, void *arg, int rv)
{
- nni_tcp_conn *c = nni_aio_get_prov_data(aio);
+ nni_tcp_conn *c = arg;
nni_mtx_lock(&c->mtx);
if (nni_aio_list_active(aio)) {
diff --git a/src/platform/posix/posix_tcpdial.c b/src/platform/posix/posix_tcpdial.c
index 21f6ecfe..ab3f3545 100644
--- a/src/platform/posix/posix_tcpdial.c
+++ b/src/platform/posix/posix_tcpdial.c
@@ -78,9 +78,9 @@ nni_tcp_dialer_fini(nni_tcp_dialer *d)
}
static void
-tcp_dialer_cancel(nni_aio *aio, int rv)
+tcp_dialer_cancel(nni_aio *aio, void *arg, int rv)
{
- nni_tcp_dialer *d = nni_aio_get_prov_data(aio);
+ nni_tcp_dialer *d = arg;
nni_tcp_conn * c;
nni_mtx_lock(&d->mtx);
diff --git a/src/platform/posix/posix_tcplisten.c b/src/platform/posix/posix_tcplisten.c
index 8c186885..bc414cd0 100644
--- a/src/platform/posix/posix_tcplisten.c
+++ b/src/platform/posix/posix_tcplisten.c
@@ -165,9 +165,9 @@ tcp_listener_cb(nni_posix_pfd *pfd, int events, void *arg)
}
static void
-tcp_listener_cancel(nni_aio *aio, int rv)
+tcp_listener_cancel(nni_aio *aio, void *arg, int rv)
{
- nni_tcp_listener *l = nni_aio_get_prov_data(aio);
+ nni_tcp_listener *l = arg;
// This is dead easy, because we'll ignore the completion if there
// isn't anything to do the accept on!
diff --git a/src/platform/posix/posix_udp.c b/src/platform/posix/posix_udp.c
index 873a02a1..6b1ef399 100644
--- a/src/platform/posix/posix_udp.c
+++ b/src/platform/posix/posix_udp.c
@@ -269,9 +269,9 @@ nni_plat_udp_close(nni_plat_udp *udp)
}
void
-nni_plat_udp_cancel(nni_aio *aio, int rv)
+nni_plat_udp_cancel(nni_aio *aio, void *arg, int rv)
{
- nni_plat_udp *udp = nni_aio_get_prov_data(aio);
+ nni_plat_udp *udp = arg;
nni_mtx_lock(&udp->udp_mtx);
if (nni_aio_list_active(aio)) {
diff --git a/src/platform/windows/win_iocp.c b/src/platform/windows/win_iocp.c
index b8e95f6c..38807e30 100644
--- a/src/platform/windows/win_iocp.c
+++ b/src/platform/windows/win_iocp.c
@@ -87,9 +87,9 @@ nni_win_iocp_handler(void *arg)
}
static void
-nni_win_event_cancel(nni_aio *aio, int rv)
+nni_win_event_cancel(nni_aio *aio, void *arg, int rv)
{
- nni_win_event *evt = nni_aio_get_prov_data(aio);
+ nni_win_event *evt = arg;
nni_mtx_lock(&evt->mtx);
if (aio == evt->active) {
diff --git a/src/platform/windows/win_ipcconn.c b/src/platform/windows/win_ipcconn.c
index d8ef4e4e..d4e7f5ac 100644
--- a/src/platform/windows/win_ipcconn.c
+++ b/src/platform/windows/win_ipcconn.c
@@ -100,9 +100,9 @@ ipc_recv_cb(nni_win_io *io, int rv, size_t num)
nni_aio_finish_synch(aio, rv, num);
}
static void
-ipc_recv_cancel(nni_aio *aio, int rv)
+ipc_recv_cancel(nni_aio *aio, void *arg, int rv)
{
- nni_ipc_conn *c = nni_aio_get_prov_data(aio);
+ nni_ipc_conn *c = arg;
nni_mtx_lock(&c->mtx);
if (aio == nni_list_first(&c->recv_aios)) {
c->recv_rv = rv;
@@ -226,9 +226,9 @@ ipc_send_cb(nni_win_io *io, int rv, size_t num)
}
static void
-ipc_send_cancel(nni_aio *aio, int rv)
+ipc_send_cancel(nni_aio *aio, void *arg, int rv)
{
- nni_ipc_conn *c = nni_aio_get_prov_data(aio);
+ nni_ipc_conn *c = arg;
nni_mtx_lock(&c->mtx);
if (aio == nni_list_first(&c->send_aios)) {
c->send_rv = rv;
diff --git a/src/platform/windows/win_ipcdial.c b/src/platform/windows/win_ipcdial.c
index 429bcedf..67865687 100644
--- a/src/platform/windows/win_ipcdial.c
+++ b/src/platform/windows/win_ipcdial.c
@@ -134,10 +134,10 @@ ipc_dial_thr(void *arg)
}
static void
-ipc_dial_cancel(nni_aio *aio, int rv)
+ipc_dial_cancel(nni_aio *aio, void *arg, int rv)
{
+ nni_ipc_dialer *d = arg;
ipc_dial_work * w = &ipc_connecter;
- nni_ipc_dialer *d = nni_aio_get_prov_data(aio);
nni_mtx_lock(&w->mtx);
if (nni_aio_list_active(aio)) {
diff --git a/src/platform/windows/win_ipclisten.c b/src/platform/windows/win_ipclisten.c
index 20bb8548..0fc1c9fc 100644
--- a/src/platform/windows/win_ipclisten.c
+++ b/src/platform/windows/win_ipclisten.c
@@ -222,9 +222,9 @@ nni_ipc_listener_listen(nni_ipc_listener *l, const nni_sockaddr *sa)
}
static void
-ipc_accept_cancel(nni_aio *aio, int rv)
+ipc_accept_cancel(nni_aio *aio, void *arg, int rv)
{
- nni_ipc_listener *l = nni_aio_get_prov_data(aio);
+ nni_ipc_listener *l = arg;
nni_mtx_unlock(&l->mtx);
if (aio == nni_list_first(&l->aios)) {
diff --git a/src/platform/windows/win_resolv.c b/src/platform/windows/win_resolv.c
index cc876d04..aca07ecb 100644
--- a/src/platform/windows/win_resolv.c
+++ b/src/platform/windows/win_resolv.c
@@ -45,16 +45,16 @@ struct resolv_item {
};
static void
-resolv_cancel(nni_aio *aio, int rv)
+resolv_cancel(nni_aio *aio, void *arg, int rv)
{
- resolv_item *item;
+ resolv_item *item = arg;
nni_mtx_lock(&resolv_mtx);
- if ((item = nni_aio_get_prov_data(aio)) == NULL) {
+ if (item != nni_aio_get_prov_extra(aio, 0)) {
nni_mtx_unlock(&resolv_mtx);
return;
}
- nni_aio_set_prov_data(aio, NULL);
+ nni_aio_set_prov_extra(aio, 0, NULL);
if (nni_aio_list_active(aio)) {
// We have not been picked up by a resolver thread yet,
// so we can just discard everything.
@@ -236,6 +236,7 @@ resolv_ip(const char *host, const char *serv, int passive, int family,
if (resolv_fini) {
rv = NNG_ECLOSED;
} else {
+ nni_aio_set_prov_extra(aio, 0, item);
rv = nni_aio_schedule(aio, resolv_cancel, item);
}
if (rv != 0) {
@@ -283,7 +284,7 @@ resolv_worker(void *notused)
continue;
}
- item = nni_aio_get_prov_data(aio);
+ item = nni_aio_get_prov_extra(aio, 0);
nni_aio_list_remove(aio);
// Now attempt to do the work. This runs synchronously.
@@ -294,7 +295,7 @@ resolv_worker(void *notused)
// Check to make sure we were not canceled.
if ((aio = item->aio) != NULL) {
nng_sockaddr *sa = nni_aio_get_input(aio, 0);
- nni_aio_set_prov_data(aio, NULL);
+ nni_aio_set_prov_extra(aio, 0, NULL);
item->aio = NULL;
memcpy(sa, &item->sa, sizeof(*sa));
nni_aio_finish(aio, rv, 0);
diff --git a/src/platform/windows/win_tcpconn.c b/src/platform/windows/win_tcpconn.c
index 08b759ca..68c72b9b 100644
--- a/src/platform/windows/win_tcpconn.c
+++ b/src/platform/windows/win_tcpconn.c
@@ -96,9 +96,9 @@ tcp_recv_cb(nni_win_io *io, int rv, size_t num)
}
static void
-tcp_recv_cancel(nni_aio *aio, int rv)
+tcp_recv_cancel(nni_aio *aio, void *arg, int rv)
{
- nni_tcp_conn *c = nni_aio_get_prov_data(aio);
+ nni_tcp_conn *c = arg;
nni_mtx_lock(&c->mtx);
if (aio == nni_list_first(&c->recv_aios)) {
c->recv_rv = rv;
@@ -186,9 +186,9 @@ again:
}
static void
-tcp_send_cancel(nni_aio *aio, int rv)
+tcp_send_cancel(nni_aio *aio, void *arg, int rv)
{
- nni_tcp_conn *c = nni_aio_get_prov_data(aio);
+ nni_tcp_conn *c = arg;
nni_mtx_lock(&c->mtx);
if (aio == nni_list_first(&c->send_aios)) {
c->send_rv = rv;
diff --git a/src/platform/windows/win_tcpdial.c b/src/platform/windows/win_tcpdial.c
index 5283ea81..99308ceb 100644
--- a/src/platform/windows/win_tcpdial.c
+++ b/src/platform/windows/win_tcpdial.c
@@ -94,9 +94,9 @@ nni_tcp_dialer_fini(nni_tcp_dialer *d)
}
static void
-tcp_dial_cancel(nni_aio *aio, int rv)
+tcp_dial_cancel(nni_aio *aio, void *arg, int rv)
{
- nni_tcp_dialer *d = nni_aio_get_prov_data(aio);
+ nni_tcp_dialer *d = arg;
nni_tcp_conn * c;
nni_mtx_lock(&d->mtx);
diff --git a/src/platform/windows/win_tcplisten.c b/src/platform/windows/win_tcplisten.c
index 1f197246..f0e195be 100644
--- a/src/platform/windows/win_tcplisten.c
+++ b/src/platform/windows/win_tcplisten.c
@@ -236,9 +236,9 @@ nni_tcp_listener_listen(nni_tcp_listener *l, nni_sockaddr *sa)
}
static void
-tcp_accept_cancel(nni_aio *aio, int rv)
+tcp_accept_cancel(nni_aio *aio, void *arg, int rv)
{
- nni_tcp_listener *l = nni_aio_get_prov_data(aio);
+ nni_tcp_listener *l = arg;
nni_tcp_conn * c;
nni_mtx_lock(&l->mtx);