1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-10 09:49:05 +00:00

Hopefully fixes the interrupted system call fatal

behaviour unearthed by the mass_ping -> ultra_scan
migration.
This commit is contained in:
doug
2007-07-24 22:21:44 +00:00
parent 506378062c
commit bd7c94c7e6

View File

@@ -1831,6 +1831,8 @@ int pcap_select(pcap_t *p, struct timeval *timeout)
int fd, ret;
fd_set rfds;
again:
if ((fd = my_pcap_get_selectable_fd(p)) == -1)
return -1;
@@ -1839,8 +1841,12 @@ int pcap_select(pcap_t *p, struct timeval *timeout)
ret = select(fd + 1, &rfds, NULL, NULL, timeout);
if (ret == -1)
fatal("Your system does not support select()ing on pcap devices (%s). PLEASE REPORT THIS ALONG WITH DETAILED SYSTEM INFORMATION TO THE nmap-dev MAILING LIST!", strerror(errno));
if (ret == -1) {
if (errno == EINTR)
goto again;
else
fatal("Your system does not support select()ing on pcap devices (%s). PLEASE REPORT THIS ALONG WITH DETAILED SYSTEM INFORMATION TO THE nmap-dev MAILING LIST!", strerror(errno));
} while (errno == EINTR);
return ret;
}