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