[asio] fails to compile on HP-UX aCC 11.23 due to ::pselect
Boost 1.39/1.40 asio will not compile with acc A.06.20 on HPUX 11.23 : I have following error: "/scratch/ma/ma0/hpia64/boost/boost_1_39_0/boost/asio/detail/socket_ops.hpp", line 643: error #2282: the global scope has no "pselect" return error_wrapper(::pselect(nfds, readfds, The offending code in socket_ops.hpp is : inline int select(int nfds, fd_set* readfds, fd_set* writefds, fd_set* exceptfds, timeval* timeout, boost::system::error_code& ec) { ........... #if defined(__hpux) && defined(__HP_aCC) timespec ts; ts.tv_sec = timeout ? timeout->tv_sec : 0; ts.tv_nsec = timeout ? timeout->tv_usec * 1000 : 0; return error_wrapper(::pselect(nfds, readfds, writefds, exceptfds, timeout ? &ts : 0, 0), ec); #else int result = error_wrapper(::select(nfds, readfds, writefds, exceptfds, timeout), ec); if (result >= 0) clear_error(ec); return result; #endif } If I comment out the #ifdef with pselect in it, then everything appears to be ok.
From googling around it appears that pselect was only valid for certain OS versions, however #if can not detect this.
Has anyone found a more reliable workaround ? Best regards, Ta, Avi
participants (1)
-
Avi Bahra