diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-06-29 17:39:41 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-06-29 17:39:41 -0700 |
| commit | f8ac106494444962788dc94e147bd33a3e8cdab6 (patch) | |
| tree | a26dbcb45c4d8bfefbb3f1761b3938eab48bfabe /src/platform/posix/posix_poll.c | |
| parent | 723e39f6c03e241994a2e26b907e41f5bf5db3e7 (diff) | |
| download | nng-f8ac106494444962788dc94e147bd33a3e8cdab6.tar.gz nng-f8ac106494444962788dc94e147bd33a3e8cdab6.tar.bz2 nng-f8ac106494444962788dc94e147bd33a3e8cdab6.zip | |
Use common socket handling on POSIX (tcp done, ipc pending.)
Diffstat (limited to 'src/platform/posix/posix_poll.c')
| -rw-r--r-- | src/platform/posix/posix_poll.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/platform/posix/posix_poll.c b/src/platform/posix/posix_poll.c index d309babf..c5c494f6 100644 --- a/src/platform/posix/posix_poll.c +++ b/src/platform/posix/posix_poll.c @@ -53,6 +53,8 @@ struct nni_posix_epdesc { nni_list acceptq; nni_list_node node; nni_posix_pollq * pq; + struct sockaddr_storage locaddr; + struct sockaddr_storage remaddr; }; @@ -78,7 +80,7 @@ struct nni_posix_pollq { static nni_posix_pollq nni_posix_global_pollq; static void -nni_posix_poll_finish(nni_aio *aio, int rv) +nni_posix_pipedesc_finish(nni_aio *aio, int rv) { nni_posix_pipedesc *pd; @@ -120,7 +122,7 @@ nni_posix_poll_write(nni_posix_pipedesc *pd) rv = nni_plat_errno(errno); nni_list_remove(&pd->writeq, aio); - nni_posix_poll_finish(aio, rv); + nni_posix_pipedesc_finish(aio, rv); return; } @@ -148,7 +150,7 @@ nni_posix_poll_write(nni_posix_pipedesc *pd) // We completed the entire operation on this aioq. nni_list_remove(&pd->writeq, aio); - nni_posix_poll_finish(aio, 0); + nni_posix_pipedesc_finish(aio, 0); // Go back to start of loop to see if there is another // aioq ready for us to process. @@ -183,13 +185,13 @@ nni_posix_poll_read(nni_posix_pipedesc *pd) } rv = nni_plat_errno(errno); - nni_posix_poll_finish(aio, rv); + nni_posix_pipedesc_finish(aio, rv); return; } if (n == 0) { // No bytes indicates a closed descriptor. - nni_posix_poll_finish(aio, NNG_ECLOSED); + nni_posix_pipedesc_finish(aio, NNG_ECLOSED); return; } @@ -216,7 +218,7 @@ nni_posix_poll_read(nni_posix_pipedesc *pd) } // We completed the entire operation on this aioq. - nni_posix_poll_finish(aio, 0); + nni_posix_pipedesc_finish(aio, 0); // Go back to start of loop to see if there is another // aioq ready for us to process. @@ -230,10 +232,10 @@ nni_posix_poll_close(nni_posix_pipedesc *pd) nni_aio *aio; while ((aio = nni_list_first(&pd->readq)) != NULL) { - nni_posix_poll_finish(aio, NNG_ECLOSED); + nni_posix_pipedesc_finish(aio, NNG_ECLOSED); } while ((aio = nni_list_first(&pd->writeq)) != NULL) { - nni_posix_poll_finish(aio, NNG_ECLOSED); + nni_posix_pipedesc_finish(aio, NNG_ECLOSED); } } |
