20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 21 * or visit www.oracle.com if you need additional information or have any 22 * questions. 23 * 24 */ 25 26 #ifndef OS_AIX_OS_AIX_HPP 27 #define OS_AIX_OS_AIX_HPP 28 29 // Information about the protection of the page at address '0' on this os. 30 static bool zero_page_read_protected() { return false; } 31 32 // Class Aix defines the interface to the Aix operating systems. 33 34 class Aix { 35 friend class os; 36 37 static bool libjsig_is_loaded; // libjsig that interposes sigaction(), 38 // __sigaction(), signal() is loaded 39 static struct sigaction *(*get_signal_action)(int); 40 static struct sigaction *get_preinstalled_handler(int); 41 static void save_preinstalled_handler(int, struct sigaction&); 42 43 static void check_signal_handler(int sig); 44 45 private: 46 47 static julong _physical_memory; 48 static pthread_t _main_thread; 49 static Mutex* _createThread_lock; 50 static int _page_size; 51 52 // -1 = uninitialized, 0 = AIX, 1 = OS/400 (PASE) 53 static int _on_pase; 54 55 // 0 = uninitialized, otherwise 16 bit number: 56 // lower 8 bit - minor version 57 // higher 8 bit - major version 58 // For AIX, e.g. 0x0601 for AIX 6.1 59 // for OS/400 e.g. 0x0504 for OS/400 V5R4 60 static uint32_t _os_version; 61 | 20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 21 * or visit www.oracle.com if you need additional information or have any 22 * questions. 23 * 24 */ 25 26 #ifndef OS_AIX_OS_AIX_HPP 27 #define OS_AIX_OS_AIX_HPP 28 29 // Information about the protection of the page at address '0' on this os. 30 static bool zero_page_read_protected() { return false; } 31 32 // Class Aix defines the interface to the Aix operating systems. 33 34 class Aix { 35 friend class os; 36 37 static bool libjsig_is_loaded; // libjsig that interposes sigaction(), 38 // __sigaction(), signal() is loaded 39 static struct sigaction *(*get_signal_action)(int); 40 41 static void check_signal_handler(int sig); 42 43 private: 44 45 static julong _physical_memory; 46 static pthread_t _main_thread; 47 static Mutex* _createThread_lock; 48 static int _page_size; 49 50 // -1 = uninitialized, 0 = AIX, 1 = OS/400 (PASE) 51 static int _on_pase; 52 53 // 0 = uninitialized, otherwise 16 bit number: 54 // lower 8 bit - minor version 55 // higher 8 bit - major version 56 // For AIX, e.g. 0x0601 for AIX 6.1 57 // for OS/400 e.g. 0x0504 for OS/400 V5R4 58 static uint32_t _os_version; 59 |