X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Futil.c;h=70b159f8c314ead6fb62964ece54117d7e4bd240;hp=7d98dc6e4fb34ff85d8ed1e12a7a38c1448d930e;hb=069cfc85f876bb6966cb5a9bbe0235f5064622cd;hpb=939b8f14dcd9312140d001b55b4e7a87173682ef diff --git a/src/shared/util.c b/src/shared/util.c index 7d98dc6e4..70b159f8c 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -5639,3 +5639,25 @@ bool in_initrd(void) { return saved; } + +void warn_melody(void) { + int fd; + + fd = open("/dev/console", O_WRONLY|O_CLOEXEC|O_NOCTTY); + if (fd < 0) + return; + + /* Yeah, this is synchronous. Kinda sucks. Bute well... */ + + ioctl(fd, KIOCSOUND, (int)(1193180/440)); + usleep(125*USEC_PER_MSEC); + + ioctl(fd, KIOCSOUND, (int)(1193180/220)); + usleep(125*USEC_PER_MSEC); + + ioctl(fd, KIOCSOUND, (int)(1193180/220)); + usleep(125*USEC_PER_MSEC); + + ioctl(fd, KIOCSOUND, 0); + close_nointr_nofail(fd); +}