1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
diff -urN core/Thread.c core/Thread.c
--- core/Thread.c Wed May 26 05:51:32 2004
+++ core/Thread.c Fri Nov 19 08:08:07 2004
@@ -24,7 +24,7 @@
/* OS-specific thread id */
#if defined( HB_BEOS )
int thread;
-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
pthread_t thread;
#elif defined( HB_CYGWIN )
HANDLE thread;
@@ -74,7 +74,7 @@
t->thread = spawn_thread( (int32 (*)( void * )) ThreadFunc,
name, priority, t );
resume_thread( t->thread );
-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
pthread_create( &t->thread, NULL,
(void * (*)( void * )) ThreadFunc, t );
#elif defined( HB_CYGWIN )
@@ -96,7 +96,7 @@
#if defined( HB_BEOS )
long exitValue;
wait_for_thread( t->thread, &exitValue );
-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
pthread_join( t->thread, NULL );
#elif defined( HB_CYGWIN )
WaitForSingleObject( t->thread, INFINITE );
@@ -126,7 +126,7 @@
#if defined( HB_BEOS )
l->sem = create_sem( 1, "sem" );
-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
pthread_mutex_init( &l->mutex, NULL );
#elif defined( HB_CYGWIN )
l->mutex = CreateMutex( 0, FALSE, 0 );
@@ -141,7 +141,7 @@
#if defined( HB_BEOS )
delete_sem( l->sem );
-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
pthread_mutex_destroy( &l->mutex );
#elif defined( HB_CYGWIN )
CloseHandle( l->mutex );
@@ -161,7 +161,7 @@
#if defined( HB_BEOS )
c->thread = -1;
-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
pthread_cond_init( &c->cond, NULL );
#elif defined( HB_CYGWIN )
c->event = CreateEvent( NULL, FALSE, FALSE, NULL );
@@ -175,7 +175,7 @@
HBCond * c = *_c;
#if defined( HB_BEOS )
-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
pthread_cond_destroy( &c->cond );
#elif defined( HB_CYGWIN )
CloseHandle( c->event );
|