VirtualBox

Changeset 19047 in vbox for trunk/src/VBox/Devices


Ignore:
Timestamp:
Apr 21, 2009 7:39:39 AM (16 years ago)
Author:
vboxsync
Message:

NAT: EINTR handling in poll

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/DrvNAT.cpp

    r19014 r19047  
    328328        if (cChangedFDs < 0)
    329329        {
    330             if (cPollNegRet++ > 128)
     330            if (errno == EINTR)
    331331            {
    332                 LogRel(("Poll returns (%s) suppressed %d\n", strerror(errno), cPollNegRet));
     332                Log2(("NAT: signal was cautched while sleep on poll\n"));
     333                slirp_select_poll(pThis->pNATState, &polls[1], 0);
     334                /* process _all_ outstanding requests but don't wait */
     335                RTReqProcess(pThis->pReqQueue, 0);
     336            }
     337            else if (cPollNegRet++ > 128)
     338            {
     339                LogRel(("NAT:Poll returns (%s) suppressed %d\n", strerror(errno), cPollNegRet));
    333340                cPollNegRet = 0;
    334341            }
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette