VirtualBox

Ignore:
Timestamp:
May 16, 2012 6:22:42 PM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
78016
Message:

NAT: attempt to fix #6188. libaslias marks sockets for deletion, but don't delete.

Location:
trunk/src/VBox/Devices/Network/slirp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/slirp/libalias/alias_db.c

    r40834 r41341  
    10181018        struct libalias *la = lnk->la;
    10191019        la->sockCount--;
     1020        lnk->pSo->fShouldBeRemoved = 1;
    10201021        lnk->pSo = NULL;
    10211022    }
     
    10611062        close(lnk->sockfd);
    10621063    }
    1063 # else
     1064# else /* VBOX */
    10641065    if (lnk->pSo)
    10651066    {
     
    10711072         * narrow-minded and just do sofree here
    10721073         */
     1074#if 0
    10731075        sofree(la->pData, lnk->pSo);
    1074         lnk->pSo = NULL;
     1076#else
     1077        slirpDeleteLinkSocket(lnk);
     1078#endif
    10751079    }
    10761080# endif
  • trunk/src/VBox/Devices/Network/slirp/slirp.c

    r41229 r41341  
    12521252        Assert((!so->so_cloneOf));
    12531253#endif
     1254        Assert(!so->fUnderPolling);
     1255        so->fUnderPolling = 1;
     1256        if (slirpVerifyAndFreeSocket(pData, so))
     1257            CONTINUE(tcp);
    12541258        /*
    12551259         * FD_ISSET is meaningless on these sockets
     
    12571261         */
    12581262        if (so->so_state & SS_NOFDREF || so->s == -1)
     1263        {
     1264            so->fUnderPolling = 0;
    12591265            CONTINUE(tcp);
    1260 
    1261         Assert(!so->fUnderPolling);
    1262         so->fUnderPolling = 1;
     1266        }
     1267
    12631268        POLL_TCP_EVENTS(rc, error, so, &NetworkEvents);
    12641269
     
    14911496            CONTINUE_NO_UNLOCK(udp);
    14921497#endif
     1498#if 0
     1499        so->fUnderPolling = 1;
     1500        if(slirpVerifyAndFreeSocket(pData, so));
     1501            CONTINUE(udp);
     1502        so->fUnderPolling = 0;
     1503#endif
     1504
    14931505        POLL_UDP_EVENTS(rc, error, so, &NetworkEvents);
    14941506
Note: See TracChangeset for help on using the changeset viewer.

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