Fix some small bugs with the FIFO
This commit is contained in:
parent
156f0d238a
commit
f022bb1d95
14
libs/fifo.c
14
libs/fifo.c
|
@ -20,6 +20,8 @@ void execute_fifo_cmd(void) {
|
||||||
|
|
||||||
if (!r) {
|
if (!r) {
|
||||||
close(fd);
|
close(fd);
|
||||||
|
done = 1;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,7 +117,7 @@ void execute_fifo_cmd(void) {
|
||||||
setlines(&arg);
|
setlines(&arg);
|
||||||
} else if (!strcmp(fifot, "setcolumns+")) {
|
} else if (!strcmp(fifot, "setcolumns+")) {
|
||||||
Arg arg;
|
Arg arg;
|
||||||
arg.i = +1;
|
arg.i = 1;
|
||||||
setcolumns(&arg);
|
setcolumns(&arg);
|
||||||
} else if (!strcmp(fifot, "setcolumns-")) {
|
} else if (!strcmp(fifot, "setcolumns-")) {
|
||||||
Arg arg;
|
Arg arg;
|
||||||
|
@ -183,22 +185,24 @@ void execute_fifo_cmd(void) {
|
||||||
|
|
||||||
close(fd);
|
close(fd);
|
||||||
|
|
||||||
|
remove(fifofile);
|
||||||
|
mkfifo(fifofile, 0660);
|
||||||
|
|
||||||
done = 1;
|
done = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void *fifocmd(void *n) {
|
void *fifocmd(void *n) {
|
||||||
for (;;) {
|
for (;;) {
|
||||||
msleep(0.1);
|
|
||||||
|
|
||||||
if (done) {
|
if (done) {
|
||||||
execute_fifo_cmd();
|
execute_fifo_cmd();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
msleep(0.1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void init_fifo(void) {
|
void init_fifo(void) {
|
||||||
mkfifo(fifofile, 0666);
|
mkfifo(fifofile, 0660);
|
||||||
|
|
||||||
pthread_t tid;
|
pthread_t tid;
|
||||||
pthread_create(&tid, NULL, &fifocmd, NULL);
|
pthread_create(&tid, NULL, &fifocmd, NULL);
|
||||||
}
|
}
|
||||||
|
|
3
spmenu.c
3
spmenu.c
|
@ -555,11 +555,10 @@ void handle(void) {
|
||||||
|
|
||||||
init_appearance(); // init colorschemes by reading arrays
|
init_appearance(); // init colorschemes by reading arrays
|
||||||
|
|
||||||
|
setupdisplay_x11(); // set up display and create window
|
||||||
#if FIFO
|
#if FIFO
|
||||||
init_fifo();
|
init_fifo();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
setupdisplay_x11(); // set up display and create window
|
|
||||||
eventloop_x11(); // function is a loop which checks X11 events and calls other functions accordingly
|
eventloop_x11(); // function is a loop which checks X11 events and calls other functions accordingly
|
||||||
#endif
|
#endif
|
||||||
#if WAYLAND
|
#if WAYLAND
|
||||||
|
|
Loading…
Reference in a new issue