Changeset 5 for pjproject/main/pjlib/src/pj/os_core_unix.c
- Timestamp:
- Nov 1, 2005 9:46:17 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/main/pjlib/src/pj/os_core_unix.c
r4 r5 527 527 * pj_atomic_set() 528 528 */ 529 PJ_DEF(pj_atomic_value_t) pj_atomic_set(pj_atomic_t *atomic_var, 530 pj_atomic_value_t value) 531 { 532 pj_atomic_value_t oldval; 533 534 PJ_CHECK_STACK(); 535 PJ_ASSERT_RETURN(atomic_var, 0); 529 PJ_DEF(void) pj_atomic_set(pj_atomic_t *atomic_var, pj_atomic_value_t value) 530 { 531 PJ_CHECK_STACK(); 536 532 537 533 #if PJ_HAS_THREADS 538 534 pj_mutex_lock( atomic_var->mutex ); 539 535 #endif 540 oldval = atomic_var->value;541 536 atomic_var->value = value; 542 537 #if PJ_HAS_THREADS 543 538 pj_mutex_unlock( atomic_var->mutex); 544 539 #endif 540 } 541 542 /* 543 * pj_atomic_get() 544 */ 545 PJ_DEF(pj_atomic_value_t) pj_atomic_get(pj_atomic_t *atomic_var) 546 { 547 pj_atomic_value_t oldval; 548 549 PJ_CHECK_STACK(); 550 551 #if PJ_HAS_THREADS 552 pj_mutex_lock( atomic_var->mutex ); 553 #endif 554 oldval = atomic_var->value; 555 #if PJ_HAS_THREADS 556 pj_mutex_unlock( atomic_var->mutex); 557 #endif 545 558 return oldval; 546 559 } 547 560 548 561 /* 549 * pj_atomic_get() 550 */ 551 PJ_DEF(pj_atomic_value_t) pj_atomic_get(pj_atomic_t *atomic_var) 552 { 553 pj_atomic_value_t oldval; 554 555 PJ_CHECK_STACK(); 556 PJ_ASSERT_RETURN(atomic_var, 0); 562 * pj_atomic_inc() 563 */ 564 PJ_DEF(void) pj_atomic_inc(pj_atomic_t *atomic_var) 565 { 566 PJ_CHECK_STACK(); 557 567 558 568 #if PJ_HAS_THREADS 559 569 pj_mutex_lock( atomic_var->mutex ); 560 570 #endif 561 oldval =atomic_var->value;571 ++atomic_var->value; 562 572 #if PJ_HAS_THREADS 563 573 pj_mutex_unlock( atomic_var->mutex); 564 574 #endif 565 return oldval; 566 } 567 568 /* 569 * pj_atomic_inc() 570 */ 571 PJ_DEF(pj_atomic_value_t) pj_atomic_inc(pj_atomic_t *atomic_var) 572 { 573 pj_atomic_value_t newval; 574 575 PJ_CHECK_STACK(); 576 PJ_ASSERT_RETURN(atomic_var, 0); 575 } 576 577 /* 578 * pj_atomic_dec() 579 */ 580 PJ_DEF(void) pj_atomic_dec(pj_atomic_t *atomic_var) 581 { 582 PJ_CHECK_STACK(); 577 583 578 584 #if PJ_HAS_THREADS 579 585 pj_mutex_lock( atomic_var->mutex ); 580 586 #endif 581 newval = ++atomic_var->value;587 --atomic_var->value; 582 588 #if PJ_HAS_THREADS 583 589 pj_mutex_unlock( atomic_var->mutex); 584 590 #endif 585 return newval; 586 } 587 588 /* 589 * pj_atomic_dec() 590 */ 591 PJ_DEF(pj_atomic_value_t) pj_atomic_dec(pj_atomic_t *atomic_var) 592 { 593 pj_atomic_value_t newval; 594 595 PJ_CHECK_STACK(); 596 PJ_ASSERT_RETURN(atomic_var, 0); 597 598 #if PJ_HAS_THREADS 599 pj_mutex_lock( atomic_var->mutex ); 600 #endif 601 newval = --atomic_var->value; 602 #if PJ_HAS_THREADS 603 pj_mutex_unlock( atomic_var->mutex); 604 #endif 605 return newval; 591 } 592 593 /* 594 * pj_atomic_add() 595 */ 596 PJ_DEF(void) pj_atomic_add( pj_atomic_t *atomic_var, pj_atomic_value_t value ) 597 { 598 #if PJ_HAS_THREADS 599 pj_mutex_lock(atomic_var->mutex); 600 #endif 601 602 atomic_var->value += value; 603 604 #if PJ_HAS_THREADS 605 pj_mutex_unlock(atomic_var->mutex); 606 #endif 606 607 } 607 608
Note: See TracChangeset
for help on using the changeset viewer.