mirror of
				https://github.com/janet-lang/janet
				synced 2025-10-31 07:33:01 +00:00 
			
		
		
		
	Try to use atomics inside signal handler for ref count.
This commit is contained in:
		| @@ -603,11 +603,19 @@ void janet_addtimeout(double sec) { | ||||
| } | ||||
|  | ||||
| void janet_ev_inc_refcount(void) { | ||||
|     janet_vm.extra_listeners++; | ||||
| #ifdef JANET_WINDOWS | ||||
|     InterlockedIncrement(&janet_vm.extra_listeners); | ||||
| #else | ||||
|     __atomic_add_fetch(&janet_vm.extra_listeners, 1, __ATOMIC_RELAXED); | ||||
| #endif | ||||
| } | ||||
|  | ||||
| void janet_ev_dec_refcount(void) { | ||||
|     janet_vm.extra_listeners--; | ||||
| #ifdef JANET_WINDOWS | ||||
|     InterlockedDecrement(&janet_vm.extra_listeners); | ||||
| #else | ||||
|     __atomic_add_fetch(&janet_vm.extra_listeners, -1, __ATOMIC_RELAXED); | ||||
| #endif | ||||
| } | ||||
|  | ||||
| /* Channels */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Calvin Rose
					Calvin Rose