< prev index next >

src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c

Print this page




  63 
  64 static jlong page_size = 0;
  65 
  66 #if defined(_ALLBSD_SOURCE) || defined(_AIX)
  67 #define MB      (1024UL * 1024UL)
  68 #else
  69 
  70 /* This gets us the new structured proc interfaces of 5.6 & later */
  71 /* - see comment in <sys/procfs.h> */
  72 #define _STRUCTURED_PROC 1
  73 #include <sys/procfs.h>
  74 
  75 #endif /* _ALLBSD_SOURCE */
  76 
  77 static struct dirent* read_dir(DIR* dirp, struct dirent* entry) {
  78 #ifdef __solaris__
  79     struct dirent* dbuf = readdir(dirp);
  80     return dbuf;
  81 #else /* __linux__ || _ALLBSD_SOURCE */
  82     struct dirent* p;


  83     if (readdir_r(dirp, entry, &p) == 0) {

  84         return p;
  85     } else {
  86         return NULL;
  87     }
  88 #endif
  89 }
  90 
  91 // true = get available swap in bytes
  92 // false = get total swap in bytes
  93 static jlong get_total_or_available_swap_space_size(JNIEnv* env, jboolean available) {
  94 #ifdef __solaris__
  95     long total, avail;
  96     int nswap, i, count;
  97     swaptbl_t *stbl;
  98     char *strtab;
  99 
 100     // First get the number of swap resource entries
 101     if ((nswap = swapctl(SC_GETNSWP, NULL)) == -1) {
 102         throw_internal_error(env, "swapctl failed to get nswap");
 103         return -1;




  63 
  64 static jlong page_size = 0;
  65 
  66 #if defined(_ALLBSD_SOURCE) || defined(_AIX)
  67 #define MB      (1024UL * 1024UL)
  68 #else
  69 
  70 /* This gets us the new structured proc interfaces of 5.6 & later */
  71 /* - see comment in <sys/procfs.h> */
  72 #define _STRUCTURED_PROC 1
  73 #include <sys/procfs.h>
  74 
  75 #endif /* _ALLBSD_SOURCE */
  76 
  77 static struct dirent* read_dir(DIR* dirp, struct dirent* entry) {
  78 #ifdef __solaris__
  79     struct dirent* dbuf = readdir(dirp);
  80     return dbuf;
  81 #else /* __linux__ || _ALLBSD_SOURCE */
  82     struct dirent* p;
  83 #pragma GCC diagnostic push
  84 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
  85     if (readdir_r(dirp, entry, &p) == 0) {
  86 #pragma GCC diagnostic pop
  87         return p;
  88     } else {
  89         return NULL;
  90     }
  91 #endif
  92 }
  93 
  94 // true = get available swap in bytes
  95 // false = get total swap in bytes
  96 static jlong get_total_or_available_swap_space_size(JNIEnv* env, jboolean available) {
  97 #ifdef __solaris__
  98     long total, avail;
  99     int nswap, i, count;
 100     swaptbl_t *stbl;
 101     char *strtab;
 102 
 103     // First get the number of swap resource entries
 104     if ((nswap = swapctl(SC_GETNSWP, NULL)) == -1) {
 105         throw_internal_error(env, "swapctl failed to get nswap");
 106         return -1;


< prev index next >