diff options
author | Daniel Stenberg <daniel@haxx.se> | 2002-08-08 22:52:50 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2002-08-08 22:52:50 +0000 |
commit | 4cf953678d06346de07d3d64fe5bc650cbc01bf6 (patch) | |
tree | b4f64e7b2bdcf1fc2f13f97db2c81595fd202ace /lib/transfer.c | |
parent | ca5678c8c112bb31b3f4074a6526905027b57e38 (diff) |
Markus F.X.J. Oberhumer's CURLOPT_NOSIGNAL patch
Diffstat (limited to 'lib/transfer.c')
-rw-r--r-- | lib/transfer.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/transfer.c b/lib/transfer.c index ae9d621c8..0b0563f41 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -1130,7 +1130,8 @@ CURLcode Curl_pretransfer(struct SessionHandle *data) /************************************************************* * Tell signal handler to ignore SIGPIPE *************************************************************/ - data->state.prev_signal = signal(SIGPIPE, SIG_IGN); + if(!data->set.no_signal) + data->state.prev_signal = signal(SIGPIPE, SIG_IGN); #endif Curl_initinfo(data); /* reset session-specific information "variables" */ @@ -1143,7 +1144,8 @@ CURLcode Curl_posttransfer(struct SessionHandle *data) { #if defined(HAVE_SIGNAL) && defined(SIGPIPE) /* restore the signal handler for SIGPIPE before we get back */ - signal(SIGPIPE, data->state.prev_signal); + if(!data->set.no_signal) + signal(SIGPIPE, data->state.prev_signal); #endif return CURLE_OK; |