[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #5263 [Tor Relay]: Busy/infinite Libevent loops
#5263: Busy/infinite Libevent loops
------------------------+---------------------------------------------------
Reporter: robgjansen | Owner:
Type: defect | Status: needs_review
Priority: major | Milestone: Tor: 0.2.3.x-final
Component: Tor Relay | Version:
Keywords: | Parent:
Points: | Actualpoints:
------------------------+---------------------------------------------------
Comment(by nickm):
wrt the OR_CONN_STATE_TLS_SERVER_RENEGOTIATING issue -- I think the
problem might be here, around line 2818 (in master connection.c) :
{{{
case TOR_TLS_WANTWRITE:
connection_start_writing(conn);
return 0;
case TOR_TLS_WANTREAD: /* we're already reading */
case TOR_TLS_DONE: /* no data read, so nothing to process */
result = 0;
break; /* so we call bucket_decrement below */
}}}
The "wantread" case isn't correct if connection_handle_read is called from
connection_handle_write_impl. I think instead it should say something
like
{{{
case TOR_TLS_WANTREAD:
if (connection_is_writing(conn))
stop writing.
if (! connection_is_reading(conn))
start reading
...
}}}
or something of that kind. (Very sleepy now; I may be doing this poorly;
please read the above critically.)
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/5263#comment:17>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs