unix: check UV_CLOSING flag in uv__write()

uv__write() runs after the read callbacks have fired. Said callbacks may have
closed the handle, handle that graciously.
This commit is contained in:
Ben Noordhuis 2011-12-05 16:56:28 +01:00
parent 34e95d1a4c
commit 0db3274f8a

View File

@ -341,6 +341,13 @@ static void uv__write(uv_stream_t* stream) {
int iovcnt;
ssize_t n;
if (stream->flags & UV_CLOSING) {
/* Handle was closed this tick. We've received a stale
* 'is writable' callback from the event loop, ignore.
*/
return;
}
start:
assert(stream->fd >= 0);