bind9/lib
Witold Kręcicki fd8788eb94 Fix possible race in socket destruction.
When two threads unreferenced handles coming from one socket while
the socket was being destructed we could get a use-after-free:
Having handle H1 coming from socket S1, H2 coming from socket S2,
S0 being a parent socket to S1 and S2:

Thread A                             Thread B
Unref handle H1                      Unref handle H2
Remove H1 from S1 active handles     Remove H2 from S2 active handles
nmsocket_maybe_destroy(S1)           nmsocket_maybe_destroy(S2)
nmsocket_maybe_destroy(S0)           nmsocket_maybe_destroy(S0)
LOCK(S0->lock)
Go through all children, figure
out that we have no more active
handles:
sum of S0->children[i]->ah == 0
UNLOCK(S0->lock)
destroy(S0)
                                     LOCK(S0->lock)
                                      - but S0 is already gone
2020-01-20 22:28:36 +01:00
..
bind9 prep 9.15.8 2020-01-16 08:01:20 +00:00
dns prep 9.15.8 2020-01-16 08:01:20 +00:00
irs prep 9.15.7 2019-12-12 23:59:39 +00:00
isc Fix possible race in socket destruction. 2020-01-20 22:28:36 +01:00
isccc Make VS solution upgrading unnecessary 2019-09-26 15:11:15 +02:00
isccfg prep 9.15.7 2019-12-12 23:59:39 +00:00
ns clean up some handle/client reference counting errors in error cases. 2020-01-20 22:28:36 +01:00
samples add support for DS trust anchors in delv 2019-11-15 15:47:57 -08:00
win32/bindevt Make VS solution upgrading unnecessary 2019-09-26 15:11:15 +02:00
.gitignore added gitignore, removed cvsignore 2012-03-03 23:10:05 -08:00
Kyuafile link in lib/isccc/tests/Kyuafile 2018-11-13 07:23:36 +11:00
Makefile.in remove lib/tests as nothing uses it anymore 2018-03-09 14:12:50 -08:00