summaryrefslogtreecommitdiff
path: root/src/tools/operf
diff options
context:
space:
mode:
authordimitri staessens <[email protected]>2017-10-12 02:15:39 +0200
committerdimitri staessens <[email protected]>2017-10-14 13:19:10 +0200
commitbedd1d4eadde9ab64f924c69eba716b015599e67 (patch)
treeb521ef89c8752334448bee1582b51dbe97851839 /src/tools/operf
parenta483bc8597e5c19e796dc55c0587f1a045bc7281 (diff)
downloadouroboros-bedd1d4eadde9ab64f924c69eba716b015599e67.tar.gz
ouroboros-bedd1d4eadde9ab64f924c69eba716b015599e67.zip
lib: Deprecate ouroboros_init and ourboros_fini
This commit deprecates ouroboros_init and ouroboros_fini and adds them as a constructor or destructor, causing these function to be run automatically when a program that links to the library calls and exits main(). For this to fully work, the library had to be split so that we can avoid the irmd calling these functions (the IRMd has to create the shm structures on which these calls depend). The library is split in 3 parts: libouroboros-dev, libouroboros-irm and libouroboros-common. The latter is linked to the other two so that including libouroboros-dev or libouroboros-irm will also link libouroboros-common.
Diffstat (limited to 'src/tools/operf')
-rw-r--r--src/tools/operf/CMakeLists.txt2
-rw-r--r--src/tools/operf/operf.c13
2 files changed, 1 insertions, 14 deletions
diff --git a/src/tools/operf/CMakeLists.txt b/src/tools/operf/CMakeLists.txt
index 906bab7b..271a992d 100644
--- a/src/tools/operf/CMakeLists.txt
+++ b/src/tools/operf/CMakeLists.txt
@@ -16,6 +16,6 @@ set(SOURCE_FILES
add_executable(operf ${SOURCE_FILES})
-target_link_libraries(operf LINK_PUBLIC ${LIBM_LIBRARIES} ouroboros)
+target_link_libraries(operf LINK_PUBLIC ${LIBM_LIBRARIES} ouroboros-dev)
install(TARGETS operf RUNTIME DESTINATION usr/bin)
diff --git a/src/tools/operf/operf.c b/src/tools/operf/operf.c
index 62adcdb7..1c975ae1 100644
--- a/src/tools/operf/operf.c
+++ b/src/tools/operf/operf.c
@@ -88,7 +88,6 @@ int main(int argc, char ** argv)
int ret = -1;
char * rem = NULL;
bool serv = false;
- char ** argv_dup = argv;
argc--;
argv++;
@@ -141,18 +140,8 @@ int main(int argc, char ** argv)
}
if (serv) {
- if (ouroboros_init(argv_dup[0])) {
- printf("Failed to init AP.\n");
- exit(EXIT_FAILURE);
- }
-
ret = server_main();
} else {
- if (ouroboros_init(NULL)) {
- printf("Failed to init AP.\n");
- exit(EXIT_FAILURE);
- }
-
if (client.s_apn == NULL) {
printf("No server specified.\n");
usage();
@@ -172,8 +161,6 @@ int main(int argc, char ** argv)
ret = client_main();
}
- ouroboros_fini();
-
if (ret < 0)
exit(EXIT_FAILURE);