BUG/MEDIUM: fd: Don't fd_stop_recv() a fd we don't own.
In fd_takeover(), if we failed to grab the fd, when a double-width compare-and-swap is not implemented, do not call fd_stop_recv() on the fd, it is not ours and may be used by another thread.
This commit is contained in:
parent
f86a106f68
commit
8d7b517824
3
src/fd.c
3
src/fd.c
@ -362,7 +362,8 @@ end:
|
|||||||
* the fd is polled by the thread that used to own it, the new thread
|
* the fd is polled by the thread that used to own it, the new thread
|
||||||
* is supposed to call subscribe() later, to activate polling.
|
* is supposed to call subscribe() later, to activate polling.
|
||||||
*/
|
*/
|
||||||
fd_stop_recv(fd);
|
if (ret != -1)
|
||||||
|
fd_stop_recv(fd);
|
||||||
return ret;
|
return ret;
|
||||||
#else
|
#else
|
||||||
unsigned long old_masks[2];
|
unsigned long old_masks[2];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user