[kazehakase-svn] [3492] - make signal handler to static.

Back to archive index

svnno****@sourc***** svnno****@sourc*****
Sun Mar 23 22:56:31 JST 2008


Revision: 3492
          http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=kazehakase&view=rev&rev=3492
Author:   pal_gene
Date:     2008-03-23 22:56:31 +0900 (Sun, 23 Mar 2008)

Log Message:
-----------
- make signal handler to static.
- add prototype declare.
- don't use allocation while sig handler.
- more treat G_OS_WIN32 in above.

Modified Paths:
--------------
    kazehakase/trunk/ChangeLog
    kazehakase/trunk/src/main.c

Modified: kazehakase/trunk/ChangeLog
===================================================================
--- kazehakase/trunk/ChangeLog	2008-03-22 16:01:50 UTC (rev 3491)
+++ kazehakase/trunk/ChangeLog	2008-03-23 13:56:31 UTC (rev 3492)
@@ -1,6 +1,14 @@
 2008-03-22  Shunichi Fuji  <palgl****@gmail*****>
 
 	* src/main.c:
+	- make signal handler to static.
+	- add prototype declare.
+	- don't use allocation while sig handler.
+	- more treat G_OS_WIN32 in above.
+
+2008-03-22  Shunichi Fuji  <palgl****@gmail*****>
+
+	* src/main.c:
 	Add signal handler for safe termination from external signal.
 	Need research about signum.
 	Currently handle only SIGINT and SIGTERM.

Modified: kazehakase/trunk/src/main.c
===================================================================
--- kazehakase/trunk/src/main.c	2008-03-22 16:01:50 UTC (rev 3491)
+++ kazehakase/trunk/src/main.c	2008-03-23 13:56:31 UTC (rev 3492)
@@ -56,7 +56,9 @@
 static GOptionGroup *main_group;
 
 static void activate_action(const gchar *text);
-
+#ifndef G_OS_WIN32
+static void kz_sighandle_exit(int signum);
+#endif
 /******************************************************************************
  *                                                                            *
  *                       arguments parser                                     *
@@ -410,19 +412,22 @@
 	return window;
 }
 
+#ifndef G_OS_WIN32
 /**
  * Signal handler for safe termination from external signal
  * @param signum signal number, will be SIGINT or SIGTERM
  */
 /* TODO:should handle more about other signum? */
-void kz_sighandle_exit(int signum)
+static void kz_sighandle_exit(int signum)
 {
 	g_warning("Start terminate ...");
-	struct sigaction *act = g_malloc0(sizeof(struct sigaction));
-	act->sa_handler = SIG_IGN;
-	sigaction(signum, act, NULL);
+	struct sigaction act;
+	memset(&act, 0, sizeof(struct sigaction));
+	act.sa_handler = SIG_IGN;
+	sigaction(signum, &act, NULL);
 	gtk_main_quit();
 }
+#endif
 
 /******************************************************************************
  *                                                                            *
@@ -503,10 +508,11 @@
 	/* signal handler for safe termination */
 	/* TODO: need win32 version? */
 #ifndef G_OS_WIN32
-	struct sigaction *act = g_malloc0(sizeof(struct sigaction));
-	act->sa_handler = kz_sighandle_exit;
-	sigaction(SIGINT,	act, NULL);
-	sigaction(SIGTERM,	act, NULL);
+	struct sigaction act;
+	memset(&act, 0, sizeof(struct sigaction));
+	act.sa_handler = kz_sighandle_exit;
+	sigaction(SIGINT,	&act, NULL);
+	sigaction(SIGTERM,	&act, NULL);
 #endif
 
  	kz_app = kz_app_new(argc, argv);




More information about the Kazehakase-cvs mailing list
Back to archive index