00001 /* 00002 Copyright (c) 2001, John Lambert jlambert@jlambert.com 00003 All rights reserved. 00004 00005 Redistribution and use in source and binary forms, with or without modification, are 00006 permitted provided that the following conditions are met: 00007 00008 Redistributions of source code must retain the above copyright notice, this list of 00009 conditions and the following disclaimer. 00010 00011 Redistributions in binary form must reproduce the above copyright notice, this list 00012 of conditions and the following disclaimer in the documentation and/or other 00013 materials provided with the distribution. 00014 00015 Neither the name of the xdProf project nor the names of its contributors may be used 00016 to endorse or promote products derived from this software without specific prior 00017 written permission. 00018 00019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 00020 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00021 OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 00022 SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00023 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00024 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 00025 BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00026 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY 00027 WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00028 */ 00029 /* 00030 $Header: /xdprof-dll/monitors.cpp 4 5/07/01 12:04a Admin $ 00031 */ 00032 #include "xdprof.h" 00033 00037 JVMPI_RawMonitor output_lock; 00038 00042 JVMPI_RawMonitor methods_lock; 00043 00047 JVMPI_RawMonitor threads_lock; 00048 00052 void InitializeMonitors() 00053 { 00054 output_lock = CALL(RawMonitorCreate)("_output_lock"); 00055 methods_lock = CALL(RawMonitorCreate)("_methods_lock"); 00056 threads_lock = CALL(RawMonitorCreate)("_threads_lock"); 00057 } 00058 00062 void ShutdownMonitors() 00063 { 00064 /* 00065 CALL(RawMonitorDestroy)(output_lock); 00066 CALL(RawMonitorDestroy)(data_lock); 00067 CALL(RawMonitorDestroy)(methods_lock); 00068 CALL(RawMonitorDestroy)(threads_lock); 00069 */ 00070 unsafe_debug("Destroyed!", ""); 00071 } 00072