[Tarantool-patches] [PATCH 10/43] build: export src/lib/core/fiber.c symbols

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Sun Apr 12 03:12:50 MSK 2020


Exports functions used by src/lua/fiber.lua via FFI, and needed
for the public C API.

Part of #2971
---
 extra/exports        | 24 ------------------------
 src/exports.c        |  2 ++
 src/lib/core/fiber.c | 30 ++++++++++++++++++++++++++++++
 3 files changed, 32 insertions(+), 24 deletions(-)

diff --git a/extra/exports b/extra/exports
index 1224c550d..b4b2d90c3 100644
--- a/extra/exports
+++ b/extra/exports
@@ -2,10 +2,6 @@
 
 # FFI
 
-fiber_time
-fiber_time64
-fiber_clock
-fiber_clock64
 tarantool_lua_slab_cache
 ibuf_create
 ibuf_reinit
@@ -112,32 +108,12 @@ swim_member_is_payload_up_to_date
 # Module API
 
 _say
-fiber_attr_new
-fiber_attr_delete
-fiber_attr_setstacksize
-fiber_attr_getstacksize
-fiber_self
-fiber_new
-fiber_new_ex
-fiber_yield
-fiber_start
-fiber_wakeup
-fiber_cancel
-fiber_set_cancellable
-fiber_set_joinable
-fiber_join
-fiber_sleep
-fiber_is_cancelled
-fiber_time
-fiber_time64
-fiber_reschedule
 fiber_cond_new
 fiber_cond_delete
 fiber_cond_signal
 fiber_cond_broadcast
 fiber_cond_wait_timeout
 fiber_cond_wait
-cord_slab_cache
 coio_wait
 coio_close
 coio_call
diff --git a/src/exports.c b/src/exports.c
index cd2d49b9b..4e39528ed 100644
--- a/src/exports.c
+++ b/src/exports.c
@@ -50,6 +50,7 @@
 
 EXPORT(base64_export_syms);
 EXPORT(clock_export_syms);
+EXPORT(fiber_export_syms);
 EXPORT(random_export_syms);
 EXPORT(salad_guava_export_syms);
 EXPORT(scramble_export_syms);
@@ -61,6 +62,7 @@ export_syms(void)
 	void *syms[] = {
 		base64_export_syms,
 		clock_export_syms,
+		fiber_export_syms,
 		random_export_syms,
 		salad_guava_export_syms,
 		scramble_export_syms,
diff --git a/src/lib/core/fiber.c b/src/lib/core/fiber.c
index 5389ce467..347a46736 100644
--- a/src/lib/core/fiber.c
+++ b/src/lib/core/fiber.c
@@ -1748,3 +1748,33 @@ int fiber_stat(fiber_stat_cb cb, void *cb_ctx)
 	}
 	return 0;
 }
+
+void **
+fiber_export_syms(void)
+{
+	static void *syms[] = {
+		(void *)cord_slab_cache,
+		(void *)fiber_attr_new,
+		(void *)fiber_attr_delete,
+		(void *)fiber_attr_getstacksize,
+		(void *)fiber_attr_setstacksize,
+		(void *)fiber_cancel,
+		(void *)fiber_clock,
+		(void *)fiber_clock64,
+		(void *)fiber_is_cancelled,
+		(void *)fiber_join,
+		(void *)fiber_new,
+		(void *)fiber_new_ex,
+		(void *)fiber_reschedule,
+		(void *)fiber_self,
+		(void *)fiber_set_cancellable,
+		(void *)fiber_set_joinable,
+		(void *)fiber_sleep,
+		(void *)fiber_start,
+		(void *)fiber_time,
+		(void *)fiber_time64,
+		(void *)fiber_wakeup,
+		(void *)fiber_yield,
+	};
+	return syms;
+}
-- 
2.21.1 (Apple Git-122.3)



More information about the Tarantool-patches mailing list