home *** CD-ROM | disk | FTP | other *** search
/ Curio City 6 / CURIO6.bin / pc / presents / igo / _setup.1 / mutex_md.h < prev    next >
C/C++ Source or Header  |  1996-05-03  |  2KB  |  45 lines

  1. /*
  2.  * @(#)mutex_md.h    1.8 95/11/18
  3.  *
  4.  * Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved.
  5.  *
  6.  * Permission to use, copy, modify, and distribute this software
  7.  * and its documentation for NON-COMMERCIAL purposes and without
  8.  * fee is hereby granted provided that this copyright notice
  9.  * appears in all copies. Please refer to the file "copyright.html"
  10.  * for further important copyright and licensing information.
  11.  *
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
  13.  * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  14.  * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  15.  * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
  16.  * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  17.  * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
  18.  */
  19.  
  20. /*
  21.  * Win32 implementation of mutexes. Here we use critical sections as
  22.  * our mutexes. We could have used mutexes, but mutexes are heavier
  23.  * weight than critical sections. Mutexes and critical sections are
  24.  * semantically identical, the only difference being that mutexes
  25.  * can operate between processes (i.e. address spaces).
  26.  *
  27.  * It's worth noting that the Win32 functions supporting critical
  28.  * sections do not provide any error information whatsoever (i.e.
  29.  * all critical section routines return (void)).
  30.  */
  31.  
  32. #ifndef    _WIN32_MUTEX_MD_H_
  33. #define    _WIN32_MUTEX_MD_H_
  34.  
  35. #include <windows.h>
  36.  
  37. typedef CRITICAL_SECTION mutex_t;
  38.  
  39. #define mutexInit(m)    InitializeCriticalSection(m)
  40. #define mutexDestroy(m)    DeleteCriticalSection(m)
  41. #define mutexLock(m)    EnterCriticalSection(m)
  42. #define mutexUnlock(m)    LeaveCriticalSection(m)
  43.  
  44. #endif    /* !_WIN32_MUTEX_MD_H_ */
  45.