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 has been updated
via d152551df1341473e576da41012951642cab47c8 (commit)
from 39276bfd8d47af9e5f073fbdc9bc0be93c1322f5 (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 d152551df1341473e576da41012951642cab47c8
Author: Dave Heller <hel...@us...>
Date: Wed Dec 11 15:46:25 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 4591289..31b67f5 100644
--- a/interopProvider.c
+++ b/interopProvider.c
@@ -1605,6 +1605,7 @@ InteropProviderInvokeMethod(CMPIMethodMI * mi,
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;
while ((sem_timedwait(&availThreadsSem, &availThreadWait)) == -1) {
@@ -1619,6 +1620,14 @@ InteropProviderInvokeMethod(CMPIMethodMI * mi,
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));
hooks/post-receive
--
sfcb - Small Footprint CIM Broker
|