src/solaris/native/java/lang/childproc.c

Print this page
rev 8822 : 8024854: PPC64: Basic changes and files to build the class library on AIX
Reviewed-by: alanb, prr, sla, chegar, michaelm, mullan, art
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com

*** 64,73 **** --- 64,76 ---- #ifdef _ALLBSD_SOURCE #define FD_DIR "/dev/fd" #define dirent64 dirent #define readdir64 readdir + #elif defined(_AIX) + /* AIX does not understand '/proc/self' - it requires the real process ID */ + #define FD_DIR aix_fd_dir #else #define FD_DIR "/proc/self/fd" #endif int
*** 85,94 **** --- 88,103 ---- * close a couple explicitly. */ close(from_fd); /* for possible use by opendir() */ close(from_fd + 1); /* another one for good luck */ + #if defined(_AIX) + /* AIX does not understand '/proc/self' - it requires the real process ID */ + char aix_fd_dir[32]; /* the pid has at most 19 digits */ + snprintf(aix_fd_dir, 32, "/proc/%d/fd", getpid()); + #endif + if ((dp = opendir(FD_DIR)) == NULL) return 0; /* We use readdir64 instead of readdir to work around Solaris bug * 6395699: /proc/self/fd fails to report file descriptors >= 1024 on Solaris 9