Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: [patch] inotify. | Date | Fri, 17 Jun 2005 19:07:38 +0200 |
| |
On Dunnersdag 16 Juni 2005 20:25, Robert Love wrote: > +Q: Why a device node? > + > +A: The second biggest problem with dnotify is that the user > +interface sucks ass. Signals are a terrible, terrible interface > +for file notification. Or for anything, for that matter. The > +idea solution, from all perspectives, is a file descriptor based > +one that allows basic file I/O and poll/select. Obtaining the > +fd and managing the watches could of been done either via a > +device file or a family of new system calls. We decided to > +implement a device file because adding three or four new system > +calls that mirrored open, close, and ioctl seemed silly. A > +character device makes sense from user-space and was easy to > +implement inside of the kernel.
Sorry to bring up a topic that should have been settled a long time ago.
I found that the interface consisting of - open a handle - add a file descriptor with an event mask to handle - remove a file/watch descriptor from handle - wait on handle, get events - close handle
in inotify is _very_ similar to how epoll is represented to user space. Is there a good reason that epoll is a set of syscalls while inotify is a character device, or is one of them simply wrong?
Arnd <>< - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |