Mercurial > hg > freeDiameter
diff libfdcore/core.c @ 706:4ffbc9f1e922
Large UNTESTED commit with the following changes:
* Improved DiameterIdentity handling (esp. interationalization issues),
and improve efficiency of some string operations in peers, sessions,
and dictionary modules (closes #7)
* Cleanup in the session module to free only unreferenced sessions (#16)
* Removed fd_cpu_flush_cache(), replaced by more robust alternatives.
* Improved peer state machine algorithm to counter SCTP multistream race
condition.
author | Sebastien Decugis <sdecugis@nict.go.jp> |
---|---|
date | Wed, 09 Feb 2011 15:26:58 +0900 |
parents | 16c373df0947 |
children | 4a9f08d6b6ba |
line wrap: on
line diff
--- a/libfdcore/core.c Mon Jan 31 17:22:21 2011 +0900 +++ b/libfdcore/core.c Wed Feb 09 15:26:58 2011 +0900 @@ -44,7 +44,7 @@ /* gcrypt functions to support posix threads */ GCRY_THREAD_OPTION_PTHREAD_IMPL; -/* Signal extensions when the framework is completly initialized */ +/* Signal extensions when the framework is completly initialized (they are waiting in fd_core_waitstartcomplete()) */ static int is_ready = 0; static pthread_mutex_t is_ready_mtx = PTHREAD_MUTEX_INITIALIZER; static pthread_cond_t is_ready_cnd = PTHREAD_COND_INITIALIZER; @@ -61,6 +61,8 @@ /* Thread that process incoming events on the main queue -- and terminates the framework when requested */ static pthread_t core_runner = (pthread_t)NULL; + +/* How the thread is terminated */ enum core_mode { CORE_MODE_EVENTS, CORE_MODE_IMMEDIATE