Ignore:
Timestamp:
Nov 1, 2005 9:46:17 PM (17 years ago)
Author:
bennylp
Message:

Changed atomic interface and fixed bugs in echo test client

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/main/pjlib/src/pj/os_core_win32.c

    r4 r5  
    496496 * pj_atomic_set() 
    497497 */ 
    498 PJ_DEF(long) pj_atomic_set(pj_atomic_t *atomic_var, long value) 
     498PJ_DEF(void) pj_atomic_set( pj_atomic_t *atomic_var, pj_atomic_value_t value) 
     499{ 
     500    PJ_CHECK_STACK(); 
     501 
     502    InterlockedExchange(&atomic_var->value, value); 
     503} 
     504 
     505/* 
     506 * pj_atomic_get() 
     507 */ 
     508PJ_DEF(pj_atomic_value_t) pj_atomic_get(pj_atomic_t *atomic_var) 
    499509{ 
    500510    PJ_CHECK_STACK(); 
    501511    PJ_ASSERT_RETURN(atomic_var, 0); 
    502512 
    503     return InterlockedExchange(&atomic_var->value, value); 
    504 } 
    505  
    506 /* 
    507  * pj_atomic_get() 
    508  */ 
    509 PJ_DEF(long) pj_atomic_get(pj_atomic_t *atomic_var) 
    510 { 
    511     PJ_CHECK_STACK(); 
    512     PJ_ASSERT_RETURN(atomic_var, 0); 
    513  
    514513    return atomic_var->value; 
    515514} 
     
    518517 * pj_atomic_inc() 
    519518 */ 
    520 PJ_DEF(long) pj_atomic_inc(pj_atomic_t *atomic_var) 
    521 { 
    522     PJ_CHECK_STACK(); 
    523     PJ_ASSERT_RETURN(atomic_var, 0); 
     519PJ_DEF(void) pj_atomic_inc(pj_atomic_t *atomic_var) 
     520{ 
     521    PJ_CHECK_STACK(); 
    524522 
    525523#if defined(PJ_WIN32_WINNT) && PJ_WIN32_WINNT >= 0x0400 
    526     return InterlockedIncrement(&atomic_var->value); 
     524    InterlockedIncrement(&atomic_var->value); 
    527525#else 
    528526#   error Fix Me 
     
    533531 * pj_atomic_dec() 
    534532 */ 
    535 PJ_DEF(long) pj_atomic_dec(pj_atomic_t *atomic_var) 
    536 { 
    537     PJ_CHECK_STACK(); 
    538     PJ_ASSERT_RETURN(atomic_var, 0); 
     533PJ_DEF(void) pj_atomic_dec(pj_atomic_t *atomic_var) 
     534{ 
     535    PJ_CHECK_STACK(); 
    539536 
    540537#if defined(PJ_WIN32_WINNT) && PJ_WIN32_WINNT >= 0x0400 
    541     return InterlockedDecrement(&atomic_var->value); 
     538    InterlockedDecrement(&atomic_var->value); 
    542539#else 
    543540#   error Fix me 
     
    545542} 
    546543 
    547  
     544/* 
     545 * pj_atomic_add() 
     546 */ 
     547PJ_DEF(void) pj_atomic_add( pj_atomic_t *atomic_var, 
     548                            pj_atomic_value_t value ) 
     549{ 
     550    InterlockedExchangeAdd( &atomic_var->value, value ); 
     551} 
     552 
     553         
    548554/////////////////////////////////////////////////////////////////////////////// 
    549555/* 
Note: See TracChangeset for help on using the changeset viewer.