home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / inprise / JRUNTIME.Z / monitor_md.h < prev    next >
C/C++ Source or Header  |  1998-05-08  |  2KB  |  53 lines

  1. // $Header: z:/admin/jb20_jdk116x.English/javasrc/src/win32/java/include/rcs/monitor_md.h 1.1 1998/04/17 23:02:58 bstone Exp $ 
  2. /*
  3.  * @(#)monitor_md.h    1.16 97/02/17
  4.  * 
  5.  * Copyright (c) 1995, 1996 Sun Microsystems, Inc. All Rights Reserved.
  6.  * 
  7.  * This software is the confidential and proprietary information of Sun
  8.  * Microsystems, Inc. ("Confidential Information").  You shall not
  9.  * disclose such Confidential Information and shall use it only in
  10.  * accordance with the terms of the license agreement you entered into
  11.  * with Sun.
  12.  * 
  13.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
  14.  * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  15.  * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
  16.  * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
  17.  * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
  18.  * THIS SOFTWARE OR ITS DERIVATIVES.
  19.  * 
  20.  * CopyrightVersion 1.1_beta
  21.  * 
  22.  */
  23.  
  24. /*
  25.  * Win32 implementation of Java monitors
  26.  */
  27.  
  28. #ifndef    _WIN32_MONITOR_MD_H_
  29. #define    _WIN32_MONITOR_MD_H_
  30.  
  31. #include <windows.h>
  32.  
  33. #include "threads_md.h"
  34. #include "mutex_md.h"
  35. #include "condvar_md.h"
  36.  
  37. #define SYS_MID_NULL ((sys_mon_t *) 0)
  38.  
  39. typedef struct sys_mon {
  40.     mutex_t         mutex;            /* Mutex for monitor */
  41.     condvar_t         condvar;          /* Condition variable for monitor */
  42.     sys_thread_t     *monitor_owner; /* Current owner of this monitor */
  43.     long         entry_count;    /* Recursion depth */
  44. #if defined(DEBUG) && defined(BORLAND_JVM)
  45.     long        lockInUse;
  46.     long        attempts;
  47.     long        contentions;
  48.     long        recursions;
  49. #endif
  50. } sys_mon_t;
  51.  
  52. #endif    /* !_WIN32_MONITOR_MD_H_ */
  53.