mirror of
https://github.com/cesanta/mongoose.git
synced 2026-10-12 10:13:29 +00:00
Merge pull request #437 from jhnwkmn/nsf-close-immediately
If socket is about to be closed do not add to [read|write]_set.
This commit is contained in:
+11
-10
@@ -1024,18 +1024,19 @@ time_t ns_mgr_poll(struct ns_mgr *mgr, int milli) {
|
||||
if (!(conn->flags & (NSF_LISTENING | NSF_CONNECTING))) {
|
||||
ns_call(conn, NS_POLL, ¤t_time);
|
||||
}
|
||||
if (!(conn->flags & NSF_WANT_WRITE)) {
|
||||
//DBG(("%p read_set", conn));
|
||||
ns_add_to_set(conn->sock, &read_set, &max_fd);
|
||||
}
|
||||
if (((conn->flags & NSF_CONNECTING) && !(conn->flags & NSF_WANT_READ)) ||
|
||||
(conn->send_iobuf.len > 0 && !(conn->flags & NSF_CONNECTING) &&
|
||||
!(conn->flags & NSF_BUFFER_BUT_DONT_SEND))) {
|
||||
//DBG(("%p write_set", conn));
|
||||
ns_add_to_set(conn->sock, &write_set, &max_fd);
|
||||
}
|
||||
if (conn->flags & NSF_CLOSE_IMMEDIATELY) {
|
||||
ns_close_conn(conn);
|
||||
} else {
|
||||
if (!(conn->flags & NSF_WANT_WRITE)) {
|
||||
//DBG(("%p read_set", conn));
|
||||
ns_add_to_set(conn->sock, &read_set, &max_fd);
|
||||
}
|
||||
if (((conn->flags & NSF_CONNECTING) && !(conn->flags & NSF_WANT_READ)) ||
|
||||
(conn->send_iobuf.len > 0 && !(conn->flags & NSF_CONNECTING) &&
|
||||
!(conn->flags & NSF_BUFFER_BUT_DONT_SEND))) {
|
||||
//DBG(("%p write_set", conn));
|
||||
ns_add_to_set(conn->sock, &write_set, &max_fd);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user