[Uludag-commits] r24668 - trunk/comar/comar/src
uludag-commits at pardus.org.tr
uludag-commits at pardus.org.tr
10 Tem 2009 Cum 11:02:31 EEST
Author: bahadir.kandemir
Date: Fri Jul 10 11:02:31 2009
New Revision: 24668
Modified:
trunk/comar/comar/src/process.c
Log:
Handle signals
Modified: trunk/comar/comar/src/process.c
=================================================================
--- trunk/comar/comar/src/process.c (original)
+++ trunk/comar/comar/src/process.c Fri Jul 10 11:02:31 2009
@@ -98,6 +98,36 @@
exit(0);
}
+static void
+handle_sigterm(int signum)
+{
+}
+
+void
+handle_signals(void)
+{
+ struct sigaction act;
+ struct sigaction ign;
+ struct sigaction dfl;
+
+ act.sa_handler = handle_sigterm;
+ /*! initialize and empty a signal set. Signals are to be blocked while executing handle_sigterm */
+ sigemptyset(&act.sa_mask);
+ act.sa_flags = 0; /*!< special flags */
+
+ ign.sa_handler = SIG_IGN;
+ sigemptyset(&ign.sa_mask);
+ ign.sa_flags = 0;
+
+ dfl.sa_handler = SIG_DFL;
+ sigemptyset(&dfl.sa_mask);
+ dfl.sa_flags = 0;
+
+ sigaction(SIGTERM, &act, NULL);
+ sigaction(SIGPIPE, &ign, NULL);
+ sigaction(SIGINT, &dfl, NULL);
+}
+
struct ProcChild *
proc_fork(void (*child_func)(DBusMessage *msg), DBusMessage *msg)
{
@@ -121,6 +151,8 @@
my_proc.bus_msg = msg;
+ handle_signals();
+
child_func(msg);
close(pfd[0]);
proc_finish();
Uludag-commits mesaj listesiyle ilgili
daha fazla bilgi