+// ----------------------------------------------------------------------------
+// wxFDIODispatcher
+// ----------------------------------------------------------------------------
+
+/* static */
+wxFDIODispatcher *wxFDIODispatcher::Get()
+{
+ if ( !gs_dispatcher )
+ {
+#if wxUSE_EPOLL_DISPATCHER
+ gs_dispatcher = wxEpollDispatcher::Create();
+ if ( !gs_dispatcher )
+#endif // wxUSE_EPOLL_DISPATCHER
+#if wxUSE_SELECT_DISPATCHER
+ gs_dispatcher = new wxSelectDispatcher();
+#endif // wxUSE_SELECT_DISPATCHER
+ }
+
+ wxASSERT_MSG( gs_dispatcher, "failed to create any IO dispatchers" );
+
+ return gs_dispatcher;
+}
+
+/* static */
+void wxFDIODispatcher::DispatchPending()
+{
+ if ( gs_dispatcher )
+ gs_dispatcher->Dispatch(0);
+}
+
+// ----------------------------------------------------------------------------
+// wxMappedFDIODispatcher
+// ----------------------------------------------------------------------------
+