aboutsummaryrefslogtreecommitdiff
path: root/swaylock/main.c
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2017-03-10 23:41:24 -0500
committerDrew DeVault <sir@cmpwn.com>2017-03-10 23:41:24 -0500
commit9aed9d93596cdc72e305338d82ccc0dcaf85c6e2 (patch)
treeb5a3db4994970b2d0033e717771b24a92503ddac /swaylock/main.c
parent74d4f1bec9a70bc800ecd7b15c9c6c0d7a5ce918 (diff)
UnGNUify the codebase
Diffstat (limited to 'swaylock/main.c')
-rw-r--r--swaylock/main.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/swaylock/main.c b/swaylock/main.c
index 49b24a3a..9b33aab9 100644
--- a/swaylock/main.c
+++ b/swaylock/main.c
@@ -1,3 +1,4 @@
+#define _XOPEN_SOURCE 500
#include "wayland-swaylock-client-protocol.h"
#include <xkbcommon/xkbcommon.h>
#include <xkbcommon/xkbcommon-names.h>
@@ -460,12 +461,16 @@ int main(int argc, char **argv) {
case 'u':
show_indicator = false;
break;
- case 'f':
- if (daemon(0, 0) != 0) {
+ case 'f': {
+ pid_t t = fork();
+ if (t == -1) {
sway_log(L_ERROR, "daemon call failed");
exit(EXIT_FAILURE);
+ } else if (t > 0) {
+ exit(0);
}
break;
+ }
case 'r':
if (line_source != LINE_SOURCE_DEFAULT) {
sway_log(L_ERROR, "line source options conflict");