On Mon, Feb 10, 2014 at 11:16:22AM -0800, Gurucharan Shetty wrote: > This commit creates events and through poll_fd_wait_event() > associates them with socket file descriptors to get woken up > from poll_block(). > > Some other changes: > > * Windows does not have sys/fcntl.h but has a fcntl.h > On Linux, there is fctnl.h too. > > * include <openssl/applink.c> to handle different C-Runtime linking > of OVS and openssl libraries as suggested at > https://www.openssl.org/support/faq.html#PROG2
The last sentence in that FAQ entry is: "An explicit reminder is due that in this situation [mixing compiler options] it is as important to add CRYPTO_malloc_init prior first call to OpenSSL." We don't call CRYPTO_malloc_init(). Should we? > The above include will not be needed if we compile Open vSwitch with > /MD compiler option. Do we need to avoid the #include, with /MD? > * WSAEventSelect() function that associates 'fd' with events, does not > understand POLLIN, POLLOUT etc. Instead the macros it understands are FD_READ, > FD_WRITE, FD_ACCEPT, FD_CONNECT, FD_CLOSE etc. So we need to make that > transition. Won't we need that kind of translation for every call to poll_fd_wait_event() in the whole program? If so then should we do the translation inside poll_fd_wait_event() itself, so that we don't have to modify code all over? I see that one of the changes here is changing a setsockopt() call to cater to Windows defining the data arg as "char *" instead of "void *". We have a fair number of setsockopt() calls in the tree, and so it might be better to just add something like this (untested) to socket-util.h: #ifdef _WIN32 /* Windows defines the 'optval' argument as char * instead of void *. */ #define setsockopt(sock, level, optname, optval, optlen) \ rpl_setsockopt(sock, level, optname, optval, optlen) static inline int rpl_setsockopt(int sock, int level, int optname, const void *optval, socklen_t optlen) { return (setsockopt)(sock, level, optname, optval, optlen); } #endif Thanks, Ben. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev