+3543. [bug] Update socket stucture before attaching to socket
+ manager after accert. [RT #33084]
+
3542. [bug] masterformat system test was broken. [RT #33086]
+3541. [bug] The parts if libdns was not being properly initialized
+ in when built in libexport mode. [RT #33028]
+
3540. [bug] libt_api: t_info and t_assert were not thread safe.
--- 9.6-ESV-R9rc1 released ---
if (fd != -1) {
int lockid = FDLOCK_ID(fd);
- LOCK(&manager->fdlock[lockid]);
- manager->fds[fd] = dev->newsocket;
- manager->fdstate[fd] = MANAGED;
- UNLOCK(&manager->fdlock[lockid]);
-
- LOCK(&manager->lock);
- ISC_LIST_APPEND(manager->socklist, dev->newsocket, link);
-
dev->newsocket->fd = fd;
dev->newsocket->bound = 1;
dev->newsocket->connected = 1;
*/
dev->address = dev->newsocket->peer_address;
+ LOCK(&manager->fdlock[lockid]);
+ manager->fds[fd] = dev->newsocket;
+ manager->fdstate[fd] = MANAGED;
+ UNLOCK(&manager->fdlock[lockid]);
+
+ LOCK(&manager->lock);
+
#ifdef USE_SELECT
if (manager->maxfd < fd)
manager->maxfd = fd;
"accepted connection, new socket %p",
dev->newsocket);
+ ISC_LIST_APPEND(manager->socklist, dev->newsocket, link);
+
UNLOCK(&manager->lock);
inc_stats(manager->stats, sock->statsindex[STATID_ACCEPT]);