ref: 3efad400ef6c9c09b6f439950334d62722e54073
parent: 2bfb2a53241c5ab1e87674186a59c188e13f0e16
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Sun Jan 1 18:49:49 EST 2023
use threadnotify
--- a/evdump.c
+++ b/evdump.c
@@ -90,8 +90,8 @@
return nil;
}
-static void
-kmreset(void)
+static int
+kmreset(void *, char *)
{
int i;
@@ -98,6 +98,8 @@
for(i = 0; i <= nk; i++)
Bprint(kbmap, "%d\t%d\t%d\n", k[i].e, k[i].c, k[i].r);
Bflush(kbmap);
+
+ return 0;
}
static void
@@ -156,7 +158,7 @@
if(strcmp(t[4], "current") == 0)
kmset();
else if(strcmp(t[4], "notcurrent") == 0)
- kmreset();
+ kmreset(nil, nil);
print("wctl %s %s\n", t[4], t[5]);
}
@@ -264,7 +266,7 @@
if((kbmap = Bopen("/dev/kbmap", OWRITE)) == nil)
sysfatal("%r");
- atexit(kmreset);
+ threadnotify(kmreset, 1);
snprint(tmp, sizeof(tmp), "-pid %d -dx %d -dy %d", getpid(), 256, 256);
newwindow(tmp);