From 122b2a002a0ebe173c206c7979eb99cc3a2bcbbb Mon Sep 17 00:00:00 2001 From: David Michaeli Date: Sun, 9 Jan 2022 13:59:33 +0200 Subject: [PATCH] integration of iir1 lib into the software tree --- software/libcariboulite/CMakeLists.txt | 6 ++++-- software/libcariboulite/src/cariboulite_setup.c | 7 ++++++- software/libcariboulite/src/iir1 | 1 + 3 files changed, 11 insertions(+), 3 deletions(-) create mode 160000 software/libcariboulite/src/iir1 diff --git a/software/libcariboulite/CMakeLists.txt b/software/libcariboulite/CMakeLists.txt index 12cde13..b702230 100644 --- a/software/libcariboulite/CMakeLists.txt +++ b/software/libcariboulite/CMakeLists.txt @@ -25,6 +25,7 @@ add_subdirectory(src/cariboulite_config EXCLUDE_FROM_ALL) add_subdirectory(src/cariboulite_eeprom EXCLUDE_FROM_ALL) add_subdirectory(src/production_utils EXCLUDE_FROM_ALL) add_subdirectory(src/zf_log EXCLUDE_FROM_ALL) +add_subdirectory(src/iir1 EXCLUDE_FROM_ALL) # Create the library LibCaribouLite add_library(cariboulite STATIC ${SOURCES_LIB}) @@ -43,7 +44,8 @@ target_link_libraries(cariboulite datatypes rt m pthread - iir_static) + iir) + target_include_directories(cariboulite PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) add_compile_options(-Wall -Wextra -Wno-unused-variable -Wno-missing-braces) @@ -107,4 +109,4 @@ set_target_properties( fpgacomm PROPERTIES RUNTIME_OUTPUT_DIRECTORY test) # ------------ # Set the location for library installation -- i.e., /usr/lib in this case # not really necessary in this example. Use "sudo make install" to apply -#install(TARGETS cariboulite DESTINATION /usr/lib) \ No newline at end of file +#install(TARGETS cariboulite DESTINATION /usr/lib) diff --git a/software/libcariboulite/src/cariboulite_setup.c b/software/libcariboulite/src/cariboulite_setup.c index f65f37b..21417f3 100644 --- a/software/libcariboulite/src/cariboulite_setup.c +++ b/software/libcariboulite/src/cariboulite_setup.c @@ -8,6 +8,8 @@ #include #include +#include + #include "cariboulite_setup.h" #include "cariboulite_events.h" #include "cariboulite_fpga_firmware.h" @@ -118,7 +120,9 @@ void cariboulite_sigaction_basehandler (int signo, int run_first = 0; int run_last = 0; - //cariboulite_st* sys = (cariboulite_st*)ucontext; + // store the errno + int internal_errno = errno; + if (sigsys->signal_cb) { @@ -164,6 +168,7 @@ void cariboulite_sigaction_basehandler (int signo, sigsys->signal_cb(sigsys, sigsys->singal_cb_context, signo, si); } + errno = internal_errno; exit(0); } diff --git a/software/libcariboulite/src/iir1 b/software/libcariboulite/src/iir1 new file mode 160000 index 0000000..fc8634d --- /dev/null +++ b/software/libcariboulite/src/iir1 @@ -0,0 +1 @@ +Subproject commit fc8634d15b470a00ba4859915fec0047bb486dd4