diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-07-16 01:02:09 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-07-16 01:02:09 -0700 |
| commit | 89c4ae87f3d927c8a6a760b6706b3a8e386dfb55 (patch) | |
| tree | 7fa84fbd8076ac262dcc6836653968276738ad18 /src/core/aio.h | |
| parent | a1d237059c652c9e36117eed3e6387dcae128174 (diff) | |
| download | nng-89c4ae87f3d927c8a6a760b6706b3a8e386dfb55.tar.gz nng-89c4ae87f3d927c8a6a760b6706b3a8e386dfb55.tar.bz2 nng-89c4ae87f3d927c8a6a760b6706b3a8e386dfb55.zip | |
AIO timeouts work correctly now, using their own timer logic.
We closed a few subtle races in the AIO subsystem as well, and now
we were able to eliminate the separate timer handling the MQ code.
There appear to be some opportunities to further enhance the code
for MQs as well -- eventually probably the only access to MQs will
be with AIOs.
Diffstat (limited to 'src/core/aio.h')
| -rw-r--r-- | src/core/aio.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/aio.h b/src/core/aio.h index 296b0682..09923d7f 100644 --- a/src/core/aio.h +++ b/src/core/aio.h @@ -52,6 +52,9 @@ struct nni_aio { void (*a_prov_cancel)(nni_aio *); void * a_prov_data; nni_list_node a_prov_node; + + // Expire node. + nni_list_node a_expire_node; }; // nni_aio_init initializes an aio object. The callback is called with @@ -118,4 +121,6 @@ extern int nni_aio_start(nni_aio *, void (*)(nni_aio *), void *); // nni_fini?) // extern void nni_aio_stop(nni_aio *); +extern int nni_aio_sys_init(void); +extern void nni_aio_sys_fini(void); #endif // CORE_AIO_H |
