[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] Consider the case that a connection doesn't have a valid socket during OOS
commit 3efe92ba58137022dd6c61cff9823813218a1a14
Author: Andrea Shepard <andrea@xxxxxxxxxxxxxx>
Date: Sat Aug 20 03:57:32 2016 +0000
Consider the case that a connection doesn't have a valid socket during OOS
---
src/or/connection.c | 5 +++++
src/or/main.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/or/connection.c b/src/or/connection.c
index 713a70c..6b85bfb 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -4587,6 +4587,11 @@ pick_oos_victims, (int n))
tor_assert(c->type <= CONN_TYPE_MAX_);
++(conn_counts_by_type[c->type]);
+ /* Skip anything without a socket we can free */
+ if (!(SOCKET_OK(c->s))) {
+ continue;
+ }
+
/* Skip anything we would count as moribund */
if (connection_is_moribund(c)) {
continue;
diff --git a/src/or/main.c b/src/or/main.c
index 6ab94f5..a1b5954 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -662,7 +662,7 @@ connection_count_moribund, (void))
* runs next.
*/
SMARTLIST_FOREACH_BEGIN(closeable_connection_lst, connection_t *, conn) {
- if (connection_is_moribund(conn)) ++moribund;
+ if (SOCKET_OK(conn->s) && connection_is_moribund(conn)) ++moribund;
} SMARTLIST_FOREACH_END(conn);
return moribund;
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits