mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 22:45:39 +00:00
modify reference counting within netmgr
- isc__nmhandle_get() now attaches to the sock in the nmhandle object. the caller is responsible for dereferencing the original socket pointer when necessary. - tcpdns listener sockets attach sock->outer to the outer tcp listener socket. tcpdns connected sockets attach sock->outerhandle to the handle for the tcp connected socket. - only listener sockets need to be attached/detached directly. connected sockets should only be accessed and reference-counted via their associated handles.
This commit is contained in:
committed by
Witold Kręcicki
parent
9e740cad21
commit
5ea26ee1f1
@@ -405,6 +405,7 @@ struct isc_nmsocket {
|
||||
int nchildren;
|
||||
isc_nmiface_t *iface;
|
||||
isc_nmhandle_t *tcphandle;
|
||||
isc_nmhandle_t *outerhandle;
|
||||
|
||||
/*% Extra data allocated at the end of each isc_nmhandle_t */
|
||||
size_t extrahandlesize;
|
||||
@@ -589,6 +590,9 @@ isc__nmhandle_get(isc_nmsocket_t *sock, isc_sockaddr_t *peer,
|
||||
*
|
||||
* If 'local' is not NULL, set the handle's local address to 'local',
|
||||
* otherwise set it to 'sock->iface->addr'.
|
||||
*
|
||||
* 'sock' will be attached to 'handle->sock'. The caller may need
|
||||
* to detach the socket afterward.
|
||||
*/
|
||||
|
||||
isc__nm_uvreq_t *
|
||||
|
Reference in New Issue
Block a user