(trunk libT) remove the last calls to tr_getBuffer() and tr_releaseBuffer()
This commit is contained in:
parent
254e9d156c
commit
ef21704b58
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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 );
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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, "<h1>%d: %s</h1>", 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 );
|
||||
}
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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 );
|
||||
|
||||
|
||||
/***
|
||||
****
|
||||
***/
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue