diff options
author | nw1 <nw1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-12-22 02:27:49 +0000 |
---|---|---|
committer | nw1 <nw1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-12-22 02:27:49 +0000 |
commit | 3bfe137fec4652733a1c376e351fde18459a7556 (patch) | |
tree | 95688e1fbae886ed02e08d55de8d2975dd3e09c8 | |
parent | 512023dd0261d76f5ddd8ad6a6fb7b776a2e5e9c (diff) | |
download | ATCD-3bfe137fec4652733a1c376e351fde18459a7556.tar.gz |
Added WinCE semaphore implementation.
-rw-r--r-- | ace/OS.h | 23 |
1 files changed, 17 insertions, 6 deletions
@@ -1969,12 +1969,25 @@ typedef struct }; } ACE_mutex_t; -#if !defined (ACE_HAS_WINCE) +// Wrapper for NT Events. +typedef HANDLE ACE_event_t; + +//@@ ACE_USES_WINCE_SEMA_SIMULATION is used to debug +// semaphore simulation on WinNT. It should be +// changed to ACE_USES_HAS_WINCE at some later point. +#if !defined (ACE_USES_WINCE_SEMA_SIMULATION) typedef HANDLE ACE_sema_t; #else +// Semaphore simulation for Windows CE. +typedef struct +{ + ACE_mutex_t lock_; + ACE_event_t count_nonzero_; + u_int count_; +} ACE_sema_t; -#endif /* ACE_HAS_WINCE */ +#endif /* ACE_USES_WINCE_SEMA_SIMULATION */ // These need to be different values, neither of which can be 0... # define USYNC_THREAD 1 @@ -2578,9 +2591,6 @@ struct t_unitdata { }; struct t_uderr { }; struct netbuf { }; -// Wrapper for NT Events. -typedef HANDLE ACE_event_t; - // This is for file descriptors. typedef HANDLE ACE_HANDLE; @@ -4256,7 +4266,8 @@ public: // = A set of wrappers for semaphores. static int sema_destroy (ACE_sema_t *s); static int sema_init (ACE_sema_t *s, - u_int count, int type = USYNC_THREAD, + u_int count, + int type = USYNC_THREAD, LPCTSTR name = 0, void *arg = 0, int max = 0x7fffffff, |