aboutsummaryrefslogtreecommitdiffstats
path: root/dwm.c
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2020-11-17 13:19:13 +0100
committerJozanLeClerc <bousset.rudy@gmail.com>2020-11-17 13:19:13 +0100
commit3782ffbaf462ceb29cc4f7bd76196d5d881adaf6 (patch)
tree600db8fc7f52439e3449f312ad4297ebfd0a8fd1 /dwm.c
parentAdded switchtotag patch (diff)
downloaddwm-3782ffbaf462ceb29cc4f7bd76196d5d881adaf6.tar.gz
dwm-3782ffbaf462ceb29cc4f7bd76196d5d881adaf6.tar.bz2
dwm-3782ffbaf462ceb29cc4f7bd76196d5d881adaf6.tar.xz
dwm-3782ffbaf462ceb29cc4f7bd76196d5d881adaf6.tar.zst
dwm-3782ffbaf462ceb29cc4f7bd76196d5d881adaf6.zip
Removed bloat
Diffstat (limited to '')
-rw-r--r--dwm.c58
1 files changed, 1 insertions, 57 deletions
diff --git a/dwm.c b/dwm.c
index f11433d..e595075 100644
--- a/dwm.c
+++ b/dwm.c
@@ -248,7 +248,6 @@ static int xerror(Display *dpy, XErrorEvent *ee);
static int xerrordummy(Display *dpy, XErrorEvent *ee);
static int xerrorstart(Display *dpy, XErrorEvent *ee);
static void zoom(const Arg *arg);
-static void autostart_exec(void);
/* variables */
static const char broken[] = "broken";
@@ -297,34 +296,6 @@ struct Pertag {
/* compile-time check if all tags fit into an unsigned int bit array. */
struct NumTags { char limitexceeded[LENGTH(tags) > 31 ? -1 : 1]; };
-/* dwm will keep pid's of processes from autostart array and kill them at quit */
-static pid_t *autostart_pids;
-static size_t autostart_len;
-
-/* execute command from autostart array */
-static void
-autostart_exec() {
- const char *const *p;
- size_t i = 0;
-
- /* count entries */
- for (p = autostart; *p; autostart_len++, p++)
- while (*++p);
-
- autostart_pids = malloc(autostart_len * sizeof(pid_t));
- for (p = autostart; *p; i++, p++) {
- if ((autostart_pids[i] = fork()) == 0) {
- setsid();
- execvp(*p, (char *const *)p);
- fprintf(stderr, "dwm: execvp %s\n", *p);
- perror(" failed");
- _exit(EXIT_FAILURE);
- }
- /* skip arguments */
- while (*++p);
- }
-}
-
/* function implementations */
void
applyrules(Client *c)
@@ -1467,16 +1438,6 @@ propertynotify(XEvent *e)
void
quit(const Arg *arg)
{
- size_t i;
-
- /* kill child processes */
- for (i = 0; i < autostart_len; i++) {
- if (0 < autostart_pids[i]) {
- kill(autostart_pids[i], SIGTERM);
- waitpid(autostart_pids[i], NULL, 0);
- }
- }
-
if(arg->i) restart = 1;
running = 0;
}
@@ -1874,25 +1835,9 @@ showhide(Client *c)
void
sigchld(int unused)
{
- pid_t pid;
-
if (signal(SIGCHLD, sigchld) == SIG_ERR)
die("can't install SIGCHLD handler:");
- while (0 < (pid = waitpid(-1, NULL, WNOHANG))) {
- pid_t *p, *lim;
-
- if (!(p = autostart_pids))
- continue;
- lim = &p[autostart_len];
-
- for (; p < lim; p++) {
- if (*p == pid) {
- *p = -1;
- break;
- }
- }
-
- }
+ while (0 < waitpid(-1, NULL, WNOHANG));
}
void
@@ -2496,7 +2441,6 @@ main(int argc, char *argv[])
if (!(dpy = XOpenDisplay(NULL)))
die("dwm: cannot open display");
checkotherwm();
- autostart_exec();
setup();
#ifdef __OpenBSD__
if (pledge("stdio rpath proc exec", NULL) == -1)