src/common/zstream.cpp \
src/common/fdiodispatcher.cpp \
src/common/selectdispatcher.cpp \
- src/unix/epolldispatcher.cpp \
src/unix/appunix.cpp \
- src/unix/evtloopunix.cpp \
src/unix/dir.cpp \
src/unix/dlunix.cpp \
+ src/unix/epolldispatcher.cpp \
+ src/unix/evtloopunix.cpp \
+ src/unix/fdiounix.cpp \
src/unix/snglinst.cpp \
+ src/unix/stackwalk.cpp \
src/unix/stdpaths.cpp \
src/unix/timerunx.cpp \
src/unix/threadpsx.cpp \
- src/unix/stackwalk.cpp \
src/unix/utilsunx.cpp \
src/unix/mimetype.cpp \
src/msw/basemsw.cpp \
COND_TOOLKIT__BASE_OSX_SRC = \
src/common/fdiodispatcher.cpp \
src/common/selectdispatcher.cpp \
- src/unix/epolldispatcher.cpp \
src/unix/appunix.cpp \
- src/unix/evtloopunix.cpp \
src/unix/dir.cpp \
src/unix/dlunix.cpp \
+ src/unix/epolldispatcher.cpp \
+ src/unix/evtloopunix.cpp \
+ src/unix/fdiounix.cpp \
src/unix/snglinst.cpp \
+ src/unix/stackwalk.cpp \
src/unix/stdpaths.cpp \
src/unix/timerunx.cpp \
src/unix/threadpsx.cpp \
- src/unix/stackwalk.cpp \
src/unix/utilsunx.cpp \
src/unix/mimetype.cpp \
src/osx/core/cfstring.cpp \
COND_TOOLKIT_COCOA_BASE_OSX_SRC = \
src/common/fdiodispatcher.cpp \
src/common/selectdispatcher.cpp \
- src/unix/epolldispatcher.cpp \
src/unix/appunix.cpp \
- src/unix/evtloopunix.cpp \
src/unix/dir.cpp \
src/unix/dlunix.cpp \
+ src/unix/epolldispatcher.cpp \
+ src/unix/evtloopunix.cpp \
+ src/unix/fdiounix.cpp \
src/unix/snglinst.cpp \
+ src/unix/stackwalk.cpp \
src/unix/stdpaths.cpp \
src/unix/timerunx.cpp \
src/unix/threadpsx.cpp \
- src/unix/stackwalk.cpp \
src/unix/utilsunx.cpp \
src/unix/mimetype.cpp \
src/osx/core/cfstring.cpp \
COND_TOOLKIT_GTK_BASE_OSX_SRC = \
src/common/fdiodispatcher.cpp \
src/common/selectdispatcher.cpp \
- src/unix/epolldispatcher.cpp \
src/unix/appunix.cpp \
- src/unix/evtloopunix.cpp \
src/unix/dir.cpp \
src/unix/dlunix.cpp \
+ src/unix/epolldispatcher.cpp \
+ src/unix/evtloopunix.cpp \
+ src/unix/fdiounix.cpp \
src/unix/snglinst.cpp \
+ src/unix/stackwalk.cpp \
src/unix/stdpaths.cpp \
src/unix/timerunx.cpp \
src/unix/threadpsx.cpp \
- src/unix/stackwalk.cpp \
src/unix/utilsunx.cpp \
src/unix/mimetype.cpp \
src/osx/core/cfstring.cpp \
COND_TOOLKIT_MOTIF_BASE_OSX_SRC = \
src/common/fdiodispatcher.cpp \
src/common/selectdispatcher.cpp \
- src/unix/epolldispatcher.cpp \
src/unix/appunix.cpp \
- src/unix/evtloopunix.cpp \
src/unix/dir.cpp \
src/unix/dlunix.cpp \
+ src/unix/epolldispatcher.cpp \
+ src/unix/evtloopunix.cpp \
+ src/unix/fdiounix.cpp \
src/unix/snglinst.cpp \
+ src/unix/stackwalk.cpp \
src/unix/stdpaths.cpp \
src/unix/timerunx.cpp \
src/unix/threadpsx.cpp \
- src/unix/stackwalk.cpp \
src/unix/utilsunx.cpp \
src/unix/mimetype.cpp \
src/osx/core/cfstring.cpp \
src/osx/core/utilsexc_base.cpp \
src/common/fdiodispatcher.cpp \
src/common/selectdispatcher.cpp \
- src/unix/epolldispatcher.cpp \
src/unix/appunix.cpp \
- src/unix/evtloopunix.cpp \
src/unix/dir.cpp \
src/unix/dlunix.cpp \
+ src/unix/epolldispatcher.cpp \
+ src/unix/evtloopunix.cpp \
+ src/unix/fdiounix.cpp \
src/unix/snglinst.cpp \
+ src/unix/stackwalk.cpp \
src/unix/stdpaths.cpp \
src/unix/timerunx.cpp \
src/unix/threadpsx.cpp \
- src/unix/stackwalk.cpp \
src/unix/utilsunx.cpp
@COND_TOOLKIT_OSX_CARBON@BASE_OSX_SRC = $(COND_TOOLKIT_OSX_CARBON_BASE_OSX_SRC)
COND_TOOLKIT_OSX_COCOA_BASE_OSX_SRC = \
src/osx/core/utilsexc_base.cpp \
src/common/fdiodispatcher.cpp \
src/common/selectdispatcher.cpp \
- src/unix/epolldispatcher.cpp \
src/unix/appunix.cpp \
- src/unix/evtloopunix.cpp \
src/unix/dir.cpp \
src/unix/dlunix.cpp \
+ src/unix/epolldispatcher.cpp \
+ src/unix/evtloopunix.cpp \
+ src/unix/fdiounix.cpp \
src/unix/snglinst.cpp \
+ src/unix/stackwalk.cpp \
src/unix/stdpaths.cpp \
src/unix/timerunx.cpp \
src/unix/threadpsx.cpp \
- src/unix/stackwalk.cpp \
src/unix/utilsunx.cpp
@COND_TOOLKIT_OSX_COCOA@BASE_OSX_SRC = $(COND_TOOLKIT_OSX_COCOA_BASE_OSX_SRC)
COND_TOOLKIT_X11_BASE_OSX_SRC = \
src/common/fdiodispatcher.cpp \
src/common/selectdispatcher.cpp \
- src/unix/epolldispatcher.cpp \
src/unix/appunix.cpp \
- src/unix/evtloopunix.cpp \
src/unix/dir.cpp \
src/unix/dlunix.cpp \
+ src/unix/epolldispatcher.cpp \
+ src/unix/evtloopunix.cpp \
+ src/unix/fdiounix.cpp \
src/unix/snglinst.cpp \
+ src/unix/stackwalk.cpp \
src/unix/stdpaths.cpp \
src/unix/timerunx.cpp \
src/unix/threadpsx.cpp \
- src/unix/stackwalk.cpp \
src/unix/utilsunx.cpp \
src/unix/mimetype.cpp \
src/osx/core/cfstring.cpp \
monodll_utilsexc_base.o \
monodll_fdiodispatcher.o \
monodll_selectdispatcher.o \
- monodll_epolldispatcher.o \
monodll_appunix.o \
- monodll_evtloopunix.o \
monodll_unix_dir.o \
monodll_dlunix.o \
+ monodll_epolldispatcher.o \
+ monodll_evtloopunix.o \
+ monodll_fdiounix.o \
monodll_unix_snglinst.o \
+ monodll_unix_stackwalk.o \
monodll_unix_stdpaths.o \
monodll_timerunx.o \
monodll_threadpsx.o \
- monodll_unix_stackwalk.o \
monodll_utilsunx.o
@COND_PLATFORM_MACOSX_1@__BASE_PLATFORM_SRC_OBJECTS = $(COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS)
@COND_PLATFORM_MSDOS_1@__BASE_PLATFORM_SRC_OBJECTS = \
COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS = \
monodll_fdiodispatcher.o \
monodll_selectdispatcher.o \
- monodll_epolldispatcher.o \
monodll_appunix.o \
- monodll_evtloopunix.o \
monodll_unix_dir.o \
monodll_dlunix.o \
+ monodll_epolldispatcher.o \
+ monodll_evtloopunix.o \
+ monodll_fdiounix.o \
monodll_unix_snglinst.o \
+ monodll_unix_stackwalk.o \
monodll_unix_stdpaths.o \
monodll_timerunx.o \
monodll_threadpsx.o \
- monodll_unix_stackwalk.o \
monodll_utilsunx.o \
monodll_unix_mimetype.o
@COND_PLATFORM_UNIX_1@__BASE_PLATFORM_SRC_OBJECTS = $(COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS)
monolib_utilsexc_base.o \
monolib_fdiodispatcher.o \
monolib_selectdispatcher.o \
- monolib_epolldispatcher.o \
monolib_appunix.o \
- monolib_evtloopunix.o \
monolib_unix_dir.o \
monolib_dlunix.o \
+ monolib_epolldispatcher.o \
+ monolib_evtloopunix.o \
+ monolib_fdiounix.o \
monolib_unix_snglinst.o \
+ monolib_unix_stackwalk.o \
monolib_unix_stdpaths.o \
monolib_timerunx.o \
monolib_threadpsx.o \
- monolib_unix_stackwalk.o \
monolib_utilsunx.o
@COND_PLATFORM_MACOSX_1@__BASE_PLATFORM_SRC_OBJECTS_1 = $(COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS_1)
@COND_PLATFORM_MSDOS_1@__BASE_PLATFORM_SRC_OBJECTS_1 \
COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_1 = \
monolib_fdiodispatcher.o \
monolib_selectdispatcher.o \
- monolib_epolldispatcher.o \
monolib_appunix.o \
- monolib_evtloopunix.o \
monolib_unix_dir.o \
monolib_dlunix.o \
+ monolib_epolldispatcher.o \
+ monolib_evtloopunix.o \
+ monolib_fdiounix.o \
monolib_unix_snglinst.o \
+ monolib_unix_stackwalk.o \
monolib_unix_stdpaths.o \
monolib_timerunx.o \
monolib_threadpsx.o \
- monolib_unix_stackwalk.o \
monolib_utilsunx.o \
monolib_unix_mimetype.o
@COND_PLATFORM_UNIX_1@__BASE_PLATFORM_SRC_OBJECTS_1 = $(COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_1)
basedll_utilsexc_base.o \
basedll_fdiodispatcher.o \
basedll_selectdispatcher.o \
- basedll_epolldispatcher.o \
basedll_appunix.o \
- basedll_evtloopunix.o \
basedll_unix_dir.o \
basedll_dlunix.o \
+ basedll_epolldispatcher.o \
+ basedll_evtloopunix.o \
+ basedll_fdiounix.o \
basedll_unix_snglinst.o \
+ basedll_unix_stackwalk.o \
basedll_unix_stdpaths.o \
basedll_timerunx.o \
basedll_threadpsx.o \
- basedll_unix_stackwalk.o \
basedll_utilsunx.o
@COND_PLATFORM_MACOSX_1@__BASE_PLATFORM_SRC_OBJECTS_2 = $(COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS_2)
@COND_PLATFORM_MSDOS_1@__BASE_PLATFORM_SRC_OBJECTS_2 \
COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_2 = \
basedll_fdiodispatcher.o \
basedll_selectdispatcher.o \
- basedll_epolldispatcher.o \
basedll_appunix.o \
- basedll_evtloopunix.o \
basedll_unix_dir.o \
basedll_dlunix.o \
+ basedll_epolldispatcher.o \
+ basedll_evtloopunix.o \
+ basedll_fdiounix.o \
basedll_unix_snglinst.o \
+ basedll_unix_stackwalk.o \
basedll_unix_stdpaths.o \
basedll_timerunx.o \
basedll_threadpsx.o \
- basedll_unix_stackwalk.o \
basedll_utilsunx.o \
basedll_unix_mimetype.o
@COND_PLATFORM_UNIX_1@__BASE_PLATFORM_SRC_OBJECTS_2 = $(COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_2)
baselib_utilsexc_base.o \
baselib_fdiodispatcher.o \
baselib_selectdispatcher.o \
- baselib_epolldispatcher.o \
baselib_appunix.o \
- baselib_evtloopunix.o \
baselib_unix_dir.o \
baselib_dlunix.o \
+ baselib_epolldispatcher.o \
+ baselib_evtloopunix.o \
+ baselib_fdiounix.o \
baselib_unix_snglinst.o \
+ baselib_unix_stackwalk.o \
baselib_unix_stdpaths.o \
baselib_timerunx.o \
baselib_threadpsx.o \
- baselib_unix_stackwalk.o \
baselib_utilsunx.o
@COND_PLATFORM_MACOSX_1@__BASE_PLATFORM_SRC_OBJECTS_3 = $(COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS_3)
@COND_PLATFORM_MSDOS_1@__BASE_PLATFORM_SRC_OBJECTS_3 \
COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_3 = \
baselib_fdiodispatcher.o \
baselib_selectdispatcher.o \
- baselib_epolldispatcher.o \
baselib_appunix.o \
- baselib_evtloopunix.o \
baselib_unix_dir.o \
baselib_dlunix.o \
+ baselib_epolldispatcher.o \
+ baselib_evtloopunix.o \
+ baselib_fdiounix.o \
baselib_unix_snglinst.o \
+ baselib_unix_stackwalk.o \
baselib_unix_stdpaths.o \
baselib_timerunx.o \
baselib_threadpsx.o \
- baselib_unix_stackwalk.o \
baselib_utilsunx.o \
baselib_unix_mimetype.o
@COND_PLATFORM_UNIX_1@__BASE_PLATFORM_SRC_OBJECTS_3 = $(COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_3)
@COND_PLATFORM_OS2_1@monodll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONODLL_ODEP)
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
-@COND_PLATFORM_UNIX_1@monodll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONODLL_ODEP)
-@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
-
-@COND_PLATFORM_MACOSX_1@monodll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONODLL_ODEP)
-@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
-
@COND_PLATFORM_UNIX_1@monodll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONODLL_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
@COND_PLATFORM_OS2_1@monodll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONODLL_ODEP)
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
-@COND_PLATFORM_UNIX_1@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
-@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
-
-@COND_PLATFORM_MACOSX_1@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
-@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
-
-@COND_PLATFORM_OS2_1@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
-@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
-
@COND_PLATFORM_UNIX_1@monodll_unix_dir.o: $(srcdir)/src/unix/dir.cpp $(MONODLL_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/dir.cpp
@COND_PLATFORM_MACOSX_1@monodll_dlunix.o: $(srcdir)/src/unix/dlunix.cpp $(MONODLL_ODEP)
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/dlunix.cpp
+@COND_PLATFORM_UNIX_1@monodll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1@monodll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_UNIX_1@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_OS2_1@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_UNIX_1@monodll_fdiounix.o: $(srcdir)/src/unix/fdiounix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/fdiounix.cpp
+
+@COND_PLATFORM_MACOSX_1@monodll_fdiounix.o: $(srcdir)/src/unix/fdiounix.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/fdiounix.cpp
+
@COND_PLATFORM_UNIX_1@monodll_unix_snglinst.o: $(srcdir)/src/unix/snglinst.cpp $(MONODLL_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/snglinst.cpp
@COND_PLATFORM_MACOSX_1@monodll_unix_snglinst.o: $(srcdir)/src/unix/snglinst.cpp $(MONODLL_ODEP)
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/snglinst.cpp
+@COND_PLATFORM_UNIX_1@monodll_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
+
+@COND_PLATFORM_MACOSX_1@monodll_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
+
@COND_PLATFORM_UNIX_1@monodll_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(MONODLL_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp
@COND_PLATFORM_MACOSX_1@monodll_threadpsx.o: $(srcdir)/src/unix/threadpsx.cpp $(MONODLL_ODEP)
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/threadpsx.cpp
-@COND_PLATFORM_UNIX_1@monodll_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(MONODLL_ODEP)
-@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
-
-@COND_PLATFORM_MACOSX_1@monodll_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(MONODLL_ODEP)
-@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
-
@COND_PLATFORM_UNIX_1@monodll_utilsunx.o: $(srcdir)/src/unix/utilsunx.cpp $(MONODLL_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/utilsunx.cpp
@COND_PLATFORM_OS2_1@monolib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
-@COND_PLATFORM_UNIX_1@monolib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONOLIB_ODEP)
-@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
-
-@COND_PLATFORM_MACOSX_1@monolib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONOLIB_ODEP)
-@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
-
@COND_PLATFORM_UNIX_1@monolib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
@COND_PLATFORM_OS2_1@monolib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
-@COND_PLATFORM_UNIX_1@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
-@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
-
-@COND_PLATFORM_MACOSX_1@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
-@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
-
-@COND_PLATFORM_OS2_1@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
-@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
-
@COND_PLATFORM_UNIX_1@monolib_unix_dir.o: $(srcdir)/src/unix/dir.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/dir.cpp
@COND_PLATFORM_MACOSX_1@monolib_dlunix.o: $(srcdir)/src/unix/dlunix.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/dlunix.cpp
+@COND_PLATFORM_UNIX_1@monolib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1@monolib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_UNIX_1@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_OS2_1@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_UNIX_1@monolib_fdiounix.o: $(srcdir)/src/unix/fdiounix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/fdiounix.cpp
+
+@COND_PLATFORM_MACOSX_1@monolib_fdiounix.o: $(srcdir)/src/unix/fdiounix.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/fdiounix.cpp
+
@COND_PLATFORM_UNIX_1@monolib_unix_snglinst.o: $(srcdir)/src/unix/snglinst.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/snglinst.cpp
@COND_PLATFORM_MACOSX_1@monolib_unix_snglinst.o: $(srcdir)/src/unix/snglinst.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/snglinst.cpp
+@COND_PLATFORM_UNIX_1@monolib_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
+
+@COND_PLATFORM_MACOSX_1@monolib_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
+
@COND_PLATFORM_UNIX_1@monolib_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp
@COND_PLATFORM_MACOSX_1@monolib_threadpsx.o: $(srcdir)/src/unix/threadpsx.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/threadpsx.cpp
-@COND_PLATFORM_UNIX_1@monolib_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(MONOLIB_ODEP)
-@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
-
-@COND_PLATFORM_MACOSX_1@monolib_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(MONOLIB_ODEP)
-@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
-
@COND_PLATFORM_UNIX_1@monolib_utilsunx.o: $(srcdir)/src/unix/utilsunx.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/utilsunx.cpp
@COND_PLATFORM_OS2_1@basedll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(BASEDLL_ODEP)
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
-@COND_PLATFORM_UNIX_1@basedll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASEDLL_ODEP)
-@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
-
-@COND_PLATFORM_MACOSX_1@basedll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASEDLL_ODEP)
-@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
-
@COND_PLATFORM_UNIX_1@basedll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASEDLL_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
@COND_PLATFORM_OS2_1@basedll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASEDLL_ODEP)
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
-@COND_PLATFORM_UNIX_1@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
-@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
-
-@COND_PLATFORM_MACOSX_1@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
-@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
-
-@COND_PLATFORM_OS2_1@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
-@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
-
@COND_PLATFORM_UNIX_1@basedll_unix_dir.o: $(srcdir)/src/unix/dir.cpp $(BASEDLL_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/dir.cpp
@COND_PLATFORM_MACOSX_1@basedll_dlunix.o: $(srcdir)/src/unix/dlunix.cpp $(BASEDLL_ODEP)
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/dlunix.cpp
+@COND_PLATFORM_UNIX_1@basedll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1@basedll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_UNIX_1@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_OS2_1@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_UNIX_1@basedll_fdiounix.o: $(srcdir)/src/unix/fdiounix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/fdiounix.cpp
+
+@COND_PLATFORM_MACOSX_1@basedll_fdiounix.o: $(srcdir)/src/unix/fdiounix.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/fdiounix.cpp
+
@COND_PLATFORM_UNIX_1@basedll_unix_snglinst.o: $(srcdir)/src/unix/snglinst.cpp $(BASEDLL_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/snglinst.cpp
@COND_PLATFORM_MACOSX_1@basedll_unix_snglinst.o: $(srcdir)/src/unix/snglinst.cpp $(BASEDLL_ODEP)
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/snglinst.cpp
+@COND_PLATFORM_UNIX_1@basedll_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
+
+@COND_PLATFORM_MACOSX_1@basedll_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
+
@COND_PLATFORM_UNIX_1@basedll_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(BASEDLL_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp
@COND_PLATFORM_MACOSX_1@basedll_threadpsx.o: $(srcdir)/src/unix/threadpsx.cpp $(BASEDLL_ODEP)
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/threadpsx.cpp
-@COND_PLATFORM_UNIX_1@basedll_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(BASEDLL_ODEP)
-@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
-
-@COND_PLATFORM_MACOSX_1@basedll_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(BASEDLL_ODEP)
-@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
-
@COND_PLATFORM_UNIX_1@basedll_utilsunx.o: $(srcdir)/src/unix/utilsunx.cpp $(BASEDLL_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/utilsunx.cpp
@COND_PLATFORM_OS2_1@baselib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(BASELIB_ODEP)
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
-@COND_PLATFORM_UNIX_1@baselib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASELIB_ODEP)
-@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
-
-@COND_PLATFORM_MACOSX_1@baselib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASELIB_ODEP)
-@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
-
@COND_PLATFORM_UNIX_1@baselib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASELIB_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
@COND_PLATFORM_OS2_1@baselib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASELIB_ODEP)
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
-@COND_PLATFORM_UNIX_1@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
-@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
-
-@COND_PLATFORM_MACOSX_1@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
-@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
-
-@COND_PLATFORM_OS2_1@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
-@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
-
@COND_PLATFORM_UNIX_1@baselib_unix_dir.o: $(srcdir)/src/unix/dir.cpp $(BASELIB_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/dir.cpp
@COND_PLATFORM_MACOSX_1@baselib_dlunix.o: $(srcdir)/src/unix/dlunix.cpp $(BASELIB_ODEP)
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/dlunix.cpp
+@COND_PLATFORM_UNIX_1@baselib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_MACOSX_1@baselib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
+
+@COND_PLATFORM_UNIX_1@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_MACOSX_1@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_OS2_1@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
+
+@COND_PLATFORM_UNIX_1@baselib_fdiounix.o: $(srcdir)/src/unix/fdiounix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/fdiounix.cpp
+
+@COND_PLATFORM_MACOSX_1@baselib_fdiounix.o: $(srcdir)/src/unix/fdiounix.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/fdiounix.cpp
+
@COND_PLATFORM_UNIX_1@baselib_unix_snglinst.o: $(srcdir)/src/unix/snglinst.cpp $(BASELIB_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/snglinst.cpp
@COND_PLATFORM_MACOSX_1@baselib_unix_snglinst.o: $(srcdir)/src/unix/snglinst.cpp $(BASELIB_ODEP)
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/snglinst.cpp
+@COND_PLATFORM_UNIX_1@baselib_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
+
+@COND_PLATFORM_MACOSX_1@baselib_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
+
@COND_PLATFORM_UNIX_1@baselib_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(BASELIB_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp
@COND_PLATFORM_MACOSX_1@baselib_threadpsx.o: $(srcdir)/src/unix/threadpsx.cpp $(BASELIB_ODEP)
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/threadpsx.cpp
-@COND_PLATFORM_UNIX_1@baselib_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(BASELIB_ODEP)
-@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
-
-@COND_PLATFORM_MACOSX_1@baselib_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(BASELIB_ODEP)
-@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
-
@COND_PLATFORM_UNIX_1@baselib_utilsunx.o: $(srcdir)/src/unix/utilsunx.cpp $(BASELIB_ODEP)
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/utilsunx.cpp
src/unix/dlunix.cpp
src/unix/epolldispatcher.cpp
src/unix/evtloopunix.cpp
+ src/unix/fdiounix.cpp
src/unix/snglinst.cpp
src/unix/stackwalk.cpp
src/unix/stdpaths.cpp
// Clean up message queue.
virtual void TerminateGui(unsigned long ulHab);
+
#if wxUSE_SOCKETS
- // returns the select()-based socket manager for console applications which
- // is also used by some ports (wxX11, wxDFB) in the GUI build (hence it is
- // here and not in wxConsoleAppTraits)
- virtual wxSocketManager *GetSocketManager();
+ virtual wxFDIOManager *GetFDIOManager();
#endif
};
virtual wxString GetDesktopEnvironment() const;
#endif
#if wxUSE_SOCKETS
- virtual wxSocketManager *GetSocketManager();
+ virtual wxFDIOManager *GetFDIOManager();
#endif
};
class wxFDIOHandler
{
public:
+ wxFDIOHandler() { m_regmask = 0; }
+
// called when descriptor is available for non-blocking read
virtual void OnReadWaiting() = 0;
// wxSocketImplUnix currently
virtual bool IsOk() const { return true; }
+
+ // get/set the mask of events for which we're currently registered for:
+ // it's a combination of wxFDIO_{INPUT,OUTPUT,EXCEPTION}
+ int GetRegisteredEvents() const { return m_regmask; }
+ void SetRegisteredEvent(int flag) { m_regmask |= flag; }
+ void ClearRegisteredEvent(int flag) { m_regmask &= ~flag; }
+
+
// virtual dtor for the base class
virtual ~wxFDIOHandler() { }
+
+private:
+ int m_regmask;
+
+ wxDECLARE_NO_COPY_CLASS(wxFDIOHandler);
};
#endif // _WX_PRIVATE_FDIOHANDLER_H_
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// Name: wx/private/fdiomanager.h
+// Purpose: declaration of wxFDIOManager
+// Author: Vadim Zeitlin
+// Created: 2009-08-17
+// RCS-ID: $Id: wxhead.h,v 1.11 2009-06-29 10:23:04 zeitlin Exp $
+// Copyright: (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_PRIVATE_FDIOMANAGER_H_
+#define _WX_PRIVATE_FDIOMANAGER_H_
+
+#include "wx/private/fdiohandler.h"
+
+// ----------------------------------------------------------------------------
+// wxFDIOManager: register or unregister wxFDIOHandlers
+// ----------------------------------------------------------------------------
+
+// currently only used in wxGTK and wxMotif, see wx/unix/apptrait.h
+
+class wxFDIOManager
+{
+public:
+ // identifies either input or output direction
+ //
+ // NB: the values of this enum shouldn't change
+ enum Direction
+ {
+ INPUT,
+ OUTPUT
+ };
+
+ // start or stop monitoring the events on the given file descriptor
+ virtual int AddInput(wxFDIOHandler *handler, int fd, Direction d) = 0;
+ virtual void RemoveInput(wxFDIOHandler *handler, int fd, Direction d) = 0;
+
+ // empty but virtual dtor for the base class
+ virtual ~wxFDIOManager() { }
+};
+
+#endif // _WX_PRIVATE_FDIOMANAGER_H_
+
struct wxEndProcessData;
struct wxExecuteData;
+class wxFDIOManager;
// ----------------------------------------------------------------------------
// wxAppTraits: the Unix version adds extra hooks needed by Unix code
// loop
virtual int AddProcessCallback(wxEndProcessData *data, int fd);
+#if wxUSE_SOCKETS
+ // return a pointer to the object which should be used to integrate
+ // monitoring of the file descriptors to the event loop (currently this is
+ // used for the sockets only but should be used for arbitrary event loop
+ // sources in the future)
+ //
+ // this object may be different for the console and GUI applications
+ //
+ // the pointer is not deleted by the caller as normally it points to a
+ // static variable
+ virtual wxFDIOManager *GetFDIOManager();
+#endif // wxUSE_SOCKETS
protected:
// a helper for the implementation of WaitForChild() in wxGUIAppTraits:
// TODO: Should we use XtAddInput() for wxX11 too? Or, vice versa, if there is
// no advantage in doing this compared to the generic way currently used
// by wxX11, should we continue to use GTK/Motif-specific stuff?
-#if defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXMAC__)
+#if defined(__WXGTK__) || defined(__WXMOTIF__)
+ #define wxHAS_GUI_FDIOMANAGER
+ #define wxHAS_GUI_PROCESS_CALLBACKS
+#endif // ports using wxFDIOManager
+
+#if defined(__WXMAC__)
#define wxHAS_GUI_PROCESS_CALLBACKS
#define wxHAS_GUI_SOCKET_MANAGER
#endif
virtual bool ShowAssertDialog(const wxString& msg);
#endif
-#if wxUSE_SOCKETS && defined(wxHAS_GUI_SOCKET_MANAGER)
+#if wxUSE_SOCKETS
+
+#ifdef wxHAS_GUI_SOCKET_MANAGER
virtual wxSocketManager *GetSocketManager();
#endif
+
+#ifdef wxHAS_GUI_FDIOMANAGER
+ virtual wxFDIOManager *GetFDIOManager();
+#endif
+
+#endif // wxUSE_SOCKETS
};
#endif // wxUSE_GUI
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// Name: wx/unix/private/fdiounix.h
+// Purpose: wxFDIOManagerUnix class used by console Unix applications
+// Author: Vadim Zeitlin
+// Created: 2009-08-17
+// RCS-ID: $Id: wxhead.h,v 1.11 2009-06-29 10:23:04 zeitlin Exp $
+// Copyright: (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _UNIX_PRIVATE_FDIOUNIX_H_
+#define _UNIX_PRIVATE_FDIOUNIX_H_
+
+#include "wx/private/fdiomanager.h"
+
+// ----------------------------------------------------------------------------
+// wxFDIOManagerUnix: implement wxFDIOManager interface using wxFDIODispatcher
+// ----------------------------------------------------------------------------
+
+class wxFDIOManagerUnix : public wxFDIOManager
+{
+public:
+ virtual int AddInput(wxFDIOHandler *handler, int fd, Direction d);
+ virtual void RemoveInput(wxFDIOHandler *handler, int fd, Direction d);
+};
+
+#endif // _UNIX_PRIVATE_FDIOUNIX_H_
+
#include <unistd.h>
#include <sys/ioctl.h>
-#include "wx/private/fdiodispatcher.h"
+#include "wx/private/fdiomanager.h"
class wxSocketImplUnix : public wxSocketImpl,
public wxFDIOHandler
{
m_fds[0] =
m_fds[1] = -1;
-
- m_enabledCallbacks = 0;
}
virtual wxSocketError GetLastError() const;
virtual void OnExceptionWaiting();
virtual bool IsOk() const { return m_fd != INVALID_SOCKET; }
- // Unix-specific functions used by wxSocketFDIOManager only
- bool HasAnyEnabledCallbacks() const { return m_enabledCallbacks != 0; }
- void EnableCallback(wxFDIODispatcherEntryFlags flag)
- { m_enabledCallbacks |= flag; }
- void DisableCallback(wxFDIODispatcherEntryFlags flag)
- { m_enabledCallbacks &= ~flag; }
- int GetEnabledCallbacks() const { return m_enabledCallbacks; }
-
private:
virtual void DoClose()
{
// with the socket
int m_fds[2];
- // the events which are currently enabled for this socket, combination of
- // wxFDIO_INPUT and wxFDIO_OUTPUT values
- int m_enabledCallbacks;
-
private:
// notify the associated wxSocket about a change in socket state and shut
// down the socket if the event is wxSOCKET_LOST
friend class wxSocketFDBasedManager;
};
-// A version of wxSocketManager which uses FDs for socket IO
+// A version of wxSocketManager which uses FDs for socket IO: it is used by
+// Unix console applications and some X11-like ports (wxGTK and wxMotif but not
+// wxX11 currently) which implement their own port-specific wxFDIOManagers
class wxSocketFDBasedManager : public wxSocketManager
{
public:
- // no special initialization/cleanup needed when using FDs
- virtual bool OnInit() { return true; }
+ wxSocketFDBasedManager()
+ {
+ m_fdioManager = NULL;
+ }
+
+ virtual bool OnInit();
virtual void OnExit() { }
virtual wxSocketImpl *CreateSocket(wxSocketBase& wxsocket)
return new wxSocketImplUnix(wxsocket);
}
-protected:
- // identifies either input or output direction
- //
- // NB: the values of this enum shouldn't change
- enum SocketDir
- {
- FD_INPUT,
- FD_OUTPUT
- };
+ virtual void Install_Callback(wxSocketImpl *socket_, wxSocketNotify event);
+ virtual void Uninstall_Callback(wxSocketImpl *socket_, wxSocketNotify event);
+protected:
// get the FD index corresponding to the given wxSocketNotify
- SocketDir GetDirForEvent(wxSocketImpl *socket, wxSocketNotify event)
- {
- switch ( event )
- {
- default:
- wxFAIL_MSG( "unknown socket event" );
- return FD_INPUT; // we must return something
-
- case wxSOCKET_LOST:
- wxFAIL_MSG( "unexpected socket event" );
- return FD_INPUT; // as above
-
- case wxSOCKET_INPUT:
- return FD_INPUT;
-
- case wxSOCKET_OUTPUT:
- return FD_OUTPUT;
-
- case wxSOCKET_CONNECTION:
- // for server sockets we're interested in events indicating
- // that a new connection is pending, i.e. that accept() will
- // succeed and this is indicated by socket becoming ready for
- // reading, while for the other ones we're interested in the
- // completion of non-blocking connect() which is indicated by
- // the socket becoming ready for writing
- return socket->IsServer() ? FD_INPUT : FD_OUTPUT;
- }
- }
+ wxFDIOManager::Direction
+ GetDirForEvent(wxSocketImpl *socket, wxSocketNotify event);
// access the FDs we store
- int& FD(wxSocketImplUnix *socket, SocketDir d)
+ int& FD(wxSocketImplUnix *socket, wxFDIOManager::Direction d)
{
return socket->m_fds[d];
}
-};
-
-// Common base class for all ports using X11-like (and hence implemented in
-// X11, Motif and GTK) AddInput() and RemoveInput() functions
-class wxSocketInputBasedManager : public wxSocketFDBasedManager
-{
-public:
- virtual void Install_Callback(wxSocketImpl *socket_, wxSocketNotify event)
- {
- wxSocketImplUnix * const
- socket = static_cast<wxSocketImplUnix *>(socket_);
-
- wxCHECK_RET( socket->m_fd != -1,
- "shouldn't be called on invalid socket" );
-
- const SocketDir d = GetDirForEvent(socket, event);
-
- int& fd = FD(socket, d);
- if ( fd != -1 )
- RemoveInput(fd);
-
- fd = AddInput(socket, socket->m_fd, d);
- }
-
- virtual void Uninstall_Callback(wxSocketImpl *socket_, wxSocketNotify event)
- {
- wxSocketImplUnix * const
- socket = static_cast<wxSocketImplUnix *>(socket_);
- const SocketDir d = GetDirForEvent(socket, event);
+ wxFDIOManager *m_fdioManager;
- int& fd = FD(socket, d);
- if ( fd != -1 )
- {
- RemoveInput(fd);
- fd = -1;
- }
- }
-
-private:
- // these functions map directly to XtAdd/RemoveInput() or
- // gdk_input_add/remove()
- virtual int AddInput(wxSocketImplUnix *handler, int fd, SocketDir d) = 0;
- virtual void RemoveInput(int fd) = 0;
+ wxDECLARE_NO_COPY_CLASS(wxSocketFDBasedManager);
};
#endif /* _WX_UNIX_GSOCKUNX_H_ */
#pragma hdrstop
#endif
-#if wxUSE_SOCKETS && wxUSE_SELECT_DISPATCHER
+#if wxUSE_SOCKETS
+#include "wx/app.h"
#include "wx/apptrait.h"
#include "wx/private/socket.h"
#include "wx/link.h"
// ============================================================================
-// implementation
+// wxSocketFDBasedManager implementation
// ============================================================================
-// ----------------------------------------------------------------------------
-// wxSocketFDIOManager: socket manager using wxFDIODispatcher
-// ----------------------------------------------------------------------------
-
-class wxSocketFDIOManager : public wxSocketFDBasedManager
-{
-public:
- virtual void Install_Callback(wxSocketImpl *socket, wxSocketNotify event);
- virtual void Uninstall_Callback(wxSocketImpl *socket, wxSocketNotify event);
-};
-
-void wxSocketFDIOManager::Install_Callback(wxSocketImpl *socket_,
- wxSocketNotify event)
+bool wxSocketFDBasedManager::OnInit()
{
- wxSocketImplUnix * const socket = static_cast<wxSocketImplUnix *>(socket_);
+ wxAppTraits * const traits = wxApp::GetTraitsIfExists();
+ if ( !traits )
+ return false;
- const int fd = socket->m_fd;
-
- if ( fd == -1 )
- return;
-
- const SocketDir d = GetDirForEvent(socket, event);
+ m_fdioManager = traits->GetFDIOManager();
+ return m_fdioManager != NULL;
+}
- wxFDIODispatcher * const dispatcher = wxFDIODispatcher::Get();
- if ( !dispatcher )
- return;
+void wxSocketFDBasedManager::Install_Callback(wxSocketImpl *socket_,
+ wxSocketNotify event)
+{
+ wxSocketImplUnix * const
+ socket = static_cast<wxSocketImplUnix *>(socket_);
- FD(socket, d) = fd;
+ wxCHECK_RET( socket->m_fd != -1,
+ "shouldn't be called on invalid socket" );
- // register it when it's used for the first time, update it if it had been
- // previously registered
- const bool alreadyRegistered = socket->HasAnyEnabledCallbacks();
+ const wxFDIOManager::Direction d = GetDirForEvent(socket, event);
- socket->EnableCallback(d == FD_INPUT ? wxFDIO_INPUT : wxFDIO_OUTPUT);
+ int& fd = FD(socket, d);
+ if ( fd != -1 )
+ m_fdioManager->RemoveInput(socket, fd, d);
- if ( alreadyRegistered )
- dispatcher->ModifyFD(fd, socket, socket->GetEnabledCallbacks());
- else
- dispatcher->RegisterFD(fd, socket, socket->GetEnabledCallbacks());
+ fd = m_fdioManager->AddInput(socket, socket->m_fd, d);
}
-void wxSocketFDIOManager::Uninstall_Callback(wxSocketImpl *socket_,
- wxSocketNotify event)
+void wxSocketFDBasedManager::Uninstall_Callback(wxSocketImpl *socket_,
+ wxSocketNotify event)
{
- wxSocketImplUnix * const socket = static_cast<wxSocketImplUnix *>(socket_);
-
- const SocketDir d = GetDirForEvent(socket, event);
+ wxSocketImplUnix * const
+ socket = static_cast<wxSocketImplUnix *>(socket_);
- const int fd = FD(socket, d);
- if ( fd == -1 )
- return;
+ const wxFDIOManager::Direction d = GetDirForEvent(socket, event);
- FD(socket, d) = -1;
-
- const wxFDIODispatcherEntryFlags
- flag = d == FD_INPUT ? wxFDIO_INPUT : wxFDIO_OUTPUT;
-
- wxFDIODispatcher * const dispatcher = wxFDIODispatcher::Get();
- if ( !dispatcher )
- return;
-
- socket->DisableCallback(flag);
+ int& fd = FD(socket, d);
+ if ( fd != -1 )
+ {
+ m_fdioManager->RemoveInput(socket, fd, d);
+ fd = -1;
+ }
+}
- if ( !socket->HasAnyEnabledCallbacks() )
- dispatcher->UnregisterFD(fd);
- else
- dispatcher->ModifyFD(fd, socket, socket->GetEnabledCallbacks());
+wxFDIOManager::Direction
+wxSocketFDBasedManager::GetDirForEvent(wxSocketImpl *socket,
+ wxSocketNotify event)
+{
+ switch ( event )
+ {
+ default:
+ wxFAIL_MSG( "unknown socket event" );
+ return wxFDIOManager::INPUT; // we must return something
+
+ case wxSOCKET_LOST:
+ wxFAIL_MSG( "unexpected socket event" );
+ return wxFDIOManager::INPUT; // as above
+
+ case wxSOCKET_INPUT:
+ return wxFDIOManager::INPUT;
+
+ case wxSOCKET_OUTPUT:
+ return wxFDIOManager::OUTPUT;
+
+ case wxSOCKET_CONNECTION:
+ // for server sockets we're interested in events indicating
+ // that a new connection is pending, i.e. that accept() will
+ // succeed and this is indicated by socket becoming ready for
+ // reading, while for the other ones we're interested in the
+ // completion of non-blocking connect() which is indicated by
+ // the socket becoming ready for writing
+ return socket->IsServer() ? wxFDIOManager::INPUT
+ : wxFDIOManager::OUTPUT;
+ }
}
// set the wxBase variable to point to our wxSocketManager implementation
{
ManagerSetter()
{
- static wxSocketFDIOManager s_manager;
+ static wxSocketFDBasedManager s_manager;
wxAppTraits::SetDefaultSocketManager(&s_manager);
}
} gs_managerSetter;
// Created: 1999
// RCS-ID: $Id$
// Copyright: (c) 1999, 2007 wxWidgets dev team
+// (c) 2009 Vadim Zeitlin
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#if wxUSE_SOCKETS
-#include <stdlib.h>
-#include <stdio.h>
-
#include <gdk/gdk.h>
#include <glib.h>
-#include "wx/private/socket.h"
#include "wx/apptrait.h"
+#include "wx/private/fdiomanager.h"
extern "C" {
static
gint WXUNUSED(source),
GdkInputCondition condition)
{
- wxSocketImplUnix * const handler = static_cast<wxSocketImplUnix *>(data);
+ wxFDIOHandler * const handler = static_cast<wxFDIOHandler *>(data);
if ( condition & GDK_INPUT_READ )
{
}
}
-class GTKSocketManager : public wxSocketInputBasedManager
+class GTKFDIOManager : public wxFDIOManager
{
public:
- virtual int AddInput(wxSocketImplUnix *handler, int fd, SocketDir d)
+ virtual int AddInput(wxFDIOHandler *handler, int fd, Direction d)
{
return gdk_input_add
(
fd,
- d == FD_OUTPUT ? GDK_INPUT_WRITE : GDK_INPUT_READ,
+ d == OUTPUT ? GDK_INPUT_WRITE : GDK_INPUT_READ,
wxSocket_GDK_Input,
handler
);
}
- virtual void RemoveInput(int fd)
+ virtual void
+ RemoveInput(wxFDIOHandler* WXUNUSED(handler), int fd, Direction WXUNUSED(d))
{
gdk_input_remove(fd);
}
};
-wxSocketManager *wxGUIAppTraits::GetSocketManager()
+wxFDIOManager *wxGUIAppTraits::GetFDIOManager()
{
- static GTKSocketManager s_manager;
+ static GTKFDIOManager s_manager;
return &s_manager;
}
// Created: 1999
// RCS-ID: $Id$
// Copyright: (c) 1999, 2007 wxWidgets dev team
+// (c) 2009 Vadim Zeitlin
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#if wxUSE_SOCKETS
-#include <stdlib.h>
-#include <stdio.h>
-
#include <gdk/gdk.h>
#include <glib.h>
-#include "wx/private/socket.h"
#include "wx/apptrait.h"
+#include "wx/private/fdiomanager.h"
extern "C" {
static
gint WXUNUSED(source),
GdkInputCondition condition)
{
- wxSocketImplUnix * const handler = static_cast<wxSocketImplUnix *>(data);
+ wxFDIOHandler * const handler = static_cast<wxFDIOHandler *>(data);
if ( condition & GDK_INPUT_READ )
{
}
}
-class GTKSocketManager : public wxSocketInputBasedManager
+class GTKFDIOManager : public wxFDIOManager
{
public:
- virtual int AddInput(wxSocketImplUnix *handler, int fd, SocketDir d)
+ virtual int AddInput(wxFDIOHandler *handler, int fd, Direction d)
{
return gdk_input_add
(
fd,
- d == FD_OUTPUT ? GDK_INPUT_WRITE : GDK_INPUT_READ,
+ d == OUTPUT ? GDK_INPUT_WRITE : GDK_INPUT_READ,
wxSocket_GDK_Input,
handler
);
}
- virtual void RemoveInput(int fd)
+ virtual void
+ RemoveInput(wxFDIOHandler* WXUNUSED(handler), int fd, Direction WXUNUSED(d))
{
gdk_input_remove(fd);
}
};
-wxSocketManager *wxGUIAppTraits::GetSocketManager()
+wxFDIOManager *wxGUIAppTraits::GetFDIOManager()
{
- static GTKSocketManager s_manager;
+ static GTKFDIOManager s_manager;
return &s_manager;
}
#include <X11/Intrinsic.h> // XtAppAdd/RemoveInput()
#include "wx/motif/private.h" // wxGetAppContext()
-#include "wx/private/socket.h"
+#include "wx/private/fdiomanager.h"
#include "wx/apptrait.h"
extern "C" {
static void wxSocket_Motif_Input(XtPointer data, int *WXUNUSED(fid),
XtInputId *WXUNUSED(id))
{
- wxSocketImplUnix * const handler = static_cast<wxSocketImplUnix *>(data);
+ wxFDIOHandler * const handler = static_cast<wxFDIOHandler *>(data);
handler->OnReadWaiting();
}
static void wxSocket_Motif_Output(XtPointer data, int *WXUNUSED(fid),
XtInputId *WXUNUSED(id))
{
- wxSocketImplUnix * const handler = static_cast<wxSocketImplUnix *>(data);
+ wxFDIOHandler * const handler = static_cast<wxFDIOHandler *>(data);
handler->OnWriteWaiting();
}
}
-class MotifSocketManager : public wxSocketInputBasedManager
+class MotifFDIOManager : public wxFDIOManager
{
public:
- virtual int AddInput(wxSocketImplUnix *handler, int fd, SocketDir d)
+ virtual int AddInput(wxFDIOHandler *handler, int fd, Direction d)
{
return XtAppAddInput
(
wxGetAppContext(),
fd,
- (XtPointer)(d == FD_OUTPUT ? XtInputWriteMask
- : XtInputReadMask),
- d == FD_OUTPUT ? wxSocket_Motif_Output
- : wxSocket_Motif_Input,
+ (XtPointer)(d == OUTPUT ? XtInputWriteMask
+ : XtInputReadMask),
+ d == OUTPUT ? wxSocket_Motif_Output
+ : wxSocket_Motif_Input,
handler
);
}
- virtual void RemoveInput(int fd)
+ virtual void
+ RemoveInput(wxFDIOHandler* WXUNUSED(handler), int fd, Direction WXUNUSED(d))
{
XtRemoveInput(fd);
}
};
-wxSocketManager *wxGUIAppTraits::GetSocketManager()
+wxFDIOManager *wxGUIAppTraits::GetFDIOManager()
{
- static MotifSocketManager s_manager;
+ static MotifFDIOManager s_manager;
return &s_manager;
}
static void wxSocket_PM_Input(void *data)
{
- wxSocketImplUnix *handler = static_cast<wxSocketImplUnix *>(data);
+ wxFDIOHandler *handler = static_cast<wxSocketImplUnix *>(data);
handler->OnReadWaiting();
}
static void wxSocket_PM_Output(void *data)
{
- wxSocketImplUnix *handler = static_cast<wxSocketImplUnix *>(data);
+ wxFDIOHandler *handler = static_cast<wxSocketImplUnix *>(data);
handler->OnWriteWaiting();
}
-class PMSocketManager : public wxSocketInputBasedManager
+class PMFDIOManager : public wxFDIOManager
{
public:
- virtual int AddInput(wxSocketImplUnix *handler, int fd, SocketDir d)
+ virtual int AddInput(wxFDIOHandler *handler,
+ int fd,
+ wxFDIOManager::Direction d)
{
if (d == FD_OUTPUT)
return wxTheApp->AddSocketHandler(fd, wxSockWriteMask,
wxSocket_PM_Input, handler);
}
- virtual void RemoveInput(int fd)
+ virtual void
+ RemoveInput(wxFDIOHandler * WXUNUSED(handler),
+ int fd,
+ wxFDIOManager::Direction WXUNUSED(dir))
{
wxTheApp->RemoveSocketHandler(fd);
}
};
-wxSocketManager *wxGUIAppTraits::GetSocketManager()
+wxFDIOManager *wxGUIAppTraits::GetFDIOManager()
{
- static PMSocketManager s_manager;
+ static PMFDIOManager s_manager;
return &s_manager;
}
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// Name: src/unix/fdiounix.cpp
+// Purpose: wxFDIOManager implementation for console Unix applications
+// Author: Vadim Zeitlin
+// Created: 2009-08-17
+// RCS-ID: $Id: wxhead.cpp,v 1.10 2009-06-29 10:23:04 zeitlin Exp $
+// Copyright: (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+// for compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#include "wx/apptrait.h"
+#include "wx/private/fdiodispatcher.h"
+#include "wx/unix/private/fdiounix.h"
+
+// ============================================================================
+// wxFDIOManagerUnix implementation
+// ============================================================================
+
+int wxFDIOManagerUnix::AddInput(wxFDIOHandler *handler, int fd, Direction d)
+{
+ wxFDIODispatcher * const dispatcher = wxFDIODispatcher::Get();
+ wxCHECK_MSG( dispatcher, -1, "can't monitor FDs without FD IO dispatcher" );
+
+ // translate our direction to dispatcher flags
+ const int flag = d == INPUT ? wxFDIO_INPUT : wxFDIO_OUTPUT;
+
+ // we need to either register this FD with the dispatcher or update an
+ // existing registration depending on whether it had been previously
+ // registered for anything or not
+ bool ok;
+ const int regmask = handler->GetRegisteredEvents();
+ if ( !regmask )
+ {
+ ok = dispatcher->RegisterFD(fd, handler, flag);
+ }
+ else
+ {
+ ok = dispatcher->ModifyFD(fd, handler, regmask | flag);
+ }
+
+ if ( !ok )
+ return -1;
+
+ // update the stored mask of registered events
+ handler->SetRegisteredEvent(flag);
+
+ return fd;
+}
+
+void wxFDIOManagerUnix::RemoveInput(wxFDIOHandler *handler, int fd, Direction d)
+{
+ wxFDIODispatcher * const dispatcher = wxFDIODispatcher::Get();
+ if ( !dispatcher )
+ return;
+
+ const int flag = d == INPUT ? wxFDIO_INPUT : wxFDIO_OUTPUT;
+
+ // just as in AddInput() above we may need to either just modify the FD or
+ // remove it completely if we don't need to monitor it any more
+ bool ok;
+ const int regmask = handler->GetRegisteredEvents();
+ if ( regmask == flag )
+ {
+ ok = dispatcher->UnregisterFD(fd);
+ }
+ else
+ {
+ ok = dispatcher->ModifyFD(fd, handler, regmask & ~flag);
+ }
+
+ if ( !ok )
+ {
+ wxLogDebug("Failed to unregister %d in direction %d", fd, d);
+ }
+
+ // do this even after a failure to unregister it, we still tried...
+ handler->ClearRegisteredEvent(flag);
+}
+
+wxFDIOManager *wxAppTraits::GetFDIOManager()
+{
+ static wxFDIOManagerUnix s_manager;
+ return &s_manager;
+}
+