Skip to content

Commit ec76f81

Browse files
payne.yelws-team
payne.ye
authored andcommitted
smp: extend client to work with tsi
and take care of zombie sul previously left on connect failure path
1 parent 5ab6e04 commit ec76f81

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

lib/core-net/client/connect3.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ lws_client_connect_3_connect(struct lws *wsi, const char *ads,
249249
*/
250250

251251
lwsi_set_state(wsi, LRS_UNCONNECTED);
252-
lws_sul_schedule(wsi->a.context, 0, &wsi->sul_connect_timeout,
252+
lws_sul_schedule(wsi->a.context, wsi->tsi, &wsi->sul_connect_timeout,
253253
lws_client_dns_retry_timeout,
254254
LWS_USEC_PER_SEC);
255255
return wsi;
@@ -655,7 +655,7 @@ lws_client_connect_3_connect(struct lws *wsi, const char *ads,
655655
* uses wsi->sul_connect_timeout just for this purpose
656656
*/
657657

658-
lws_sul_schedule(wsi->a.context, 0, &wsi->sul_connect_timeout,
658+
lws_sul_schedule(wsi->a.context, wsi->tsi, &wsi->sul_connect_timeout,
659659
lws_client_conn_wait_timeout,
660660
wsi->a.context->timeout_secs *
661661
LWS_USEC_PER_SEC);
@@ -801,6 +801,7 @@ lws_client_connect_3_connect(struct lws *wsi, const char *ads,
801801
lws_inform_client_conn_fail(wsi, (void *)cce, strlen(cce));
802802

803803
failed1:
804+
lws_sul_cancel(&wsi->sul_connect_timeout);
804805
lws_close_free_wsi(wsi, LWS_CLOSE_STATUS_NOSTATUS, "client_connect3");
805806

806807
return NULL;

lib/core-net/client/connect4.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ lws_client_connect_4_established(struct lws *wsi, struct lws *wsi_piggyback,
279279
pfd.revents = LWS_POLLOUT;
280280

281281
lwsl_wsi_info(wsi, "going to service fd");
282-
n = lws_service_fd(wsi->a.context, &pfd);
282+
n = lws_service_fd_tsi(wsi->a.context, &pfd, wsi->tsi);
283283
if (n < 0) {
284284
cce = "first service failed";
285285
goto failed;
@@ -318,7 +318,7 @@ lws_client_connect_4_established(struct lws *wsi, struct lws *wsi_piggyback,
318318
pfd.events = LWS_POLLIN;
319319
pfd.revents = LWS_POLLIN;
320320

321-
n = lws_service_fd(wsi->a.context, &pfd);
321+
n = lws_service_fd_tsi(wsi->a.context, &pfd, wsi->tsi);
322322
if (n < 0) {
323323
cce = "first service failed";
324324
goto failed;

0 commit comments

Comments
 (0)