summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Xu (Hello71) <alex_y_xu@yahoo.ca>2017-08-16 20:48:34 -0400
committerAlex Xu (Hello71) <alex_y_xu@yahoo.ca>2017-08-16 20:48:34 -0400
commit7cf5bfe38b8345b2466d3ef7ba7d06040dc57e9d (patch)
tree4e90970f20f56d1082e8b69f1d05683fa659ff95
parentcf89b3457feaa7f7695fc992d25473f773423008 (diff)
downloadinhibit-screensaver-master.tar.xz
inhibit-screensaver-master.zip
Improve C example.HEADmaster
-rw-r--r--.gitignore1
-rw-r--r--Makefile10
-rw-r--r--example.c6
3 files changed, 15 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
index 0ac38cb..c8df796 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/inhibit-screensaver
+/c-example
*.o
diff --git a/Makefile b/Makefile
index 699b2a1..685a684 100644
--- a/Makefile
+++ b/Makefile
@@ -3,13 +3,21 @@ bindir := $(prefix)/bin
CFLAGS += $(shell pkg-config --cflags dbus-1) -Wall -Wextra -std=c99
LDLIBS := $(shell pkg-config --libs dbus-1)
+all: inhibit-screensaver c-example
inhibit-screensaver: inhibit-screensaver.o
+c-example: c-example.o
+
+c-example.o: example.c
+ $(COMPILE.c) $(OUTPUT_OPTION) $<
+
clean:
- $(RM) inhibit-screensaver.o inhibit-screensaver
+ $(RM) inhibit-screensaver.o inhibit-screensaver c-example.o c-example
install:
install -D -m0755 inhibit-screensaver $(bindir)
uninstall:
$(RM) $(bindir)/inhibit-screensaver
+
+.PHONY: clean install uninstall
diff --git a/example.c b/example.c
index b822312..2eeac2d 100644
--- a/example.c
+++ b/example.c
@@ -1,3 +1,4 @@
+#define _DEFAULT_SOURCE
#include <fcntl.h>
#include <signal.h>
#include <stdio.h>
@@ -22,11 +23,14 @@ int main() {
// works even if process dies!
kill(getpid(), SIGKILL);
+
+ // otherwise, release the inhibition:
+ close(pipefd[1]);
} else {
close(pipefd[1]);
- close(0);
dup2(pipefd[0], 0);
execl("./inhibit-screensaver", "./inhibit-screensaver", "c-inhibitor-example", "testing", (char *)NULL);
+ perror("exec inhibit-screensaver");
exit(1);
}
}