Ignore:
Timestamp:
Dec 29, 2008, 6:11:56 PM (14 years ago)
Author:
charles
Message:

(trunk libT) wrap tr_inf(), tr_msg(), tr_dbg() calls inside a check to see if that debugging level is active. That way that function calls in the vararg list won't be invoked unless that level of verbosity is actually turned on.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libtransmission/utils.c

    r7525 r7529  
    6060#endif
    6161
    62 void
     62static void
    6363tr_msgInit( void )
    6464{
    65     if( !messageLock )
     65    static tr_bool initialized = FALSE;
     66
     67    if( !initialized )
     68    {
     69        char * env = getenv( "TR_DEBUG" );
     70        messageLevel = ( env ? atoi( env ) : 0 ) + 1;
     71        messageLevel = MAX( 1, messageLevel );
     72
    6673        messageLock = tr_lockNew( );
     74
     75        initialized = TRUE;
     76    }
    6777}
    6878
     
    101111    tr_msgInit( );
    102112    tr_lockLock( messageLock );
     113
    103114    messageLevel = MAX( 0, level );
     115
    104116    tr_lockUnlock( messageLock );
    105117}
     
    109121{
    110122    int ret;
    111 
    112123    tr_msgInit( );
    113124    tr_lockLock( messageLock );
     125
    114126    ret = messageLevel;
     127
    115128    tr_lockUnlock( messageLock );
    116 
    117129    return ret;
    118130}
     
    123135    tr_msgInit( );
    124136    tr_lockLock( messageLock );
     137
    125138    messageQueuing = enabled;
     139
    126140    tr_lockUnlock( messageLock );
    127141}
     
    131145{
    132146    int ret;
    133 
    134147    tr_msgInit( );
    135148    tr_lockLock( messageLock );
     149
    136150    ret = messageQueuing;
     151
    137152    tr_lockUnlock( messageLock );
    138 
    139153    return ret;
    140154}
     
    144158{
    145159    tr_msg_list * ret;
    146 
    147     assert( NULL != messageLock );
     160    tr_msgInit( );
    148161    tr_lockLock( messageLock );
     162
    149163    ret = messageQueue;
    150164    messageQueue = NULL;
    151165    messageQueueTail = &messageQueue;
     166
    152167    tr_lockUnlock( messageLock );
    153 
    154168    return ret;
    155169}
     
    249263****
    250264***/
     265   
     266
     267int
     268tr_msgLoggingIsActive( int level )
     269{
     270    tr_msgInit( );
     271
     272    return messageLevel >= level;
     273}
    251274
    252275void
     
    259282{
    260283    FILE * fp;
    261 
    262     if( messageLock )
    263         tr_lockLock( messageLock );
     284    tr_msgInit( );
     285    tr_lockLock( messageLock );
    264286
    265287    fp = tr_getLog( );
    266 
    267     if( !messageLevel )
    268     {
    269         char * env = getenv( "TR_DEBUG" );
    270         messageLevel = ( env ? atoi( env ) : 0 ) + 1;
    271         messageLevel = MAX( 1, messageLevel );
    272     }
    273288
    274289    if( messageLevel >= level )
     
    316331    }
    317332
    318     if( messageLock )
    319         tr_lockUnlock( messageLock );
     333    tr_lockUnlock( messageLock );
    320334}
    321335
Note: See TracChangeset for help on using the changeset viewer.