Fix some small bugs with the FIFO

This commit is contained in:
Jacob 2023-08-12 05:17:03 +02:00
parent 156f0d238a
commit f022bb1d95
2 changed files with 10 additions and 7 deletions

View file

@ -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);
} }

View file

@ -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