summaryrefslogtreecommitdiff
path: root/opentracker.c
diff options
context:
space:
mode:
Diffstat (limited to 'opentracker.c')
-rw-r--r--opentracker.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/opentracker.c b/opentracker.c
index 7e06044..f29e076 100644
--- a/opentracker.c
+++ b/opentracker.c
@@ -610,8 +610,9 @@ static void handle_read( const int64 clientsocket ) {
610 ssize_t l; 610 ssize_t l;
611 611
612 if( ( l = io_tryread( clientsocket, static_inbuf, sizeof static_inbuf ) ) <= 0 ) { 612 if( ( l = io_tryread( clientsocket, static_inbuf, sizeof static_inbuf ) ) <= 0 ) {
613 if( h && ( h->flag & STRUCT_HTTP_FLAG_ARRAY_USED ) ) { 613 if( h ) {
614 array_reset( &h->request ); 614 if( h->flag & STRUCT_HTTP_FLAG_ARRAY_USED )
615 array_reset( &h->request );
615 free( h ); 616 free( h );
616 } 617 }
617 io_close( clientsocket ); 618 io_close( clientsocket );
@@ -645,7 +646,8 @@ static void handle_read( const int64 clientsocket ) {
645 646
646static void handle_write( const int64 clientsocket ) { 647static void handle_write( const int64 clientsocket ) {
647 struct http_data* h=io_getcookie( clientsocket ); 648 struct http_data* h=io_getcookie( clientsocket );
648 if( !h || ( iob_send( clientsocket, &h->batch ) <= 0 ) ) { 649 if( !h ) return;
650 if( iob_send( clientsocket, &h->batch ) <= 0 ) {
649 iob_reset( &h->batch ); 651 iob_reset( &h->batch );
650 io_close( clientsocket ); 652 io_close( clientsocket );
651 free( h ); 653 free( h );
@@ -666,14 +668,12 @@ static void handle_accept( const int64 serversocket ) {
666 io_close( i ); 668 io_close( i );
667 continue; 669 continue;
668 } 670 }
669 671 io_setcookie( i, h );
670 io_wantread( i ); 672 io_wantread( i );
671 673
672 byte_zero( h, sizeof( struct http_data ) ); 674 byte_zero( h, sizeof( struct http_data ) );
673 memmove( h->ip, ip, sizeof( ip ) ); 675 memmove( h->ip, ip, sizeof( ip ) );
674 676
675 io_setcookie( i, h );
676
677 ++ot_overall_tcp_connections; 677 ++ot_overall_tcp_connections;
678 678
679 /* That breaks taia encapsulation. But there is no way to take system 679 /* That breaks taia encapsulation. But there is no way to take system