aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/CMakeLists.txt3
-rw-r--r--src/afm-user-session.c38
2 files changed, 41 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 9921660..8f98c0d 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -175,6 +175,9 @@ if(libsystemd_FOUND AND AFB_FOUND)
LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/afm-binding.export-map"
)
install(TARGETS afm-binding LIBRARY DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/afm)
+
+ add_executable(afm-user-session afm-user-session.c)
+ install(TARGETS afm-user-session DESTINATION ${CMAKE_INSTALL_BINDIR})
else()
MESSAGE(STATUS "Not creating daemons")
endif()
diff --git a/src/afm-user-session.c b/src/afm-user-session.c
new file mode 100644
index 0000000..51acafe
--- /dev/null
+++ b/src/afm-user-session.c
@@ -0,0 +1,38 @@
+/*
+ Copyright 2018 IoT.bzh
+
+ author: José Bollo <jose.bollo@iot.bzh>
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+#include <signal.h>
+#include <systemd/sd-daemon.h>
+
+int main()
+{
+ sigset_t ass, bss;
+
+ sigemptyset(&ass);
+ sigaddset(&ass, SIGTERM);
+
+ sigfillset(&bss);
+ sigdelset(&bss, SIGTERM);
+
+ sd_notify(0, "READY=1");
+ sigprocmask(SIG_SETMASK, &bss, 0);
+ sigwaitinfo(&ass, 0);
+
+ return 0;
+}
+