diff options
Diffstat (limited to 'ACE/ace/OS_NS_poll.inl')
-rw-r--r-- | ACE/ace/OS_NS_poll.inl | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/ACE/ace/OS_NS_poll.inl b/ACE/ace/OS_NS_poll.inl new file mode 100644 index 00000000000..ab1b2d8b54e --- /dev/null +++ b/ACE/ace/OS_NS_poll.inl @@ -0,0 +1,45 @@ +// -*- C++ -*- +// +// $Id$ + +#include "ace/Time_Value.h" +#include "ace/OS_NS_errno.h" + +ACE_BEGIN_VERSIONED_NAMESPACE_DECL + +ACE_INLINE int +ACE_OS::poll (struct pollfd *pollfds, + unsigned long len, + const ACE_Time_Value *timeout) +{ + ACE_OS_TRACE ("ACE_OS::poll"); +#if defined (ACE_HAS_POLL) + int to = timeout == 0 ? -1 : int (timeout->msec ()); + ACE_OSCALL_RETURN (::poll (pollfds, len, to), int, -1); +#else + ACE_UNUSED_ARG (timeout); + ACE_UNUSED_ARG (len); + ACE_UNUSED_ARG (pollfds); + + ACE_NOTSUP_RETURN (-1); +#endif /* ACE_HAS_POLL */ +} + +ACE_INLINE int +ACE_OS::poll (struct pollfd *pollfds, + unsigned long len, + const ACE_Time_Value &timeout) +{ + ACE_OS_TRACE ("ACE_OS::poll"); +#if defined (ACE_HAS_POLL) + ACE_OSCALL_RETURN (::poll (pollfds, len, int (timeout.msec ())), int, -1); +#else + ACE_UNUSED_ARG (timeout); + ACE_UNUSED_ARG (len); + ACE_UNUSED_ARG (pollfds); + + ACE_NOTSUP_RETURN (-1); +#endif /* ACE_HAS_POLL */ +} + +ACE_END_VERSIONED_NAMESPACE_DECL |