Changeset 1042 for pjproject


Ignore:
Timestamp:
Mar 5, 2007 9:08:01 PM (18 years ago)
Author:
bennylp
Message:

Optimization on the log and add tracing on mutex trylock

Location:
pjproject/trunk/pjlib
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjlib/include/pj/log.h

    r974 r1042  
    9999 * @hideinitializer 
    100100 */ 
    101 #define PJ_LOG(level,arg)       pj_log_wrapper_##level(arg) 
     101#define PJ_LOG(level,arg)       do { \ 
     102                                    if (level <= pj_log_get_level()) \ 
     103                                        pj_log_wrapper_##level(arg); \ 
     104                                } while (0) 
    102105 
    103106/** 
     
    172175 * @return          Current log maximum level. 
    173176 */ 
     177#if 0 
    174178PJ_DECL(int) pj_log_get_level(void); 
     179#else 
     180PJ_DECL(int) pj_log_max_level; 
     181#define pj_log_get_level()  pj_log_max_level 
     182#endif 
    175183 
    176184/** 
  • pjproject/trunk/pjlib/src/pj/log.c

    r974 r1042  
    2525#if PJ_LOG_MAX_LEVEL >= 1 
    2626 
    27 static int log_max_level = PJ_LOG_MAX_LEVEL; 
     27PJ_DEF(int) pj_log_max_level = PJ_LOG_MAX_LEVEL; 
    2828static pj_log_func *log_writer = &pj_log_write; 
    2929static unsigned log_decor = PJ_LOG_HAS_TIME | PJ_LOG_HAS_MICRO_SEC | 
     
    4646PJ_DEF(void) pj_log_set_level(int level) 
    4747{ 
    48     log_max_level = level; 
    49 } 
    50  
     48    pj_log_max_level = level; 
     49} 
     50 
     51#if 0 
    5152PJ_DEF(int) pj_log_get_level(void) 
    5253{ 
    53     return log_max_level; 
    54 } 
     54    return pj_log_max_level; 
     55} 
     56#endif 
    5557 
    5658PJ_DEF(void) pj_log_set_log_func( pj_log_func *func ) 
     
    7779    PJ_CHECK_STACK(); 
    7880 
    79     if (level > log_max_level) 
     81    if (level > pj_log_max_level) 
    8082        return; 
    8183 
  • pjproject/trunk/pjlib/src/pj/os_core_unix.c

    r974 r1042  
    11241124    PJ_ASSERT_RETURN(mutex, PJ_EINVAL); 
    11251125 
     1126    PJ_LOG(6,(mutex->obj_name, "Mutex: thread %s is trying",  
     1127                                pj_thread_this()->obj_name)); 
     1128 
    11261129    status = pthread_mutex_trylock( &mutex->mutex ); 
    11271130 
     
    11391142                                  pj_thread_this()->obj_name)); 
    11401143#endif 
     1144    } else { 
     1145        PJ_LOG(6,(mutex->obj_name, "Mutex: thread %s's trylock() failed",  
     1146                                    pj_thread_this()->obj_name)); 
    11411147    } 
    11421148     
  • pjproject/trunk/pjlib/src/pj/os_core_win32.c

    r974 r1042  
    886886    PJ_ASSERT_RETURN(mutex, PJ_EINVAL); 
    887887 
     888    PJ_LOG(6,(mutex->obj_name, "Mutex: thread %s is trying",  
     889                                pj_thread_this()->obj_name)); 
     890 
    888891#if PJ_WIN32_WINNT >= 0x0400 
    889892    status=TryEnterCriticalSection(&mutex->crit) ? PJ_SUCCESS : PJ_EUNKNOWN; 
     
    900903        ++mutex->nesting_level; 
    901904#endif 
    902     } 
     905    } else { 
     906        PJ_LOG(6,(mutex->obj_name, "Mutex: thread %s's trylock() failed",  
     907                                    pj_thread_this()->obj_name)); 
     908    } 
     909 
    903910    return status; 
    904911} 
Note: See TracChangeset for help on using the changeset viewer.