comparison src/os/solaris/vm/os_solaris.inline.hpp @ 11198:1e6d5dec4a4e

Merge.
author Christian Humer <christian.humer@gmail.com>
date Mon, 05 Aug 2013 13:20:06 +0200
parents feae15578b2f
children 6c9332549827 ce8f6bb717c9
comparison
equal deleted inserted replaced
11197:3479ab380552 11198:1e6d5dec4a4e
87 return (size < 0 ? MAXPATHLEN : size) + sizeof(dirent) + 1; 87 return (size < 0 ? MAXPATHLEN : size) + sizeof(dirent) + 1;
88 } 88 }
89 89
90 inline struct dirent* os::readdir(DIR* dirp, dirent* dbuf) { 90 inline struct dirent* os::readdir(DIR* dirp, dirent* dbuf) {
91 assert(dirp != NULL, "just checking"); 91 assert(dirp != NULL, "just checking");
92 #if defined(_LP64) || defined(_GNU_SOURCE) 92 #if defined(_LP64) || defined(_GNU_SOURCE) || _FILE_OFFSET_BITS==64
93 dirent* p; 93 dirent* p;
94 int status; 94 int status;
95 95
96 if((status = ::readdir_r(dirp, dbuf, &p)) != 0) { 96 if((status = ::readdir_r(dirp, dbuf, &p)) != 0) {
97 errno = status; 97 errno = status;
98 return NULL; 98 return NULL;
99 } else 99 } else
100 return p; 100 return p;
101 #else // defined(_LP64) || defined(_GNU_SOURCE) 101 #else // defined(_LP64) || defined(_GNU_SOURCE) || _FILE_OFFSET_BITS==64
102 return ::readdir_r(dirp, dbuf); 102 return ::readdir_r(dirp, dbuf);
103 #endif // defined(_LP64) || defined(_GNU_SOURCE) 103 #endif // defined(_LP64) || defined(_GNU_SOURCE) || _FILE_OFFSET_BITS==64
104 } 104 }
105 105
106 inline int os::closedir(DIR *dirp) { 106 inline int os::closedir(DIR *dirp) {
107 assert(dirp != NULL, "argument is NULL"); 107 assert(dirp != NULL, "argument is NULL");
108 return ::closedir(dirp); 108 return ::closedir(dirp);