Discussion:
[Libstoragemgmt-devel] [PATCH] lsmd: add error catch for signal
Ma Shimiao
2014-12-23 07:37:24 UTC
Permalink
Signed-off-by: Ma Shimiao <***@cn.fujitsu.com>
---
daemon/lsm_daemon.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/daemon/lsm_daemon.c b/daemon/lsm_daemon.c
index acc8ef5..58b86ff 100644
--- a/daemon/lsm_daemon.c
+++ b/daemon/lsm_daemon.c
@@ -137,8 +137,13 @@ void signal_handler(int s)
*/
void install_sh(void)
{
- signal(SIGTERM, signal_handler);
- signal(SIGHUP, signal_handler);
+ if(signal(SIGTERM, signal_handler) == SIG_ERR) {
+ loud("Can't catch signal SIGTERM\n");
+ }
+
+ if(signal(SIGHUP, signal_handler) == SIG_ERR) {
+ loud("Can't catch signal SIGHUP\n");
+ }
}

/**
--
1.8.3.1
Ma Shimiao
2014-12-23 08:22:56 UTC
Permalink
If we can't install signal handler successfully, then we can't
get correct status of deamon.
So, I think this is a serious problem to loud print.

Signed-off-by: Ma Shimiao <***@cn.fujitsu.com>
---
daemon/lsm_daemon.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/daemon/lsm_daemon.c b/daemon/lsm_daemon.c
index acc8ef5..58b86ff 100644
--- a/daemon/lsm_daemon.c
+++ b/daemon/lsm_daemon.c
@@ -137,8 +137,13 @@ void signal_handler(int s)
*/
void install_sh(void)
{
- signal(SIGTERM, signal_handler);
- signal(SIGHUP, signal_handler);
+ if(signal(SIGTERM, signal_handler) == SIG_ERR) {
+ loud("Can't catch signal SIGTERM\n");
+ }
+
+ if(signal(SIGHUP, signal_handler) == SIG_ERR) {
+ loud("Can't catch signal SIGHUP\n");
+ }
}

/**
--
1.8.3.1
Ma Shimiao
2015-02-10 03:56:16 UTC
Permalink
Ping
Post by Ma Shimiao
If we can't install signal handler successfully, then we can't
get correct status of deamon.
So, I think this is a serious problem to loud print.
---
daemon/lsm_daemon.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/daemon/lsm_daemon.c b/daemon/lsm_daemon.c
index acc8ef5..58b86ff 100644
--- a/daemon/lsm_daemon.c
+++ b/daemon/lsm_daemon.c
@@ -137,8 +137,13 @@ void signal_handler(int s)
*/
void install_sh(void)
{
- signal(SIGTERM, signal_handler);
- signal(SIGHUP, signal_handler);
+ if(signal(SIGTERM, signal_handler) == SIG_ERR) {
+ loud("Can't catch signal SIGTERM\n");
+ }
+
+ if(signal(SIGHUP, signal_handler) == SIG_ERR) {
+ loud("Can't catch signal SIGHUP\n");
+ }
}
/**
--
Ma Shimiao
Development Dept.I
Nanjing Fujitsu Nanda Software Tech. Co., Ltd.(FNST)
Loading...