Changeset 1454 for trunk/src/emx/include/sys/rmutex.h
- Timestamp:
- Sep 4, 2004, 8:22:38 AM (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/emx/include/sys/rmutex.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r1453 r1454 1 1 /* sys/rmutex.h (emx+gcc) */ 2 3 /* _rmutex semaphores are registered _fmutex semaphores. They are a4 bit bigger than _fmutex metaphores but they are inherited by child5 processes created with fork(). Shared _rmutex semaphores behave6 like _fmutex semaphores, ie, they are not registered and therefore7 not inherited by child processes created with fork(). (As malloc()8 uses _rmutex semaphores, we have to support shared semaphores9 anyway.) */10 2 11 3 /* This header requires <sys/builtin.h> and <sys/fmutex.h>. */ … … 14 6 #define _SYS_RMUTEX_H 15 7 16 #if defined (__cplusplus) 17 extern "C" { 18 #endif 8 #warning "_rmutex is obsoleted. use _fmutex!" 19 9 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 29 23 30 24 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 #endif74 75 25 #endif /* not _SYS_RMUTEX_H */ -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.