@@ -34,7 +34,6 @@ extern "C" {
34
34
#define THREAD_FUNCTION_RETURN DWORD
35
35
#define THREAD_SPECIFIC_INDEX DWORD
36
36
#define pthread_t HANDLE
37
- #define pthread_attr_t DWORD
38
37
#define pthread_detach (thread ) \
39
38
if (thread != NULL) CloseHandle(thread)
40
39
#define thread_sleep (nms ) Sleep(nms)
@@ -45,25 +44,6 @@ extern "C" {
45
44
#define pthread_setspecific (ts_key , value ) TlsSetValue(ts_key, (void *)value)
46
45
#define pthread_self () GetCurrentThreadId()
47
46
48
- #elif defined(__OS2__ )
49
- /* OS/2 */
50
- #define INCL_DOS
51
- #include <os2.h>
52
-
53
- #include <stdlib.h>
54
- #define THREAD_FUNCTION void *
55
- #define THREAD_FUNCTION_RETURN void *
56
- #define THREAD_SPECIFIC_INDEX PULONG
57
- #define pthread_t TID
58
- #define pthread_attr_t ULONG
59
- #define pthread_detach (thread ) 0
60
- #define thread_sleep (nms ) DosSleep(nms)
61
- #define pthread_cancel (thread ) DosKillThread(thread)
62
- #define ts_key_create (ts_key , destructor ) \
63
- DosAllocThreadLocalMemory(1, &(ts_key));
64
- #define pthread_getspecific (ts_key ) ((void *)(*(ts_key)))
65
- #define pthread_setspecific (ts_key , value ) (*(ts_key) = (ULONG)(value))
66
- #define pthread_self () _gettid()
67
47
#else
68
48
#ifdef __APPLE__
69
49
#include <mach/mach_init.h>
@@ -99,69 +79,6 @@ extern "C" {
99
79
if (*sem) ((int)(CloseHandle(*sem)) == TRUE)
100
80
#define thread_sleep (nms ) Sleep(nms)
101
81
102
- #elif defined(__OS2__ )
103
- typedef struct {
104
- HEV event ;
105
- HMTX wait_mutex ;
106
- HMTX count_mutex ;
107
- int count ;
108
- } sem_t ;
109
-
110
- static inline int sem_init (sem_t * sem , int pshared , unsigned int value ) {
111
- DosCreateEventSem (NULL , & sem -> event , pshared ? DC_SEM_SHARED : 0 ,
112
- value > 0 ? TRUE : FALSE);
113
- DosCreateMutexSem (NULL , & sem -> wait_mutex , 0 , FALSE);
114
- DosCreateMutexSem (NULL , & sem -> count_mutex , 0 , FALSE);
115
-
116
- sem -> count = value ;
117
-
118
- return 0 ;
119
- }
120
-
121
- static inline int sem_wait (sem_t * sem ) {
122
- DosRequestMutexSem (sem -> wait_mutex , -1 );
123
-
124
- DosWaitEventSem (sem -> event , -1 );
125
-
126
- DosRequestMutexSem (sem -> count_mutex , -1 );
127
-
128
- sem -> count -- ;
129
- if (sem -> count == 0 ) {
130
- ULONG post_count ;
131
-
132
- DosResetEventSem (sem -> event , & post_count );
133
- }
134
-
135
- DosReleaseMutexSem (sem -> count_mutex );
136
-
137
- DosReleaseMutexSem (sem -> wait_mutex );
138
-
139
- return 0 ;
140
- }
141
-
142
- static inline int sem_post (sem_t * sem ) {
143
- DosRequestMutexSem (sem -> count_mutex , -1 );
144
-
145
- if (sem -> count < 32768 ) {
146
- sem -> count ++ ;
147
- DosPostEventSem (sem -> event );
148
- }
149
-
150
- DosReleaseMutexSem (sem -> count_mutex );
151
-
152
- return 0 ;
153
- }
154
-
155
- static inline int sem_destroy (sem_t * sem ) {
156
- DosCloseEventSem (sem -> event );
157
- DosCloseMutexSem (sem -> wait_mutex );
158
- DosCloseMutexSem (sem -> count_mutex );
159
-
160
- return 0 ;
161
- }
162
-
163
- #define thread_sleep (nms ) DosSleep(nms)
164
-
165
82
#else
166
83
167
84
#ifdef __APPLE__
0 commit comments