mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-13 23:20:00 -04:00
3543. [bug] Update socket stucture before attaching to socket
manager after accert. [RT #33084]
This commit is contained in:
parent
92da7a90dc
commit
a8572209bc
2 changed files with 12 additions and 8 deletions
3
CHANGES
3
CHANGES
|
|
@ -1,3 +1,6 @@
|
|||
3543. [bug] Update socket stucture before attaching to socket
|
||||
manager after accert. [RT #33084]
|
||||
|
||||
3541. [bug] The parts if libdns was not being properly initialized
|
||||
in when built in libexport mode. [RT #33028]
|
||||
|
||||
|
|
|
|||
|
|
@ -3274,14 +3274,6 @@ internal_accept(isc_task_t *me, isc_event_t *ev) {
|
|||
if (fd != -1) {
|
||||
int lockid = FDLOCK_ID(fd);
|
||||
|
||||
LOCK(&manager->fdlock[lockid]);
|
||||
manager->fds[fd] = NEWCONNSOCK(dev);
|
||||
manager->fdstate[fd] = MANAGED;
|
||||
UNLOCK(&manager->fdlock[lockid]);
|
||||
|
||||
LOCK(&manager->lock);
|
||||
ISC_LIST_APPEND(manager->socklist, NEWCONNSOCK(dev), link);
|
||||
|
||||
NEWCONNSOCK(dev)->fd = fd;
|
||||
NEWCONNSOCK(dev)->bound = 1;
|
||||
NEWCONNSOCK(dev)->connected = 1;
|
||||
|
|
@ -3296,6 +3288,13 @@ internal_accept(isc_task_t *me, isc_event_t *ev) {
|
|||
*/
|
||||
dev->address = NEWCONNSOCK(dev)->peer_address;
|
||||
|
||||
LOCK(&manager->fdlock[lockid]);
|
||||
manager->fds[fd] = NEWCONNSOCK(dev);
|
||||
manager->fdstate[fd] = MANAGED;
|
||||
UNLOCK(&manager->fdlock[lockid]);
|
||||
|
||||
LOCK(&manager->lock);
|
||||
|
||||
#ifdef USE_SELECT
|
||||
if (manager->maxfd < fd)
|
||||
manager->maxfd = fd;
|
||||
|
|
@ -3306,6 +3305,8 @@ internal_accept(isc_task_t *me, isc_event_t *ev) {
|
|||
"accepted connection, new socket %p",
|
||||
dev->newsocket);
|
||||
|
||||
ISC_LIST_APPEND(manager->socklist, NEWCONNSOCK(dev), link);
|
||||
|
||||
UNLOCK(&manager->lock);
|
||||
|
||||
inc_stats(manager->stats, sock->statsindex[STATID_ACCEPT]);
|
||||
|
|
|
|||
Loading…
Reference in a new issue