Ignore:
Timestamp:
Sep 4, 2004, 8:22:38 AM (21 years ago)
Author:
bird
Message:

Joined with the fork() tree from netlabs.cvs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/include/sys/rmutex.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1453 r1454  
    11/* sys/rmutex.h (emx+gcc) */
    2 
    3 /* _rmutex semaphores are registered _fmutex semaphores.  They are a
    4    bit bigger than _fmutex metaphores but they are inherited by child
    5    processes created with fork().  Shared _rmutex semaphores behave
    6    like _fmutex semaphores, ie, they are not registered and therefore
    7    not inherited by child processes created with fork().  (As malloc()
    8    uses _rmutex semaphores, we have to support shared semaphores
    9    anyway.) */
    102
    113/* This header requires <sys/builtin.h> and <sys/fmutex.h>. */
     
    146#define _SYS_RMUTEX_H
    157
    16 #if defined (__cplusplus)
    17 extern "C" {
    18 #endif
     8#warning "_rmutex is obsoleted. use _fmutex!"
    199
    20 /* See also <emx/io.h> and /emx/test/internal.c. */
    21 typedef struct __rmutex
    22 {
    23   struct __rmutex *next;
    24   struct __rmutex *prev;
    25   _fmutex fm;
    26   unsigned char flags;
    27   unsigned short count;
    28 } _rmutex;
     10#define _rmutex             _fmutex
     11#define _rmutex_request     _fmutex_request
     12#define _rmutex_release     _fmutex_release
     13#define _rmutex_close       _fmutex_close
     14#define _rmutex_create      _fmutex_create
     15#define _rmutex_open        _fmutex_open
     16#define _rmutex_available   _fmutex_available
     17#define _rmutex_dummy       _fmutex_dummy
     18#define _rmutex_checked_request _fmutex_checked_request
     19#define _rmutex_checked_release _fmutex_checked_release
     20#define _rmutex_checked_close   _fmutex_checked_close
     21#define _rmutex_checked_create  _fmutex_checked_create
     22#define _rmutex_checked_open    _fmutex_checked_open
    2923
    3024
    31 static __inline__ unsigned _rmutex_request (_rmutex *sem, unsigned flags)
    32 {
    33   return _fmutex_request (&sem->fm, flags);
    34 }
    35 
    36 
    37 static __inline__ unsigned _rmutex_release (_rmutex *sem)
    38 {
    39   return _fmutex_release (&sem->fm);
    40 }
    41 
    42 
    43 static __inline__ int _rmutex_available (_rmutex *sem)
    44 {
    45   return _fmutex_available (&sem->fm);
    46 }
    47 
    48 
    49 unsigned _rmutex_close (_rmutex *);
    50 unsigned _rmutex_create (_rmutex *, unsigned);
    51 unsigned _rmutex_open (_rmutex *);
    52 void _rmutex_dummy (_rmutex *);
    53 
    54 
    55 static __inline__ void _rmutex_checked_release (_rmutex *sem)
    56 {
    57   _fmutex_checked_release (&sem->fm);
    58 }
    59 
    60 
    61 static __inline__ void _rmutex_checked_request (_rmutex *sem, unsigned flags)
    62 {
    63   _fmutex_checked_request (&sem->fm, flags);
    64 }
    65 
    66 
    67 void _rmutex_checked_close (_rmutex *);
    68 void _rmutex_checked_create (_rmutex *, unsigned);
    69 void _rmutex_checked_open (_rmutex *);
    70 
    71 #if defined (__cplusplus)
    72 }
    73 #endif
    74 
    7525#endif /* not _SYS_RMUTEX_H */
Note: See TracChangeset for help on using the changeset viewer.