From: Narasimha S. <nsh...@us...> - 2012-03-05 18:13:45
|
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)); |