diff --git a/src/hotspot/os/aix/osThread_aix.cpp b/src/hotspot/os/aix/osThread_aix.cpp index 204b271ceee..bbc7cf41e52 100644 --- a/src/hotspot/os/aix/osThread_aix.cpp +++ b/src/hotspot/os/aix/osThread_aix.cpp @@ -37,11 +37,9 @@ OSThread::OSThread() _siginfo(nullptr), _ucontext(nullptr), _expanding_stack(0), - _alt_sig_stack(nullptr), - _startThread_lock(new Monitor(Mutex::event, "startThread_lock")) { + _alt_sig_stack(nullptr) { sigemptyset(&_caller_sigmask); } OSThread::~OSThread() { - delete _startThread_lock; } diff --git a/src/hotspot/os/aix/osThread_aix.hpp b/src/hotspot/os/aix/osThread_aix.hpp index 771c2c19e45..81c0eafa0f7 100644 --- a/src/hotspot/os/aix/osThread_aix.hpp +++ b/src/hotspot/os/aix/osThread_aix.hpp @@ -114,15 +114,6 @@ class OSThread : public OSThreadBase { void set_alt_sig_stack(address val) { _alt_sig_stack = val; } address alt_sig_stack(void) { return _alt_sig_stack; } - private: - Monitor* _startThread_lock; // sync parent and child in thread creation - - public: - - Monitor* startThread_lock() const { - return _startThread_lock; - } - // Printing uintx thread_id_for_printing() const override { return (uintx)_thread_id; diff --git a/src/hotspot/os/aix/os_aix.cpp b/src/hotspot/os/aix/os_aix.cpp index e452bfdfd7c..315c5fde157 100644 --- a/src/hotspot/os/aix/os_aix.cpp +++ b/src/hotspot/os/aix/os_aix.cpp @@ -796,6 +796,8 @@ bool os::create_thread(Thread* thread, ThreadType thr_type, // OSThread::thread_id is the pthread id. osthread->set_thread_id(tid); + // child thread synchronization is not done here on AIX, a thread is started in suspended state + return true; }