Update of /cvsroot/sblim/sfcb
In directory vz-cvs-3.sog:/tmp/cvs-serv14106
Modified Files:
providerMgr.c
Log Message:
[3416060] sigsegv in tool_mm_flush()
Index: providerMgr.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/providerMgr.c,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -d -r1.76 -r1.77
--- providerMgr.c 29 Feb 2012 23:28:19 -0000 1.76
+++ providerMgr.c 5 Mar 2012 18:13:43 -0000 1.77
@@ -931,6 +931,9 @@
_SFCB_ENTER(TRACE_PROVIDERMGR, "processProviderMgrRequests");
+ /* SF:3416060 disable signals during startup */
+ sigfillset(&mask);
+ sigprocmask(SIG_SETMASK, &mask, &old_mask);
startUpProvider("root/interop","$ClassProvider$");
#ifdef SFCB_INCL_INDICATION_SUPPORT
@@ -943,6 +946,7 @@
#ifdef HAVE_SLP
startUpProvider("root/interop","$ProfileProvider$");
#endif
+ sigprocmask(SIG_SETMASK, &old_mask, NULL);
for (;;) {
MgrHandler hdlr;
@@ -962,8 +966,10 @@
_SFCB_TRACE(1,("--- Mgr request for %s-%s (%d) from %d", req->nameSpace.data,
req->className.data,req->type,requestor));
+ sigprocmask(SIG_SETMASK, &mask, &old_mask);
hdlr = mHandlers[req->type];
hdlr.handler(&requestor, req);
+ sigprocmask(SIG_SETMASK, &old_mask, NULL);
_SFCB_TRACE(1,("--- Mgr request for %s-%s DONE", req->nameSpace.data,
req->className.data));
|