mirror of
https://github.com/janet-lang/janet
synced 2024-12-26 08:20:27 +00:00
Add janet_thread_current() to C api.
This commit is contained in:
parent
1a75f68cb2
commit
761273bcc4
@ -2,6 +2,7 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
## Unreleased - ???
|
## Unreleased - ???
|
||||||
|
- Add `janet_thread_current(void)` to C API
|
||||||
- Add integer parsing forms to pegs. This makes parsing many binary protocols easier.
|
- Add integer parsing forms to pegs. This makes parsing many binary protocols easier.
|
||||||
- Lots of updates to networking code - now can use epoll (or poll) on linux and IOCP on windows.
|
- Lots of updates to networking code - now can use epoll (or poll) on linux and IOCP on windows.
|
||||||
- Add `ev/` module. This exposes a fiber scheduler, queues, timeouts, and other functionality to users
|
- Add `ev/` module. This exposes a fiber scheduler, queues, timeouts, and other functionality to users
|
||||||
|
@ -585,6 +585,14 @@ void janet_threads_deinit(void) {
|
|||||||
janet_vm_thread_decode = NULL;
|
janet_vm_thread_decode = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JanetThread *janet_thread_current(void) {
|
||||||
|
if (NULL == janet_vm_thread_current) {
|
||||||
|
janet_vm_thread_current = janet_make_thread(janet_vm_mailbox, janet_get_core_table("make-image-dict"));
|
||||||
|
janet_gcroot(janet_wrap_abstract(janet_vm_thread_current));
|
||||||
|
}
|
||||||
|
return janet_vm_thread_current;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Cfuns
|
* Cfuns
|
||||||
*/
|
*/
|
||||||
@ -592,11 +600,7 @@ void janet_threads_deinit(void) {
|
|||||||
static Janet cfun_thread_current(int32_t argc, Janet *argv) {
|
static Janet cfun_thread_current(int32_t argc, Janet *argv) {
|
||||||
(void) argv;
|
(void) argv;
|
||||||
janet_fixarity(argc, 0);
|
janet_fixarity(argc, 0);
|
||||||
if (NULL == janet_vm_thread_current) {
|
return janet_wrap_abstract(janet_thread_current());
|
||||||
janet_vm_thread_current = janet_make_thread(janet_vm_mailbox, janet_get_core_table("make-image-dict"));
|
|
||||||
janet_gcroot(janet_wrap_abstract(janet_vm_thread_current));
|
|
||||||
}
|
|
||||||
return janet_wrap_abstract(janet_vm_thread_current);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static Janet cfun_thread_new(int32_t argc, Janet *argv) {
|
static Janet cfun_thread_new(int32_t argc, Janet *argv) {
|
||||||
|
Loading…
Reference in New Issue
Block a user