mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-13 07:45:26 +00:00
esl: use recv_timed in esl_connect_timemout in case we get stuck in a blocking recv
This commit is contained in:
parent
8a7f38c650
commit
13137e228c
@ -713,7 +713,7 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char *
|
||||
|
||||
handle->connected = 1;
|
||||
|
||||
if (esl_recv(handle)) {
|
||||
if (esl_recv_timed(handle, timeout)) {
|
||||
snprintf(handle->err, sizeof(handle->err), "Connection Error");
|
||||
goto fail;
|
||||
}
|
||||
@ -734,7 +734,7 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char *
|
||||
esl_send(handle, sendbuf);
|
||||
|
||||
|
||||
if (esl_recv(handle)) {
|
||||
if (esl_recv_timed(handle, timeout)) {
|
||||
snprintf(handle->err, sizeof(handle->err), "Authentication Error");
|
||||
goto fail;
|
||||
}
|
||||
@ -813,6 +813,10 @@ ESL_DECLARE(esl_status_t) esl_recv_event_timed(esl_handle_t *handle, uint32_t ms
|
||||
}
|
||||
esl_mutex_unlock(handle->mutex);
|
||||
}
|
||||
|
||||
if (ms == -1) {
|
||||
ms = 30000;
|
||||
}
|
||||
|
||||
tv.tv_usec = ms * 1000;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user