Merge pull request #434 from raywang-dev/fix-stack-corruption

fix: scan PDUs before exiting event_loop due to connect timedout
This commit is contained in:
Ronnie Sahlberg
2024-12-07 01:30:47 -05:00
committed by GitHub

View File

@@ -67,14 +67,21 @@ event_loop(struct iscsi_context *iscsi, struct iscsi_sync_state *state)
while (state->finished == 0) { while (state->finished == 0) {
short revents; short revents;
if (scsi_timeout) { if (scsi_timeout) {
t = time(NULL); t = time(NULL);
if (t > scsi_timeout) { if (t > scsi_timeout) {
iscsi_set_error(iscsi, "Connect timedout"); iscsi_timeout_scan(iscsi);
state->status = -1;
return; if (iscsi->old_iscsi) {
} iscsi_timeout_scan(iscsi->old_iscsi);
} }
iscsi_set_error(iscsi, "Connect timedout");
state->status = -1;
return;
}
}
pfd.fd = iscsi_get_fd(iscsi); pfd.fd = iscsi_get_fd(iscsi);
pfd.events = iscsi_which_events(iscsi); pfd.events = iscsi_which_events(iscsi);