diff options
Diffstat (limited to 'sway/swaynag.c')
-rw-r--r-- | sway/swaynag.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sway/swaynag.c b/sway/swaynag.c index db5a919a..4a0a6d30 100644 --- a/sway/swaynag.c +++ b/sway/swaynag.c | |||
@@ -64,6 +64,8 @@ bool swaynag_spawn(const char *swaynag_command, | |||
64 | sway_log(SWAY_ERROR, "Failed to create fork for swaynag"); | 64 | sway_log(SWAY_ERROR, "Failed to create fork for swaynag"); |
65 | goto failed; | 65 | goto failed; |
66 | } else if (pid == 0) { | 66 | } else if (pid == 0) { |
67 | restore_nofile_limit(); | ||
68 | |||
67 | pid = fork(); | 69 | pid = fork(); |
68 | if (pid < 0) { | 70 | if (pid < 0) { |
69 | sway_log_errno(SWAY_ERROR, "fork failed"); | 71 | sway_log_errno(SWAY_ERROR, "fork failed"); |
@@ -87,8 +89,8 @@ bool swaynag_spawn(const char *swaynag_command, | |||
87 | size_t length = strlen(swaynag_command) + strlen(swaynag->args) + 2; | 89 | size_t length = strlen(swaynag_command) + strlen(swaynag->args) + 2; |
88 | char *cmd = malloc(length); | 90 | char *cmd = malloc(length); |
89 | snprintf(cmd, length, "%s %s", swaynag_command, swaynag->args); | 91 | snprintf(cmd, length, "%s %s", swaynag_command, swaynag->args); |
90 | execl("/bin/sh", "/bin/sh", "-c", cmd, NULL); | 92 | execlp("sh", "sh", "-c", cmd, NULL); |
91 | sway_log_errno(SWAY_ERROR, "execl failed"); | 93 | sway_log_errno(SWAY_ERROR, "execlp failed"); |
92 | _exit(EXIT_FAILURE); | 94 | _exit(EXIT_FAILURE); |
93 | } | 95 | } |
94 | _exit(EXIT_SUCCESS); | 96 | _exit(EXIT_SUCCESS); |