summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/dev.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/lib/dev.c b/src/lib/dev.c
index e2e864fc..35a2328c 100644
--- a/src/lib/dev.c
+++ b/src/lib/dev.c
@@ -316,9 +316,9 @@ static bool check_python(char * str)
return false;
}
-__attribute__((constructor)) static void init(int argc,
- char ** argv,
- char ** envp)
+static void init(int argc,
+ char ** argv,
+ char ** envp)
{
const char * ap_name = argv[0];
int i;
@@ -422,7 +422,7 @@ __attribute__((constructor)) static void init(int argc,
exit(EXIT_FAILURE);
}
-__attribute__((destructor)) static void fini(void)
+static void fini(void)
{
int i = 0;
@@ -468,6 +468,9 @@ __attribute__((destructor)) static void fini(void)
pthread_rwlock_destroy(&ai.lock);
}
+__attribute__((section(".init_array"))) __typeof__(init) * __init = init;
+__attribute__((section(".fini_array"))) __typeof__(fini) * __fini = fini;
+
int flow_accept(qosspec_t * qs,
const struct timespec * timeo)
{