mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
Attempt to track down bug in conn->package_window
svn:r415
This commit is contained in:
parent
ee0440f908
commit
14c8bc598b
@ -405,6 +405,10 @@ void circuit_resume_edge_reading(circuit_t *circ, int edge_type, crypt_path_t *l
|
||||
(edge_type == EDGE_AP && conn->package_window > 0 && conn->cpath_layer == layer_hint)) {
|
||||
connection_start_reading(conn);
|
||||
connection_package_raw_inbuf(conn); /* handle whatever might still be on the inbuf */
|
||||
|
||||
/* If the circuit won't accept any more data, return without looking
|
||||
* at any more of the streams. Any connections that should be stopped
|
||||
* have already been stopped by connection_package_raw_inbuf. */
|
||||
if(circuit_consider_stop_edge_reading(circ, edge_type, layer_hint))
|
||||
return;
|
||||
}
|
||||
|
@ -564,6 +564,7 @@ int connection_package_raw_inbuf(connection_t *conn) {
|
||||
assert(!connection_speaks_cells(conn));
|
||||
|
||||
repeat_connection_package_raw_inbuf:
|
||||
assert(conn->package_window > 0);
|
||||
|
||||
circ = circuit_get_by_conn(conn);
|
||||
if(!circ) {
|
||||
@ -620,13 +621,12 @@ repeat_connection_package_raw_inbuf:
|
||||
}
|
||||
|
||||
assert(conn->package_window > 0);
|
||||
conn->package_window--;
|
||||
// if(--conn->package_window <= 0) { /* is it 0 after decrement? */
|
||||
// connection_stop_reading(conn);
|
||||
// log_fn(LOG_DEBUG,"conn->package_window reached 0.");
|
||||
// circuit_consider_stop_edge_reading(circ, conn->type, conn->cpath_layer);
|
||||
// return 0; /* don't process the inbuf any more */
|
||||
// }
|
||||
if(--conn->package_window <= 0) { /* is it 0 after decrement? */
|
||||
connection_stop_reading(conn);
|
||||
log_fn(LOG_DEBUG,"conn->package_window reached 0.");
|
||||
circuit_consider_stop_edge_reading(circ, conn->type, conn->cpath_layer);
|
||||
return 0; /* don't process the inbuf any more */
|
||||
}
|
||||
log_fn(LOG_DEBUG,"conn->package_window is now %d",conn->package_window);
|
||||
|
||||
/* handle more if there's more, or return 0 if there isn't */
|
||||
|
Loading…
Reference in New Issue
Block a user