summaryrefslogtreecommitdiffstats
path: root/socket.c
diff options
context:
space:
mode:
authorjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>2005-11-01 21:05:04 +0000
committerjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>2005-11-01 21:05:04 +0000
commit76a59eae43d2a1d08c6dae855b57625008c44cca (patch)
tree6c438bd05ebb9c7fe48d84c7956c5335fe462d94 /socket.c
parent1818cf94daa86ea3710f5ebd92fa6ba059ea0b3b (diff)
downloadopenvpn-76a59eae43d2a1d08c6dae855b57625008c44cca.tar.gz
openvpn-76a59eae43d2a1d08c6dae855b57625008c44cca.tar.xz
openvpn-76a59eae43d2a1d08c6dae855b57625008c44cca.zip
Merged 2.0.4 changes.
svn merge -r 737:749 $SO/trunk/openvpn git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@750 e7ae566f-a301-0410-adde-c780ea21d3b5
Diffstat (limited to 'socket.c')
-rw-r--r--socket.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/socket.c b/socket.c
index dd98f7c..012158c 100644
--- a/socket.c
+++ b/socket.c
@@ -1115,9 +1115,16 @@ link_socket_init_phase2 (struct link_socket *sock,
struct gc_arena gc = gc_new ();
const char *remote_dynamic = NULL;
bool remote_changed = false;
+ int sig_save = 0;
ASSERT (sock);
+ if (signal_received && *signal_received)
+ {
+ sig_save = *signal_received;
+ *signal_received = 0;
+ }
+
/* initialize buffers */
socket_frame_init (frame, sock);
@@ -1321,6 +1328,11 @@ link_socket_init_phase2 (struct link_socket *sock,
&gc));
done:
+ if (sig_save && signal_received)
+ {
+ if (!*signal_received)
+ *signal_received = sig_save;
+ }
gc_free (&gc);
}