]> granicus.if.org Git - transmission/commitdiff
(trunk libT) back out r8765. xref: http://trac.transmissionbt.com/ticket/2253#comment:13
authorCharles Kerr <charles@transmissionbt.com>
Sat, 18 Jul 2009 01:09:56 +0000 (01:09 +0000)
committerCharles Kerr <charles@transmissionbt.com>
Sat, 18 Jul 2009 01:09:56 +0000 (01:09 +0000)
libtransmission/peer-io.c

index 89caf8574c76d1912d4e07c8d35c84a1e0c1a773..c97b1939f51d1c8bb023b11b23d310d9322e626e 100644 (file)
@@ -268,11 +268,9 @@ tr_evbuffer_write( tr_peerIo * io, int fd, size_t howmuch )
         evbuffer_drain( buffer, n );
 
     /* keep the iobuf's excess capacity from growing too large */
-    if( buffer->totallen > ( EVBUFFER_LENGTH( buffer ) + 4096 ) ) {
-        struct evbuffer * swap = evbuffer_new( );
-        evbuffer_add( swap, EVBUFFER_DATA( buffer ), EVBUFFER_LENGTH( buffer ) );
-        evbuffer_free( buffer );
-        io->outbuf = swap;
+    if( EVBUFFER_LENGTH( io->outbuf ) == 0 ) {
+        evbuffer_free( io->outbuf );
+        io->outbuf = evbuffer_new( );
     }
 
     return n;