src/solaris/native/java/net/net_util_md.h
Print this page
rev 8725 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by: alanb, prr, sla, chegar, michaelm, mullan
*** 35,45 ****
#ifndef USE_SELECT
#include <sys/poll.h>
#endif
! #if defined(__linux__) || defined(MACOSX)
extern int NET_Timeout(int s, long timeout);
extern int NET_Read(int s, void* buf, size_t len);
extern int NET_RecvFrom(int s, void *buf, int len, unsigned int flags,
struct sockaddr *from, int *fromlen);
extern int NET_ReadV(int s, const struct iovec * vector, int count);
--- 35,55 ----
#ifndef USE_SELECT
#include <sys/poll.h>
#endif
! /*
! AIX needs a workaround for I/O cancellation, see:
! http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.basetechref/doc/basetrf1/close.htm
! ...
! The close subroutine is blocked until all subroutines which use the file
! descriptor return to usr space. For example, when a thread is calling close
! and another thread is calling select with the same file descriptor, the
! close subroutine does not return until the select call returns.
! ...
! */
! #if defined(__linux__) || defined(MACOSX) || defined (_AIX)
extern int NET_Timeout(int s, long timeout);
extern int NET_Read(int s, void* buf, size_t len);
extern int NET_RecvFrom(int s, void *buf, int len, unsigned int flags,
struct sockaddr *from, int *fromlen);
extern int NET_ReadV(int s, const struct iovec * vector, int count);