aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/main.c b/src/main.c
index 585d98b0c..91b6d9fb2 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1439,13 +1439,12 @@ static int set_so_keepalive(void *clientp, curl_socket_t curlfd,
curlsocktype purpose)
{
struct Configurable *config = (struct Configurable *)clientp;
- int data = !config->nokeepalive;
+ int onoff = config->nokeepalive ? 0 : 1;
switch (purpose) {
case CURLSOCKTYPE_IPCXN:
- /* setsockopt()'s 5th argument is a 'socklen_t' type in POSIX, but windows
- and other pre-POSIX systems use 'int' here! */
- if (setsockopt(curlfd, SOL_SOCKET, SO_KEEPALIVE, &data, sizeof(data)) < 0) {
+ if(setsockopt(curlfd, SOL_SOCKET, SO_KEEPALIVE, (void *)&onoff,
+ sizeof(onoff)) < 0) {
warnf(clientp, "Could not set SO_KEEPALIVE!\n");
return 1;
}