Date: Wed, 5 Jul 2017 15:04:45 +0200 From: "Tobias C. Berner" <tcberner@freebsd.org> To: freebsd-hackers@freebsd.org Subject: How to use kevent to monitor removal of a socket-file Message-ID: <CAOshKte7jK1qEr0Cu4=zFbsL6U0QeA9y=-%2BjZ-O5bL_T%2BmFiFQ@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi there I want to be notified once a given socket file, say '/var/run/socket.pipe' gets deleted. Something like +---------------------------------------------+ | string path = "/var/run/socket.pipe"; | | int fd = open(path, O_RDONLY); | | EV_SET(&k, fd, ...); | | kevent(..., &k, ...); | +---------------------------------------------+ however does not work, as open(2) does not handle socket files, throwing back ENOTSUPP : An attempt was made to open a socket (not currently implemented). What is the proper way to monitor such files? * Just monitoring the parent directory for changes, and look up whether the file still exists each time? * Connecting to the socket and using EVFILT_READ and wait for EOF? Am I missing the obvious solution here? mfg Tobias
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOshKte7jK1qEr0Cu4=zFbsL6U0QeA9y=-%2BjZ-O5bL_T%2BmFiFQ>