mirror of
https://github.com/moparisthebest/curl
synced 2024-08-13 17:03:50 -04:00
Give the NTLM SSO helper a moment to cleanly shut down if needed
This commit is contained in:
parent
435e2bc757
commit
9779553221
@ -51,6 +51,7 @@
|
||||
#include "urldata.h"
|
||||
#include "non-ascii.h" /* for Curl_convert_... prototypes */
|
||||
#include "sendf.h"
|
||||
#include "select.h"
|
||||
#include "rawstr.h"
|
||||
#include "curl_base64.h"
|
||||
#include "http_ntlm.h"
|
||||
@ -694,10 +695,14 @@ static void sso_ntlm_close(struct connectdata *conn)
|
||||
case 0:
|
||||
kill(conn->pid, SIGTERM);
|
||||
break;
|
||||
case 1:
|
||||
/* Give the process another moment to shut down cleanly before
|
||||
bringing down the axe */
|
||||
Curl_wait_ms(1);
|
||||
break;
|
||||
case 2:
|
||||
kill(conn->pid, SIGKILL);
|
||||
break;
|
||||
case 1:
|
||||
case 3:
|
||||
break;
|
||||
}
|
||||
|
@ -90,7 +90,7 @@
|
||||
* -1 = system call error, invalid timeout value, or interrupted
|
||||
* 0 = specified timeout has elapsed
|
||||
*/
|
||||
static int wait_ms(int timeout_ms)
|
||||
int Curl_wait_ms(int timeout_ms)
|
||||
{
|
||||
#if !defined(MSDOS) && !defined(USE_WINSOCK)
|
||||
#ifndef HAVE_POLL_FINE
|
||||
@ -177,7 +177,7 @@ int Curl_socket_ready(curl_socket_t readfd, curl_socket_t writefd,
|
||||
int ret;
|
||||
|
||||
if((readfd == CURL_SOCKET_BAD) && (writefd == CURL_SOCKET_BAD)) {
|
||||
r = wait_ms((int)timeout_ms);
|
||||
r = Curl_wait_ms((int)timeout_ms);
|
||||
return r;
|
||||
}
|
||||
|
||||
@ -361,7 +361,7 @@ int Curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms)
|
||||
}
|
||||
}
|
||||
if(fds_none) {
|
||||
r = wait_ms((int)timeout_ms);
|
||||
r = Curl_wait_ms(timeout_ms);
|
||||
return r;
|
||||
}
|
||||
|
||||
|
@ -89,6 +89,8 @@ int Curl_socket_ready(curl_socket_t readfd, curl_socket_t writefd,
|
||||
|
||||
int Curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms);
|
||||
|
||||
int Curl_wait_ms(int timeout_ms);
|
||||
|
||||
#ifdef TPF
|
||||
int tpf_select_libcurl(int maxfds, fd_set* reads, fd_set* writes,
|
||||
fd_set* excepts, struct timeval* tv);
|
||||
|
Loading…
Reference in New Issue
Block a user