Codebase list i3-gaps / 6e087d4
kill_nagbar: No need for pointer to pid_t Orestis Floros 3 years ago
3 changed file(s) with 11 addition(s) and 11 deletion(s). Raw diff Collapse all Expand all
142142 void start_nagbar(pid_t *nagbar_pid, char *argv[]);
143143
144144 /**
145 * Kills the i3-nagbar process, if *nagbar_pid != -1.
145 * Kills the i3-nagbar process, if nagbar_pid != -1.
146146 *
147147 * If wait_for_it is set (restarting i3), this function will waitpid(),
148148 * otherwise, ev is assumed to handle it (reloading).
149149 *
150150 */
151 void kill_nagbar(pid_t *nagbar_pid, bool wait_for_it);
151 void kill_nagbar(pid_t nagbar_pid, bool wait_for_it);
152152
153153 /**
154154 * Converts a string into a long using strtol().
16141614 */
16151615 void cmd_reload(I3_CMD) {
16161616 LOG("reloading\n");
1617 kill_nagbar(&config_error_nagbar_pid, false);
1618 kill_nagbar(&command_error_nagbar_pid, false);
1617 kill_nagbar(config_error_nagbar_pid, false);
1618 kill_nagbar(command_error_nagbar_pid, false);
16191619 load_configuration(NULL, C_RELOAD);
16201620 x_set_i3_atoms();
16211621 /* Send an IPC event just in case the ws names have changed */
286286 void i3_restart(bool forget_layout) {
287287 char *restart_filename = forget_layout ? NULL : store_restart_layout();
288288
289 kill_nagbar(&config_error_nagbar_pid, true);
290 kill_nagbar(&command_error_nagbar_pid, true);
289 kill_nagbar(config_error_nagbar_pid, true);
290 kill_nagbar(command_error_nagbar_pid, true);
291291
292292 restore_geometry();
293293
404404 }
405405
406406 /*
407 * Kills the i3-nagbar process, if *nagbar_pid != -1.
407 * Kills the i3-nagbar process, if nagbar_pid != -1.
408408 *
409409 * If wait_for_it is set (restarting i3), this function will waitpid(),
410410 * otherwise, ev is assumed to handle it (reloading).
411411 *
412412 */
413 void kill_nagbar(pid_t *nagbar_pid, bool wait_for_it) {
414 if (*nagbar_pid == -1)
413 void kill_nagbar(pid_t nagbar_pid, bool wait_for_it) {
414 if (nagbar_pid == -1)
415415 return;
416416
417 if (kill(*nagbar_pid, SIGTERM) == -1)
417 if (kill(nagbar_pid, SIGTERM) == -1)
418418 warn("kill(configerror_nagbar) failed");
419419
420420 if (!wait_for_it)
424424 * exec(), our old pid is no longer watched. So, ev won’t handle SIGCHLD
425425 * for us and we would end up with a <defunct> process. Therefore we
426426 * waitpid() here. */
427 waitpid(*nagbar_pid, NULL, 0);
427 waitpid(nagbar_pid, NULL, 0);
428428 }
429429
430430 /*