From: Charles Kerr Date: Sun, 14 Jun 2009 01:00:36 +0000 (+0000) Subject: (trunk libT) remove the last calls to tr_getBuffer() and tr_releaseBuffer() X-Git-Tag: 1.72~27 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ef21704b58cc07e0e6703356f2eae11ed653d959;p=transmission (trunk libT) remove the last calls to tr_getBuffer() and tr_releaseBuffer() --- diff --git a/libtransmission/bencode-test.c b/libtransmission/bencode-test.c index 18130ae71..93a5eed2c 100644 --- a/libtransmission/bencode-test.c +++ b/libtransmission/bencode-test.c @@ -320,7 +320,7 @@ testJSONSnippet( const char * benc_str, const char * expected ) { tr_benc top; - struct evbuffer * buf = tr_getBuffer( ); + struct evbuffer * buf = evbuffer_new( ); char * serialized; tr_bencLoad( benc_str, strlen( benc_str ), &top, NULL ); @@ -334,7 +334,7 @@ testJSONSnippet( const char * benc_str, #endif check( !strcmp( serialized, expected ) ); tr_bencFree( &top ); - tr_releaseBuffer( buf ); + evbuffer_free( buf ); return 0; } diff --git a/libtransmission/handshake.c b/libtransmission/handshake.c index 2e35d189f..cfe904038 100644 --- a/libtransmission/handshake.c +++ b/libtransmission/handshake.c @@ -332,7 +332,7 @@ sendYa( tr_handshake * handshake ) { int len; const uint8_t * public_key; - struct evbuffer * outbuf = tr_getBuffer( ); + struct evbuffer * outbuf = evbuffer_new( ); uint8_t pad_a[PadA_MAXLEN]; /* add our public key (Ya) */ @@ -351,7 +351,7 @@ sendYa( tr_handshake * handshake ) tr_peerIoWriteBuf( handshake->io, outbuf, FALSE ); /* cleanup */ - tr_releaseBuffer( outbuf ); + evbuffer_free( outbuf ); } static uint32_t @@ -444,7 +444,7 @@ readYb( tr_handshake * handshake, /* now send these: HASH('req1', S), HASH('req2', SKEY) xor HASH('req3', S), * ENCRYPT(VC, crypto_provide, len(PadC), PadC, len(IA)), ENCRYPT(IA) */ - outbuf = tr_getBuffer( ); + outbuf = evbuffer_new( ); /* HASH('req1', S) */ { @@ -501,7 +501,7 @@ readYb( tr_handshake * handshake, tr_peerIoWriteBuf( handshake->io, outbuf, FALSE ); /* cleanup */ - tr_releaseBuffer( outbuf ); + evbuffer_free( outbuf ); return READ_LATER; } @@ -935,7 +935,7 @@ readIA( tr_handshake * handshake, **/ tr_cryptoEncryptInit( handshake->crypto ); - outbuf = tr_getBuffer( ); + outbuf = evbuffer_new( ); dbgmsg( handshake, "sending vc" ); /* send VC */ @@ -955,7 +955,7 @@ readIA( tr_handshake * handshake, else { dbgmsg( handshake, "peer didn't offer an encryption mode we like." ); - tr_releaseBuffer( outbuf ); + evbuffer_free( outbuf ); return tr_handshakeDone( handshake, FALSE ); } @@ -987,7 +987,7 @@ readIA( tr_handshake * handshake, /* send it out */ tr_peerIoWriteBuf( handshake->io, outbuf, FALSE ); - tr_releaseBuffer( outbuf ); + evbuffer_free( outbuf ); /* now await the handshake */ setState( handshake, AWAITING_PAYLOAD_STREAM ); diff --git a/libtransmission/metainfo.c b/libtransmission/metainfo.c index 86f5f0557..5c6787bfd 100644 --- a/libtransmission/metainfo.c +++ b/libtransmission/metainfo.c @@ -61,7 +61,7 @@ getOldTorrentFilename( const tr_session * session, const tr_info * inf ) { char * ret; - struct evbuffer * buf = tr_getBuffer( ); + struct evbuffer * buf = evbuffer_new( ); evbuffer_add_printf( buf, "%s%c%s", tr_getTorrentDir( session ), TR_PATH_DELIMITER, @@ -70,7 +70,7 @@ getOldTorrentFilename( const tr_session * session, evbuffer_add_printf( buf, "-%s", session->tag ); ret = tr_strndup( EVBUFFER_DATA( buf ), EVBUFFER_LENGTH( buf ) ); - tr_releaseBuffer( buf ); + evbuffer_free( buf ); return ret; } @@ -137,7 +137,7 @@ getfile( char ** setme, } else { - struct evbuffer * buf = tr_getBuffer( ); + struct evbuffer * buf = evbuffer_new( ); int n = tr_bencListSize( path ); int i; @@ -155,7 +155,7 @@ getfile( char ** setme, *setme = tr_utf8clean( (char*)EVBUFFER_DATA( buf ), EVBUFFER_LENGTH( buf ), NULL ); /* fprintf( stderr, "[%s]\n", *setme ); */ - tr_releaseBuffer( buf ); + evbuffer_free( buf ); err = 0; } @@ -234,12 +234,12 @@ announceToScrape( const char * announce ) if( ( ( s = strrchr( announce, '/' ) ) ) && !strncmp( ++s, "announce", 8 ) ) { - struct evbuffer * buf = tr_getBuffer( ); + struct evbuffer * buf = evbuffer_new( ); evbuffer_add( buf, announce, s - announce ); evbuffer_add( buf, "scrape", 6 ); evbuffer_add_printf( buf, "%s", s + 8 ); scrape = tr_strdup( EVBUFFER_DATA( buf ) ); - tr_releaseBuffer( buf ); + evbuffer_free( buf ); } return scrape; diff --git a/libtransmission/peer-msgs.c b/libtransmission/peer-msgs.c index db4106cb7..196975cb0 100644 --- a/libtransmission/peer-msgs.c +++ b/libtransmission/peer-msgs.c @@ -209,7 +209,7 @@ myDebug( const char * file, int line, { va_list args; char timestr[64]; - struct evbuffer * buf = tr_getBuffer( ); + struct evbuffer * buf = evbuffer_new( ); char * base = tr_basename( file ); evbuffer_add_printf( buf, "[%s] %s - %s [%s]: ", @@ -225,7 +225,7 @@ myDebug( const char * file, int line, fwrite( EVBUFFER_DATA( buf ), 1, EVBUFFER_LENGTH( buf ), fp ); tr_free( base ); - tr_releaseBuffer( buf ); + evbuffer_free( buf ); } } diff --git a/libtransmission/rpc-server.c b/libtransmission/rpc-server.c index 52be1e342..094e52c69 100644 --- a/libtransmission/rpc-server.c +++ b/libtransmission/rpc-server.c @@ -124,14 +124,14 @@ send_simple_response( struct evhttp_request * req, const char * text ) { const char * code_text = tr_webGetResponseStr( code ); - struct evbuffer * body = tr_getBuffer( ); + struct evbuffer * body = evbuffer_new( ); evbuffer_add_printf( body, "

%d: %s

", code, code_text ); if( text ) evbuffer_add_printf( body, "%s", text ); evhttp_send_reply( req, code, code_text, body ); - tr_releaseBuffer( body ); + evbuffer_free( body ); } struct tr_mimepart @@ -415,14 +415,14 @@ serve_file( struct evhttp_request * req, const time_t now = time( NULL ); errno = error; - out = tr_getBuffer( ); + out = evbuffer_new( ); evhttp_add_header( req->output_headers, "Content-Type", mimetype_guess( filename ) ); add_time_header( req->output_headers, "Date", now ); add_time_header( req->output_headers, "Expires", now+(24*60*60) ); add_response( req, server, out, content, content_len ); evhttp_send_reply( req, HTTP_OK, "OK", out ); - tr_releaseBuffer( out ); + evbuffer_free( out ); tr_free( content ); } } @@ -489,14 +489,14 @@ rpc_response_func( tr_session * session UNUSED, void * user_data ) { struct rpc_response_data * data = user_data; - struct evbuffer * buf = tr_getBuffer( ); + struct evbuffer * buf = evbuffer_new( ); add_response( data->req, data->server, buf, response, response_len ); evhttp_add_header( data->req->output_headers, "Content-Type", "application/json; charset=UTF-8" ); evhttp_send_reply( data->req, HTTP_OK, "OK", buf ); - tr_releaseBuffer( buf ); + evbuffer_free( buf ); tr_free( data ); } diff --git a/libtransmission/utils.c b/libtransmission/utils.c index c1c61c83e..fc356866c 100644 --- a/libtransmission/utils.c +++ b/libtransmission/utils.c @@ -259,7 +259,7 @@ tr_deepLog( const char * file, { va_list args; char timestr[64]; - struct evbuffer * buf = tr_getBuffer( ); + struct evbuffer * buf = evbuffer_new( ); char * base = tr_basename( file ); evbuffer_add_printf( buf, "[%s] ", @@ -276,7 +276,7 @@ tr_deepLog( const char * file, (void) fwrite( EVBUFFER_DATA( buf ), 1, EVBUFFER_LENGTH( buf ), fp ); tr_free( base ); - tr_releaseBuffer( buf ); + evbuffer_free( buf ); } } @@ -736,14 +736,14 @@ tr_strdup_printf( const char * fmt, ... ) struct evbuffer * buf; va_list ap; - buf = tr_getBuffer( ); + buf = evbuffer_new( ); va_start( ap, fmt ); if( evbuffer_add_vprintf( buf, fmt, ap ) != -1 ) ret = tr_strdup( EVBUFFER_DATA( buf ) ); va_end( ap ); - tr_releaseBuffer( buf ); + evbuffer_free( buf ); return ret; } @@ -1311,49 +1311,6 @@ tr_int2ptr( int i ) **** ***/ -static tr_list * _bufferList = NULL; - -static tr_lock * -getBufferLock( void ) -{ - static tr_lock * lock = NULL; - if( lock == NULL ) - lock = tr_lockNew( ); - return lock; -} - -struct evbuffer* -tr_getBuffer( void ) -{ - struct evbuffer * buf; - tr_lock * l = getBufferLock( ); - tr_lockLock( l ); - - buf = tr_list_pop_front( &_bufferList ); - if( buf == NULL ) - buf = evbuffer_new( ); - - tr_lockUnlock( l ); - return buf; -} - -void -tr_releaseBuffer( struct evbuffer * buf ) -{ - tr_lock * l = getBufferLock( ); - tr_lockLock( l ); - - evbuffer_drain( buf, EVBUFFER_LENGTH( buf ) ); - assert( EVBUFFER_LENGTH( buf ) == 0 ); - tr_list_prepend( &_bufferList, buf ); - - tr_lockUnlock( l ); -} - -/*** -**** -***/ - int tr_lowerBound( const void * key, const void * base, diff --git a/libtransmission/utils.h b/libtransmission/utils.h index 0dfa617d4..c5b34bd4e 100644 --- a/libtransmission/utils.h +++ b/libtransmission/utils.h @@ -260,21 +260,6 @@ void tr_wait( uint64_t delay_milliseconds ); char* tr_utf8clean( const char * str, int len, tr_bool * err ) TR_GNUC_MALLOC; -/*** -**** -***/ - -struct evbuffer; - -/** @brief pool of reusable buffers - @see tr_releaseBuffer() */ -struct evbuffer * tr_getBuffer( void ); - -/** @brief return a buffer to the pool - @see tr_getBuffer() */ -void tr_releaseBuffer( struct evbuffer * buf ); - - /*** **** ***/ diff --git a/libtransmission/webseed.c b/libtransmission/webseed.c index 078827f16..e4679deb5 100644 --- a/libtransmission/webseed.c +++ b/libtransmission/webseed.c @@ -99,7 +99,7 @@ makeURL( tr_webseed * w, const tr_file * file ) { char * ret; - struct evbuffer * out = tr_getBuffer( ); + struct evbuffer * out = evbuffer_new( ); const char * url = w->url; const size_t url_len = strlen( url ); @@ -140,7 +140,7 @@ makeURL( tr_webseed * w, } ret = tr_strndup( EVBUFFER_DATA( out ), EVBUFFER_LENGTH( out ) ); - tr_releaseBuffer( out ); + evbuffer_free( out ); return ret; }