callback-rxcon-protection-20031114
authorDerrick Brashear <shadow@dementia.org>
Sat, 15 Nov 2003 03:08:10 +0000 (03:08 +0000)
committerDerrick Brashear <shadow@dementia.org>
Sat, 15 Nov 2003 03:08:10 +0000 (03:08 +0000)
commit4458dd4410207fcdf8dec6789f0397adc6ce7b01
tree2de7b74456caea155dc12d0b72a1dca9aef26d6c
parent423c279a498ac4f691522f6d11e67921fd3d79e0
callback-rxcon-protection-20031114

FIXES 2498

        CheckHost() sets the HOSTDELETED flag on a host, does its
        touch, calls H_UNLOCK at the end of its function;
        AddCallBCal1 in a different thread grabs the lock, does its
        thing.  Gets to GetSomeSpace_r(), which calls
        h_Enumerate_r; the host in question isn't held, so
        h_Enumerate_r calls h_Hold_r and h_Release_r on the host
        that CheckHost() set the HOSTDELETED flag on; h_Release_r
        sees the HOSTDELETED flag and calls h_TossStuff_r, poof, we
        have our broken host entry for ClearHostCallbacks_r to trip
src/viced/callback.c