mirror of
				https://github.com/janet-lang/janet
				synced 2025-10-31 15:43:01 +00:00 
			
		
		
		
	Add some thread coordination primitives.
Due to the nature of event loops, it is a bit difficult to integrate lock and other primitives such that they don't block fibers on the same thread.
This commit is contained in:
		| @@ -1180,17 +1180,6 @@ typedef struct { | ||||
|     Janet payload; | ||||
| } JanetTryState; | ||||
|  | ||||
| /* Thread types */ | ||||
| #ifdef JANET_THREADS | ||||
| typedef struct JanetThread JanetThread; | ||||
| typedef struct JanetMailbox JanetMailbox; | ||||
| struct JanetThread { | ||||
|     JanetMailbox *mailbox; | ||||
|     JanetTable *encode; | ||||
| }; | ||||
| #endif | ||||
|  | ||||
|  | ||||
| /***** END SECTION TYPES *****/ | ||||
|  | ||||
| /***** START SECTION OPCODES *****/ | ||||
| @@ -2078,16 +2067,6 @@ JANET_API int janet_scan_uint64(const uint8_t *str, int32_t len, uint64_t *out); | ||||
|  | ||||
| #endif | ||||
|  | ||||
| #ifdef JANET_THREADS | ||||
|  | ||||
| extern JANET_API const JanetAbstractType janet_thread_type; | ||||
|  | ||||
| JANET_API int janet_thread_receive(Janet *msg_out, double timeout); | ||||
| JANET_API int janet_thread_send(JanetThread *thread, Janet msg, double timeout); | ||||
| JANET_API JanetThread *janet_thread_current(void); | ||||
|  | ||||
| #endif | ||||
|  | ||||
| /* Custom allocator support */ | ||||
| JANET_API void *(janet_malloc)(size_t); | ||||
| JANET_API void *(janet_realloc)(void *, size_t); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Calvin Rose
					Calvin Rose