diff options
authorPeter Hutterer <>2011-07-28 10:57:12 +1000
committerPeter Hutterer <>2011-07-28 11:12:23 +1000
commitba53d850252165ba96e7abc6e7dd0648b40ee37b (patch)
parent8d0d011cda37f5202ee0de76ef1ada8643624919 (diff)
syndaemon: document exit codes and change them to fall into categories.
Changing pid file creation failure to same exit code that fork() failure uses. Changing XRECORD init failure to unique code. This way clients can trap exit code 4 and re-start syndaemon without the -R flag. Signed-off-by: Peter Hutterer <>
2 files changed, 22 insertions, 2 deletions
diff --git a/man/ b/man/
index f850941..a9d69b0 100644
--- a/man/
+++ b/man/
@@ -66,6 +66,26 @@ the keyboard state.
Specifies the X server to contact.
+If syndaemon exists with a return code other than 0, the error encountered
+is as below.
+\fBExit code 1
+Invalid commandline argument.
+\fBExit code 2
+The connection to the X sever could not be established or no touchpad device
+could be found.
+\fBExit code 3
+The fork into daemon mode failed or the pid file could not be created.
+\fBExit code 4
+XRECORD requested but not available or usable on the server.
It doesn't make much sense to connect to a remote X server, because
diff --git a/tools/syndaemon.c b/tools/syndaemon.c
index a8a0499..d527b76 100644
--- a/tools/syndaemon.c
+++ b/tools/syndaemon.c
@@ -598,7 +598,7 @@ main(int argc, char *argv[])
FILE *fd = fopen(pid_file, "w");
if (!fd) {
perror("Can't create pid file");
- exit(2);
+ exit(3);
fprintf(fd, "%d\n", getpid());
@@ -616,7 +616,7 @@ main(int argc, char *argv[])
else {
fprintf(stderr, "Use of XRecord requested, but failed to "
" initialize.\n");
- exit(2);
+ exit(4);
} else