1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-21 23:58:49 -05:00

multi: simplified singlesocket

Since sh_getentry() now checks for invalid sockets itself and by
narrowing the scope of the remove_sock_from_hash variable.
This commit is contained in:
Daniel Stenberg 2016-03-14 09:44:14 +01:00
parent 8eaf884417
commit c3aca6ed47

View File

@ -2000,7 +2000,6 @@ static void singlesocket(struct Curl_multi *multi,
curl_socket_t s;
int num;
unsigned int curraction;
bool remove_sock_from_hash;
for(i=0; i< MAX_SOCKSPEREASYHANDLE; i++)
socks[i] = CURL_SOCKET_BAD;
@ -2068,13 +2067,12 @@ static void singlesocket(struct Curl_multi *multi,
break;
}
}
if(s != CURL_SOCKET_BAD) {
/* this socket has been removed. Tell the app to remove it */
remove_sock_from_hash = TRUE;
entry = sh_getentry(&multi->sockhash, s);
if(entry) {
/* this socket has been removed. Tell the app to remove it */
bool remove_sock_from_hash = TRUE;
/* check if the socket to be removed serves a connection which has
other easy-s in a pipeline. In this case the socket should not be
removed. */
@ -2113,12 +2111,6 @@ static void singlesocket(struct Curl_multi *multi,
head of the correct pipe will be taken according to the
action. */
}
}
else
/* just a precaution, this socket really SHOULD be in the hash already
but in case it isn't, we don't have to tell the app to remove it
either since it never got to know about it */
remove_sock_from_hash = FALSE;
if(remove_sock_from_hash) {
/* in this case 'entry' is always non-NULL */
@ -2130,9 +2122,8 @@ static void singlesocket(struct Curl_multi *multi,
entry->socketp);
sh_delentry(&multi->sockhash, s);
}
}
}
} /* if sockhash entry existed */
} /* for loop over numsocks */
memcpy(data->sockets, socks, num*sizeof(curl_socket_t));
data->numsocks = num;