jdk/src/solaris/native/java/net/net_util_md.h
changeset 22607 ba232b417248
parent 22341 4689530d03b9
parent 22597 7515a991bb37
child 23015 73b21ab36615
--- a/jdk/src/solaris/native/java/net/net_util_md.h	Tue Jan 28 11:22:25 2014 -0800
+++ b/jdk/src/solaris/native/java/net/net_util_md.h	Tue Jan 28 14:57:41 2014 -0800
@@ -37,7 +37,17 @@
 #endif
 
 
-#if defined(__linux__) || defined(MACOSX)
+/*
+   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,