From: Dave H. <hel...@us...> - 2013-12-11 22:36:37
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "sfcb - Small Footprint CIM Broker". The branch, master_1.3 has been updated via 048e3abfb52f6ae5a5b15e33f482405c34a9fb4e (commit) from 93a908cd8ab0e74d22a70849824453c3bb6d45b7 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 048e3abfb52f6ae5a5b15e33f482405c34a9fb4e Author: Dave Heller <hel...@us...> Date: Wed Dec 11 17:34:08 2013 -0500 [sfcb-tix:#92] indicationDeliveryThreadLimit not properly enforced ----------------------------------------------------------------------- Summary of changes: interopProvider.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/interopProvider.c b/interopProvider.c index 92063ae..8d8fe86 100644 --- a/interopProvider.c +++ b/interopProvider.c @@ -1458,6 +1458,7 @@ CMPIStatus InteropProviderInvokeMethod( di->ctx = native_clone_CMPIContext(ctx); di->hop = CMClone(su->ha->hop, NULL); di->hin = CMClone(hin, NULL); + errno = 0; if (IND_THREAD_TO > 0) { availThreadWait.tv_sec = time(NULL) + IND_THREAD_TO; @@ -1473,6 +1474,14 @@ CMPIStatus InteropProviderInvokeMethod( else { sem_wait(&availThreadsSem); } + /* + * This is a shortcut, but errno is thread-safe and this could only + * be true if set by sem_timedwait(). + */ + if (errno == ETIMEDOUT) { + _SFCB_TRACE(2,("--- Timedout waiting to create indication delivery thread")); + break; + } int pcrc = pthread_create(&ind_thread, &it_attr,&sendIndForDelivery,(void *) di); _SFCB_TRACE(1,("--- indication delivery thread status: %d", pcrc)); if (pcrc) hooks/post-receive -- sfcb - Small Footprint CIM Broker |