< prev index next >

src/hotspot/os/windows/attachListener_windows.cpp

Print this page


   1 /*
   2  * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *


 364   ThreadBlockInVM tbivm(thread);
 365 
 366   thread->set_suspend_equivalent();
 367   // cleared by handle_special_suspend_equivalent_condition() or
 368   // java_suspend_self() via check_and_wait_while_suspended()
 369 
 370   AttachOperation* op = Win32AttachListener::dequeue();
 371 
 372   // were we externally suspended while we were waiting?
 373   thread->check_and_wait_while_suspended();
 374 
 375   return op;
 376 }
 377 
 378 void AttachListener::vm_start() {
 379   // nothing to do
 380 }
 381 
 382 int AttachListener::pd_init() {
 383   return Win32AttachListener::init();






 384 }
 385 
 386 bool AttachListener::init_at_startup() {
 387   return true;
 388 }
 389 
 390 // no trigger mechanism on Windows to start Attach Listener lazily
 391 bool AttachListener::is_init_trigger() {
 392   return false;
 393 }
 394 
 395 void AttachListener::abort() {
 396   // nothing to do
 397 }
 398 
 399 void AttachListener::pd_data_dump() {
 400   os::signal_notify(SIGBREAK);
 401 }
 402 
 403 AttachOperationFunctionInfo* AttachListener::pd_find_operation(const char* n) {
   1 /*
   2  * Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *


 364   ThreadBlockInVM tbivm(thread);
 365 
 366   thread->set_suspend_equivalent();
 367   // cleared by handle_special_suspend_equivalent_condition() or
 368   // java_suspend_self() via check_and_wait_while_suspended()
 369 
 370   AttachOperation* op = Win32AttachListener::dequeue();
 371 
 372   // were we externally suspended while we were waiting?
 373   thread->check_and_wait_while_suspended();
 374 
 375   return op;
 376 }
 377 
 378 void AttachListener::vm_start() {
 379   // nothing to do
 380 }
 381 
 382 int AttachListener::pd_init() {
 383   return Win32AttachListener::init();
 384 }
 385 
 386 // This function is used for Un*x OSes only.
 387 // We need not to implement it for Windows.
 388 bool AttachListener::check_socket_file() {
 389   return false;
 390 }
 391 
 392 bool AttachListener::init_at_startup() {
 393   return true;
 394 }
 395 
 396 // no trigger mechanism on Windows to start Attach Listener lazily
 397 bool AttachListener::is_init_trigger() {
 398   return false;
 399 }
 400 
 401 void AttachListener::abort() {
 402   // nothing to do
 403 }
 404 
 405 void AttachListener::pd_data_dump() {
 406   os::signal_notify(SIGBREAK);
 407 }
 408 
 409 AttachOperationFunctionInfo* AttachListener::pd_find_operation(const char* n) {
< prev index next >