summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2006-08-16 11:44:52 +0000
committerMarcel Holtmann <marcel@holtmann.org>2006-08-16 11:44:52 +0000
commit73b9315e56f5f635eaf82a08271e8f462b731972 (patch)
treed6c90b9cb73d6e3bf57adf535b1995115fcba1d4
parenta1bc48d15a5d6e78efe744eb7b27b6421cb7222f (diff)
Don't forget to unblock signals for ppoll()
-rw-r--r--hidd/fakehid.c5
-rw-r--r--hidd/main.c5
-rw-r--r--pand/main.c5
-rw-r--r--rfcomm/main.c10
-rw-r--r--sdpd/main.c5
-rw-r--r--tools/ciptool.c5
6 files changed, 35 insertions, 0 deletions
diff --git a/hidd/fakehid.c b/hidd/fakehid.c
index 70eba3b4..be1f29b9 100644
--- a/hidd/fakehid.c
+++ b/hidd/fakehid.c
@@ -320,6 +320,11 @@ int epox_presenter(const bdaddr_t *src, const bdaddr_t *dst, uint8_t channel)
sigaction(SIGHUP, &sa, NULL);
sigfillset(&sigs);
+ sigdelset(&sigs, SIGCHLD);
+ sigdelset(&sigs, SIGPIPE);
+ sigdelset(&sigs, SIGTERM);
+ sigdelset(&sigs, SIGINT);
+ sigdelset(&sigs, SIGHUP);
p.fd = sk;
p.events = POLLIN | POLLERR | POLLHUP;
diff --git a/hidd/main.c b/hidd/main.c
index cd1dceb9..7c478030 100644
--- a/hidd/main.c
+++ b/hidd/main.c
@@ -337,6 +337,11 @@ static void run_server(int ctl, int csk, int isk, uint8_t subclass, int nosdp, i
int err, ncsk, nisk;
sigfillset(&sigs);
+ sigdelset(&sigs, SIGCHLD);
+ sigdelset(&sigs, SIGPIPE);
+ sigdelset(&sigs, SIGTERM);
+ sigdelset(&sigs, SIGINT);
+ sigdelset(&sigs, SIGHUP);
p[0].fd = csk;
p[0].events = POLLIN | POLLERR | POLLHUP;
diff --git a/pand/main.c b/pand/main.c
index 026a879d..07c3decd 100644
--- a/pand/main.c
+++ b/pand/main.c
@@ -235,6 +235,11 @@ static int w4_hup(int sk)
int n;
sigfillset(&sigs);
+ sigdelset(&sigs, SIGCHLD);
+ sigdelset(&sigs, SIGPIPE);
+ sigdelset(&sigs, SIGTERM);
+ sigdelset(&sigs, SIGINT);
+ sigdelset(&sigs, SIGHUP);
while (!terminate) {
pf.fd = sk;
diff --git a/rfcomm/main.c b/rfcomm/main.c
index 5167d497..9baf8533 100644
--- a/rfcomm/main.c
+++ b/rfcomm/main.c
@@ -385,6 +385,11 @@ static void cmd_connect(int ctl, int dev, bdaddr_t *bdaddr, int argc, char **arg
sigaction(SIGHUP, &sa, NULL);
sigfillset(&sigs);
+ sigdelset(&sigs, SIGCHLD);
+ sigdelset(&sigs, SIGPIPE);
+ sigdelset(&sigs, SIGTERM);
+ sigdelset(&sigs, SIGINT);
+ sigdelset(&sigs, SIGHUP);
p.fd = fd;
p.events = POLLERR | POLLHUP;
@@ -506,6 +511,11 @@ static void cmd_listen(int ctl, int dev, bdaddr_t *bdaddr, int argc, char **argv
sigaction(SIGHUP, &sa, NULL);
sigfillset(&sigs);
+ sigdelset(&sigs, SIGCHLD);
+ sigdelset(&sigs, SIGPIPE);
+ sigdelset(&sigs, SIGTERM);
+ sigdelset(&sigs, SIGINT);
+ sigdelset(&sigs, SIGHUP);
p.fd = fd;
p.events = POLLERR | POLLHUP;
diff --git a/sdpd/main.c b/sdpd/main.c
index fbc7f5e6..5e415f4a 100644
--- a/sdpd/main.c
+++ b/sdpd/main.c
@@ -457,6 +457,11 @@ int main(int argc, char *argv[])
signal(SIGPIPE, SIG_IGN);
sigfillset(&sigs);
+ sigdelset(&sigs, SIGINT);
+ sigdelset(&sigs, SIGTERM);
+ sigdelset(&sigs, SIGABRT);
+ sigdelset(&sigs, SIGQUIT);
+ sigdelset(&sigs, SIGPIPE);
for (;;) {
int num, nfd;
diff --git a/tools/ciptool.c b/tools/ciptool.c
index 3f4b113f..99add635 100644
--- a/tools/ciptool.c
+++ b/tools/ciptool.c
@@ -382,6 +382,11 @@ static void cmd_loopback(int ctl, bdaddr_t *bdaddr, int argc, char **argv)
sigaction(SIGHUP, &sa, NULL);
sigfillset(&sigs);
+ sigdelset(&sigs, SIGCHLD);
+ sigdelset(&sigs, SIGPIPE);
+ sigdelset(&sigs, SIGTERM);
+ sigdelset(&sigs, SIGINT);
+ sigdelset(&sigs, SIGHUP);
p.fd = sk;
p.events = POLLERR | POLLHUP;