VirtualBox

Changeset 16578 in vbox for trunk


Ignore:
Timestamp:
Feb 9, 2009 12:04:47 PM (16 years ago)
Author:
vboxsync
Message:

NAT:fixed revents bits test
nat sock's macrodefinition turns on polls rails

File:
1 edited

Legend:

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

    r16573 r16578  
    5454                                                && ((so)->so_poll_index <= ndfs)                \
    5555                                                && ((so)->s == polls[so->so_poll_index].fd)     \
    56                                                 && (polls[(so)->so_poll_index].revents          \
    57                                                 && N_(fdset ## _poll)))
     56                                                && (polls[(so)->so_poll_index].revents & N_(fdset ## _poll)))
    5857# endif /* VBOX_WITH_SIMPLIFIED_SLIRP_SYNC */
    5958
     
    7069#   define xfds_poll (POLLPRI)
    7170#  endif
     71#  define rderr_poll (POLLERR)
     72#  define rdhup_poll (POLLHUP)
     73#  define nval_poll (POLLNVAL)
    7274
    7375#  define ICMP_ENGAGE_EVENT(so, fdset)               \
     
    157159 */
    158160#if VBOX_WITH_DEBUG_NAT_SOCKETS
    159 # if defined(VBOX_WITH_SIMPLIFIED_SLIRP_SYNC) && defined(RT_OS_WINDOWS)
    160 #  define  DO_LOG_NAT_SOCK(so, proto, winevent, r_fdset, w_fdset, x_fdset)              \
     161# if defined(VBOX_WITH_SIMPLIFIED_SLIRP_SYNC)
     162#  if defined(RT_OS_WINDOWS)
     163#   define  DO_LOG_NAT_SOCK(so, proto, winevent, r_fdset, w_fdset, x_fdset)              \
    161164    do {                                                                                \
    162165        LogRel(("  " #proto " %R[natsock] %R[natwinnetevents]\n", (so), (winevent)));   \
    163166    } while (0)
    164 # else
     167#  else /* RT_OS_WINDOWS */
     168#   define  DO_LOG_NAT_SOCK(so, proto, winevent, r_fdset, w_fdset, x_fdset)         \
     169    do {                                                                            \
     170            LogRel(("  " #proto " %R[natsock] %s %s %s er: %s, %s, %s\n", (so),     \
     171                     CHECK_FD_SET(so, ign ,r_fdset) ? "READ":"",                    \
     172                     CHECK_FD_SET(so, ign, w_fdset) ? "WRITE":"",                   \
     173                     CHECK_FD_SET(so, ign, x_fdset) ? "OOB":"",                     \
     174                     CHECK_FD_SET(so, ign, rderr) ? "RDERR":"",                     \
     175                     CHECK_FD_SET(so, ign, rdhup) ? "RDHUP":"",                     \
     176                     CHECK_FD_SET(so, ign, nval) ? "RDNVAL":""));                   \
     177    } while (0)
     178#  endif /* !RT_OS_WINDOWS */
     179# else /* VBOX_WITH_SIMPLIFIED_SLIRP_SYNC */
    165180#  define  DO_LOG_NAT_SOCK(so, proto, winevent, r_fdset, w_fdset, x_fdset)                              \
    166181    do {                                                                                                \
     
    168183                     FD_ISSET((so)->s, (w_fdset))?"WRITE":"", FD_ISSET((so)->s, (x_fdset))?"OOB":""));  \
    169184    } while (0)
    170 # endif /* VBOX_WITH_DEBUG_NAT_SOCKETS */
    171 #else
     185# endif
     186#else /* VBOX_WITH_DEBUG_NAT_SOCKETS */
    172187# define DO_LOG_NAT_SOCK(so, proto, winevent, r_fdset, w_fdset, x_fdset) do {} while (0)
    173188#endif /* !VBOX_WITH_DEBUG_NAT_SOCKETS */
    174189
    175 #define LOG_NAT_SOCK(so, proto, winevent, r_fdset, w_fdset, x_fdset) DO_LOG_NAT_SOCK((so), proto, (winevent), (r_fdset), (w_fdset), (x_fdset))
     190#define LOG_NAT_SOCK(so, proto, winevent, r_fdset, w_fdset, x_fdset) DO_LOG_NAT_SOCK((so), proto, (winevent), r_fdset, w_fdset, x_fdset)
    176191
    177192static const uint8_t special_ethaddr[6] =
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