File tree 3 files changed +6
-6
lines changed
3 files changed +6
-6
lines changed Original file line number Diff line number Diff line change @@ -62,7 +62,8 @@ TSRM_API COND_T tsrm_cond_alloc(void)
62
62
{
63
63
COND_T condp ;
64
64
#ifdef TSRM_WIN32
65
- #error "TODO"
65
+ condp = (PCONDITION_VARIABLE )malloc (sizeof (CONDITION_VARIABLE ));
66
+ InitializeConditionVariable (condp );
66
67
#else
67
68
condp = (pthread_cond_t * )malloc (sizeof (pthread_cond_t ));
68
69
pthread_cond_init (condp , NULL );
@@ -73,7 +74,7 @@ TSRM_API COND_T tsrm_cond_alloc(void)
73
74
TSRM_API int tsrm_cond_wait (COND_T condp , MUTEX_T mutexp )
74
75
{
75
76
#ifdef TSRM_WIN32
76
- #error "TODO"
77
+ return SleepConditionVariableCS ( condp , mutexp , INFINITE ) ? 0 : -1 ;
77
78
#else
78
79
return pthread_cond_wait (condp , mutexp );
79
80
#endif
@@ -82,7 +83,8 @@ TSRM_API int tsrm_cond_wait(COND_T condp, MUTEX_T mutexp)
82
83
TSRM_API int tsrm_cond_broadcast (COND_T condp )
83
84
{
84
85
#ifdef TSRM_WIN32
85
- #error "TODO"
86
+ WakeAllConditionVariable (condp );
87
+ return 0 ;
86
88
#else
87
89
return pthread_cond_broadcast (condp );
88
90
#endif
@@ -126,7 +128,7 @@ TSRM_API void tsrm_mutex_free(MUTEX_T mutexp)
126
128
TSRM_API void tsrm_cond_free (COND_T condp )
127
129
{
128
130
#ifdef TSRM_WIN32
129
- #error "TODO"
131
+ free ( condp );
130
132
#else
131
133
if (condp ){
132
134
pthread_cond_destroy (condp );
Original file line number Diff line number Diff line change 30
30
#include "main/SAPI.h"
31
31
#include "TSRM.h"
32
32
#include "zend_fibers.h"
33
- #include "zend_stack.h"
34
33
35
34
#include <sys/types.h>
36
35
#include <sys/stat.h>
Original file line number Diff line number Diff line change 18
18
#define PHP_FFI_H
19
19
20
20
#include <ffi.h>
21
- #include <pthread.h>
22
21
#include "zend_compile.h"
23
22
#include "zend_API.h"
24
23
#include "TSRM.h"
You can’t perform that action at this time.
0 commit comments