src/hotspot/os/posix/os_posix.hpp
changeset 53646 043ae846819f
parent 53461 08d6edeb3145
child 53654 7054249afee5
--- a/src/hotspot/os/posix/os_posix.hpp	Tue Feb 05 13:21:59 2019 -0500
+++ b/src/hotspot/os/posix/os_posix.hpp	Tue Feb 05 15:12:13 2019 -0500
@@ -224,6 +224,23 @@
   PlatformParker();
 };
 
+// Platform specific implementation that underpins VM Monitor/Mutex class
+class PlatformMonitor : public CHeapObj<mtInternal> {
+ private:
+  pthread_mutex_t _mutex; // Native mutex for locking
+  pthread_cond_t  _cond;  // Native condition variable for blocking
+
+ public:
+  PlatformMonitor();
+  ~PlatformMonitor();
+  void lock();
+  void unlock();
+  bool try_lock();
+  int wait(jlong millis);
+  void notify();
+  void notify_all();
+};
+
 #endif // !SOLARIS
 
 #endif // OS_POSIX_OS_POSIX_HPP