mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-02-05 17:28:23 +08:00
46 lines
1.5 KiB
C
46 lines
1.5 KiB
C
#include "threading_Condition.h"
|
|
#include "PikaPlatformEx.h"
|
|
|
|
void threading_Condition___del__(PikaObj* self) {
|
|
pika_platform_thread_cond_t* cond = obj_getPtr(self, "_cond_");
|
|
pika_platform_thread_cond_destroy(cond);
|
|
pikaFree(cond, sizeof(pika_platform_thread_cond_t));
|
|
}
|
|
|
|
void threading_Condition___init__(PikaObj* self) {
|
|
pika_platform_thread_cond_t* cond =
|
|
pikaMalloc(sizeof(pika_platform_thread_cond_t));
|
|
pika_platform_thread_cond_init(cond);
|
|
obj_setPtr(self, "_cond_", cond);
|
|
}
|
|
|
|
pika_bool threading_Condition__is_owned(PikaObj* self) {
|
|
pika_platform_thread_cond_t* cond = obj_getPtr(self, "_cond_");
|
|
if (cond->owner != 0) {
|
|
return pika_true;
|
|
} else {
|
|
return pika_false;
|
|
}
|
|
}
|
|
|
|
void threading_Condition_notify(PikaObj* self, int n) {
|
|
pika_platform_thread_cond_t* cond = obj_getPtr(self, "_cond_");
|
|
pika_platform_thread_cond_signal(cond);
|
|
}
|
|
|
|
void threading_Condition_notify_all(PikaObj* self) {
|
|
pika_platform_thread_cond_t* cond = obj_getPtr(self, "_cond_");
|
|
pika_platform_thread_cond_broadcast(cond);
|
|
}
|
|
|
|
pika_bool threading_Condition_wait(PikaObj* self, Arg* timeout) {
|
|
// pika_platform_thread_cond_t * cond = obj_getPtr(self, "_cond_");
|
|
return pika_false;
|
|
}
|
|
pika_bool threading_Condition_acquire(PikaObj* self,
|
|
pika_bool block,
|
|
Arg* timeout) {
|
|
return pika_false;
|
|
}
|
|
void threading_Condition_release(PikaObj* self) {}
|