[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[certi-cvs] certi/libRTI RTIambassador.cc
From: |
certi-cvs |
Subject: |
[certi-cvs] certi/libRTI RTIambassador.cc |
Date: |
Thu, 18 Sep 2008 14:47:33 +0000 |
CVSROOT: /sources/certi
Module name: certi
Changes by: Petr Gotthard <gotthardp> 08/09/18 14:47:33
Modified files:
libRTI : RTIambassador.cc
Log message:
BUGFIX: Mask SIGINT sent to RTIA; first part of solution for bug #24279.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/libRTI/RTIambassador.cc?cvsroot=certi&r1=3.91&r2=3.92
Patches:
Index: RTIambassador.cc
===================================================================
RCS file: /sources/certi/certi/libRTI/RTIambassador.cc,v
retrieving revision 3.91
retrieving revision 3.92
diff -u -b -r3.91 -r3.92
--- RTIambassador.cc 10 Jul 2008 20:20:08 -0000 3.91
+++ RTIambassador.cc 18 Sep 2008 14:47:33 -0000 3.92
@@ -19,7 +19,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: RTIambassador.cc,v 3.91 2008/07/10 20:20:08 approx Exp $
+// $Id: RTIambassador.cc,v 3.92 2008/09/18 14:47:33 gotthardp Exp $
// ----------------------------------------------------------------------------
@@ -146,6 +146,13 @@
sleep(1);
privateRefs->socketUn->connectUN(privateRefs->pid_RTIA);
#else
+ sigset_t nset, oset;
+ // temporarily block termination signals
+ // note: this is to prevent child processes from receiving termination
signals
+ sigemptyset(&nset);
+ sigaddset(&nset, SIGINT);
+ sigprocmask(SIG_BLOCK, &nset, &oset);
+
switch((privateRefs->pid_RTIA = fork())) {
case -1: // fork failed.
perror("fork");
@@ -176,6 +183,9 @@
};
break ;
}
+
+ // unbock the above blocked signals
+ sigprocmask(SIG_SETMASK, &oset, NULL);
#endif
G.Out(pdGendoc,"exit RTIambassador::RTIambassador");
}
@@ -3017,4 +3027,4 @@
privateRefs->executeService(&req, &rep);
}
-// $Id: RTIambassador.cc,v 3.91 2008/07/10 20:20:08 approx Exp $
+// $Id: RTIambassador.cc,v 3.92 2008/09/18 14:47:33 gotthardp Exp $
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [certi-cvs] certi/libRTI RTIambassador.cc,
certi-cvs <=