summaryrefslogtreecommitdiff
path: root/libs/cpp/src
diff options
context:
space:
mode:
authorYanis42 <35189056+Yanis42@users.noreply.github.com>2024-04-21 01:08:31 +0200
committerYanis42 <35189056+Yanis42@users.noreply.github.com>2024-04-21 01:08:31 +0200
commit5da4496e3dc521a7d3f9e831a7ce9c4b1e37c1f6 (patch)
tree66b6944f842fb47793b66dff907e7f6a3c2689bb /libs/cpp/src
parentefd86d8156d3cf1cbca5bf3ba68c05dcb70b9745 (diff)
parente54e6a277cbdcd3830e9258be2577fe974e51b1a (diff)
Merge remote-tracking branch 'upstream/main' into match_actor_rupee
Diffstat (limited to 'libs/cpp/src')
-rw-r--r--libs/cpp/src/__register_global_object.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/libs/cpp/src/__register_global_object.c b/libs/cpp/src/__register_global_object.c
new file mode 100644
index 00000000..9571faef
--- /dev/null
+++ b/libs/cpp/src/__register_global_object.c
@@ -0,0 +1,13 @@
+#include "global_destructor_chain.h"
+
+#define CALL_DTOR(dtor, obj) (((void (*)(void*, int))(dtor))((obj), -1))
+
+DestructorChain *__global_destructor_chain;
+
+void* __register_global_object(void *object, void *destructor, DestructorChain *link) {
+ link->next = __global_destructor_chain;
+ link->destructor = destructor;
+ link->object = object;
+ __global_destructor_chain = link;
+ return object;
+}