diff options
author | B. Watson <urchlay@slackware.uk> | 2025-05-06 15:07:32 -0400 |
---|---|---|
committer | B. Watson <urchlay@slackware.uk> | 2025-05-06 15:07:32 -0400 |
commit | f0377a641080105502bcd77d059ec698c25f8769 (patch) | |
tree | d2034a48b3d085b65650ae5621f40df1a2e10a32 | |
parent | 03664eefad6bdfc0e420b33800ff245edb5c2242 (diff) | |
download | marsond-f0377a641080105502bcd77d059ec698c25f8769.tar.gz |
add multiple instance warning if the device is busy.
-rw-r--r-- | TODO | 2 | ||||
-rw-r--r-- | marsond.c | 3 |
2 files changed, 3 insertions, 2 deletions
@@ -1,7 +1,6 @@ - actual realtime scheduling (maybe). sched(7). - use a log file instead of stderr, so we can have error/warning messages after detaching from the tty. -- find out what happens if we try to run a 2nd instance. - print our /dev/input/event* node name, if possible. - options to set the virtual device name and vendor/product IDs. - much as I hate systemd, get someone to write a systemd unit. @@ -10,3 +9,4 @@ that means another instance is already running... so either exit or pass a command to it (like "marsond -K" would kill an existing instance). +- 'make install' should install README and TODO. @@ -235,6 +235,8 @@ int main(int argc, char **argv) { if(ioctl(infd, EVIOCGRAB, 1) >= 0) { debug("grabbed %s", keyboard_dev); } else { + if(errno == EBUSY) + warn("is an instance of %s already running?", self); die("failed to grab %s: %s", keyboard_dev, strerror(errno)); } @@ -272,7 +274,6 @@ int main(int argc, char **argv) { die("UI_DEV_CREATE failed: %s", strerror(errno)); } - /* this must be done while still running as root... */ if(foreground) { lock_memory(); |