diff options
| author | Garrett D'Amore <garrett@damore.org> | 2018-08-14 15:57:57 +0500 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2018-08-14 15:57:57 +0500 |
| commit | 77311bfcc94bba96cdee73ddcd1ac9a6d0ed17d2 (patch) | |
| tree | 2a6e124e6121738d3628fdf6b227b076875b85d2 /src/core/sockimpl.h | |
| parent | 6c6bdba20795166d2909adfecfa2d152de410101 (diff) | |
| download | nng-77311bfcc94bba96cdee73ddcd1ac9a6d0ed17d2.tar.gz nng-77311bfcc94bba96cdee73ddcd1ac9a6d0ed17d2.tar.bz2 nng-77311bfcc94bba96cdee73ddcd1ac9a6d0ed17d2.zip | |
fixes #208 pipe start should occur before connect / accept
fixes #599 nng_dial sync should not return until added to socket
This reintroduces the changes for the above fixes, building upon the
transport modifications that we have made to eliminate the separate
transport pipe start entry point. It also includes slightly reworked
code during start to put a hold on the pipe when it is created, which
we we drop at the end, hopefully fixing a use-after-free.
Diffstat (limited to 'src/core/sockimpl.h')
| -rw-r--r-- | src/core/sockimpl.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/core/sockimpl.h b/src/core/sockimpl.h index 569e5cae..29e83f7a 100644 --- a/src/core/sockimpl.h +++ b/src/core/sockimpl.h @@ -78,7 +78,6 @@ struct nni_pipe { nni_mtx p_mtx; nni_cv p_cv; nni_reap_item p_reap; - nni_aio * p_start_aio; }; extern int nni_sock_add_dialer(nni_sock *, nni_dialer *); @@ -87,14 +86,14 @@ extern void nni_sock_remove_dialer(nni_sock *, nni_dialer *); extern int nni_sock_add_listener(nni_sock *, nni_listener *); extern void nni_sock_remove_listener(nni_sock *, nni_listener *); -extern void nni_dialer_add_pipe(nni_dialer *, nni_pipe *); +extern void nni_dialer_add_pipe(nni_dialer *, void *); extern void nni_dialer_shutdown(nni_dialer *); extern void nni_dialer_reap(nni_dialer *); extern void nni_dialer_destroy(nni_dialer *); extern void nni_dialer_timer_start(nni_dialer *); extern void nni_dialer_close_rele(nni_dialer *); -extern void nni_listener_add_pipe(nni_listener *, nni_pipe *); +extern void nni_listener_add_pipe(nni_listener *, void *); extern void nni_listener_shutdown(nni_listener *); extern void nni_listener_reap(nni_listener *); extern void nni_listener_destroy(nni_listener *); |
