--- a/client.c Fri Jan 11 14:56:39 2008 +0100
+++ b/client.c Fri Jan 11 15:17:36 2008 +0100
@@ -25,13 +25,14 @@
Net_c_send net_send)
{
fd_set read_set;
- sigset_t sigold,signoalarm;
+ sigset_t sigempty,signoalarm;
int maxfd;
int res;
/* Prepare the sigset for blocking alarm */
sigemptyset(&signoalarm);
sigaddset(&signoalarm, SIGALRM);
+ sigemptyset(&sigempty);
do
{
@@ -43,8 +44,7 @@
net_prepare(&read_set, &maxfd);
/* Prepare checking for timeout */
- sigprocmask(SIG_BLOCK, &signoalarm, &sigold);
- sigemptyset(&sigold);
+ sigprocmask(SIG_BLOCK, &signoalarm, 0);
#ifdef linux
if (command_line.s_param.serve_eth)
@@ -62,7 +62,7 @@
}
#endif
- res = pselect(maxfd + 1, &read_set, 0, 0, 0, &sigold);
+ res = pselect(maxfd + 1, &read_set, 0, 0, 0, &sigempty);
#ifdef linux
if (command_line.c_param.transport == ETHERNET)
/* If there isn't a good result, we quit */
--- a/server.c Fri Jan 11 14:56:39 2008 +0100
+++ b/server.c Fri Jan 11 15:17:36 2008 +0100
@@ -25,7 +25,7 @@
static void loop()
{
fd_set read_set;
- sigset_t sigold,signoalarm;
+ sigset_t sigempty,signoalarm;
int maxfd;
int stdin_opened;
int res;
@@ -38,6 +38,7 @@
/* Prepare the sigset for blocking alarm */
sigemptyset(&signoalarm);
sigaddset(&signoalarm, SIGALRM);
+ sigemptyset(&sigempty);
do
{
@@ -61,8 +62,7 @@
#endif /* linux */
/* Prepare checking for timeout */
- sigprocmask(SIG_BLOCK, &signoalarm, &sigold);
- sigemptyset(&sigold);
+ sigprocmask(SIG_BLOCK, &signoalarm, 0);
#ifdef linux
if (command_line.s_param.serve_eth)
@@ -79,7 +79,7 @@
break;
/* Will block */
- res = pselect(maxfd + 1, &read_set, 0, 0, 0, &sigold);
+ res = pselect(maxfd + 1, &read_set, 0, 0, 0, &sigempty);
#ifdef linux
if (command_line.s_param.serve_eth)
eth_proto_process_timeouts();