summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorhugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2002-01-04 13:57:58 +0000
committerhugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2002-01-04 13:57:58 +0000
commitecddd05681ba3efc23d8a1e80edcd4f35446def3 (patch)
treee89a45e52583b3cce1311c63d0cbf643705000b2 /src
parentc065dc6970e1067cccb64da736194f6050160938 (diff)
downloadzabbix-ecddd05681ba3efc23d8a1e80edcd4f35446def3.tar.gz
zabbix-ecddd05681ba3efc23d8a1e80edcd4f35446def3.tar.xz
zabbix-ecddd05681ba3efc23d8a1e80edcd4f35446def3.zip
- fixed uninterruptable calls to connect() in zabbix_suckerd (Alexei)
git-svn-id: svn://svn.zabbix.com/trunk@274 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src')
-rw-r--r--src/zabbix_sucker/zabbix_sucker.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/zabbix_sucker/zabbix_sucker.c b/src/zabbix_sucker/zabbix_sucker.c
index 1b131925..ac107919 100644
--- a/src/zabbix_sucker/zabbix_sucker.c
+++ b/src/zabbix_sucker/zabbix_sucker.c
@@ -300,6 +300,13 @@ int get_value(double *result,DB_ITEM *item)
{
int res;
+ struct sigaction phan;
+
+ phan.sa_handler = &signal_handler;
+ sigemptyset(&phan.sa_mask);
+ phan.sa_flags = 0;
+ sigaction(SIGALRM, &phan, NULL);
+
alarm(SUCKER_TIMEOUT);
if(item->type == ITEM_TYPE_ZABBIX)
@@ -619,7 +626,6 @@ int main(int argc, char **argv)
phan.sa_handler = &signal_handler; /* set up sig handler using sigaction() */
sigemptyset(&phan.sa_mask);
phan.sa_flags = 0;
- sigaction(SIGALRM, &phan, NULL);
sigaction(SIGINT, &phan, NULL);
sigaction(SIGQUIT, &phan, NULL);
sigaction(SIGTERM, &phan, NULL);