On Mon, Jul 13, 2015 at 2:39 PM, Jason Dillaman <dillaman@xxxxxxxxxx> wrote: >> But it doesn't provide an easily compassable way >> of integrating waiting on other events in the application. eventfd is >> easy to embed in your (e)pool loop or any kind of event library >> (libev). > > Agreed -- which is why I asked about the proposed design since it appears (to me) that everything is hidden behind the librbd API and thus not embeddable within a generic app event loop. It might just be a misunderstanding on my part, which is why I asked for an example integration. > Provided that the user never uses the file descriptor for anything but notification. As in, there's a separate (librbd) library function to drain it that fd. You an use either a eventfd fd or the receiving fd of a pipe() for non-Linux operating systems. The non eventfd case might end up last optimal (due to a needing a drain loop) but the notification mechanism will be both portable and transparent. -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: milosz@xxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html