Index: event.c
===================================================================
--- event.c	(revision 634)
+++ event.c	(working copy)
@@ -387,6 +387,13 @@
   return (event_base_loop(event_base, 0));
 }
 
+const char *
+event_base_get_method(struct event_base *base)
+{
+        assert(base);
+	return (base->evsel->name);
+}
+
 static void
 event_loopexit_cb(evutil_socket_t fd, short what, void *arg)
 {
Index: event.h
===================================================================
--- event.h	(revision 634)
+++ event.h	(working copy)
@@ -313,6 +313,15 @@
 
 
 /**
+ Get the kernel event notification mechanism used by libevent.
+ 
+ @param eb the event_base structure returned by event_base_new()
+ @return a string identifying the kernel event mechanism (kqueue, epoll, etc.)
+ */
+const char *event_base_get_method(struct event_base *);
+        
+        
+/**
   Deallocate all memory associated with an event_base, and free the base.
 
   Note that this function will not close any fds or free any memory passed
