diff --git a/src/fiber.m b/src/fiber.m index 76ea89344998b54adae588e2e5c11a8046c73c5d..0adcc4cfe55657a5abaa714acf3d6359d12f3fea 100644 --- a/src/fiber.m +++ b/src/fiber.m @@ -1023,6 +1023,9 @@ fiber_init(void) void fiber_free(void) { - fiber_destroy_all(); - mh_i32ptr_destroy(fibers_registry); + /* Only clean up if initialized. */ + if (fibers_registry) { + fiber_destroy_all(); + mh_i32ptr_destroy(fibers_registry); + } }