Changeset 293:ec67c5096eeb in freeDiameter
- Timestamp:
- May 10, 2010, 2:43:06 PM (14 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libfreeDiameter/sessions.c
r291 r293 591 591 { 592 592 struct session * sess; 593 uint32_t hash; 593 594 594 595 TRACE_ENTRY("%p", session); … … 596 597 597 598 sess = *session; 599 hash = sess->hash; 598 600 *session = NULL; 599 601 600 CHECK_ FCT( pthread_mutex_lock( H_LOCK(sess->hash) ) );602 CHECK_POSIX( pthread_mutex_lock( H_LOCK(sess->hash) ) ); 601 603 pthread_cleanup_push( fd_cleanup_mutex, H_LOCK(sess->hash) ); 602 CHECK_ FCT( pthread_mutex_lock( &exp_lock ) );604 CHECK_POSIX( pthread_mutex_lock( &exp_lock ) ); 603 605 if (FD_IS_LIST_EMPTY(&sess->states)) { 604 606 fd_list_unlink( &sess->chain_h ); … … 608 610 free(sess); 609 611 } 610 CHECK_ FCT( pthread_mutex_unlock( &exp_lock ) );612 CHECK_POSIX( pthread_mutex_unlock( &exp_lock ) ); 611 613 pthread_cleanup_pop(0); 612 CHECK_ FCT( pthread_mutex_unlock( H_LOCK(sess->hash) ) );614 CHECK_POSIX( pthread_mutex_unlock( H_LOCK(hash) ) ); 613 615 614 616 return 0;
Note: See TracChangeset
for help on using the changeset viewer.