소스 검색

fix duplicate call to connection_mark_for_close

svn:r1187
Roger Dingledine 21 년 전
부모
커밋
e2881631cf
1개의 변경된 파일1개의 추가작업 그리고 0개의 파일을 삭제
  1. 1 0
      src/or/connection_edge.c

+ 1 - 0
src/or/connection_edge.c

@@ -215,6 +215,7 @@ int connection_edge_process_relay_cell(cell_t *cell, circuit_t *circ, connection
     if(rh.command == RELAY_COMMAND_END) {
     if(rh.command == RELAY_COMMAND_END) {
       log_fn(LOG_INFO,"Exit got end (%s) before we're connected. Marking for close.",
       log_fn(LOG_INFO,"Exit got end (%s) before we're connected. Marking for close.",
         connection_edge_end_reason(cell->payload+RELAY_HEADER_SIZE, rh.length));
         connection_edge_end_reason(cell->payload+RELAY_HEADER_SIZE, rh.length));
+      conn->has_sent_end = 1; /* we just got an 'end', don't need to send one */
       connection_mark_for_close(conn, 0);
       connection_mark_for_close(conn, 0);
       return 0;
       return 0;
     }
     }