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:
parent
8eaf884417
commit
c3aca6ed47
19
lib/multi.c
19
lib/multi.c
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user