Commit Graph

20 Commits

Author SHA1 Message Date
Vadim Zeitlin
e5c93ad674 Synchronize access to wxSelectDispatcher from different threads
We reuse the same global dispatcher object (allocated in
wxFDIODispatcher::Get()) for the sockets created in different threads, so it's
perfectly possible for its methods to be called concurrently and this happens
even in our own socket streams unit tests.

Protect against concurrent modification of the select sets and m_maxFD. This
fixes sporadic Travis build failures such as the one at
https://travis-ci.org/wxWidgets/wxWidgets/jobs/110757281 for example and
probably even worse bugs too.
2016-02-21 18:47:46 +01:00
Vadim Zeitlin
49b8d79c87 Remove (Open)Watcom support.
This compiler is not being developed since several years and almost certainly
can't be used to build the current wxWidgets sources anyhow, so remove all
support for it, including a lot of extremely ugly workarounds for its bugs
with template functions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 13:01:06 +00:00
Paul Cornett
8b4ae731d3 use wxOVERRIDE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-30 00:02:23 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
d141826876 Always include sys/time.h and sys/select.h from selectdispatcher.h.
fd_set used by this header is supposed to be defined in sys/select.h and not
including this header resulted in compilation problems under QNX. And
including sys/time.h shouldn't hurt and is needed by select() under many
systems anyhow.

See #11817.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63716 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-20 12:45:28 +00:00
Vadim Zeitlin
a12698abb7 added wxFDIODispatcher::HasPending() and implemented correctly wxConsoleEventLoop::Pending() using it to fix the pending events processing in console event loop based programs; also changed wxFDIODispatcher::Dispatch() return type/value to be able to indicate the errors
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-03 01:21:24 +00:00
Vadim Zeitlin
5a557d1ea0 made Dispatch() return bool indicating whether we processed any events inside it or if the timeout expired
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56355 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-16 12:31:30 +00:00
Stefan Neis
db3df3c493 Another attempt at fixing Watcom compilation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52964 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-01 22:19:25 +00:00
Vadim Zeitlin
fdf7ff738c make wxSelectDispatcher ctor public, it can be useful to create it in places other than wxFDIODispatcher
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-22 04:19:12 +00:00
Stefan Neis
ddfed775ab Compilation fix for Watcom (on OS/2).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50046 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-18 13:40:43 +00:00
Vadim Zeitlin
5e1eac149f create the single global IO dispatcher in wxFDIODispatcher; don't use wxSelectDispatcher in wxGSocket as the global dispatcher may be of a different type (modified patch 1733626)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-14 20:18:38 +00:00
Vadim Zeitlin
7523de907d replaced wxFDIODispatcher::RunLoop() with Dispatch() which handles only one event at a time (part 1 of the patch 1733626)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-14 19:50:38 +00:00
Vadim Zeitlin
af57c51ab7 changed wxFDIODispatcher::UnregisterFD() to take only fd, without flags, and unregister it unconditionally; use ModifyFD() to just change the flags (modified part of patch 1733626)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47469 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-14 19:41:46 +00:00
Vadim Zeitlin
a187327964 Added wxUSE_CONSOLE_EVENTLOOP and wxUSE_SELECT/EPOLLDISPATCHER guards;
put checks for them in the new Unix-specific wx/unix/chkconf.h file


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47465 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-14 19:06:18 +00:00
Vadim Zeitlin
ad8d42f83c factor out the fd<->handlers map from wxFDIODispatcher into a separate wxMappedFDIODispatcher class (patch 1729395)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46274 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-02 13:51:05 +00:00
David Elliott
c393881600 Include sys/types.h from selectdispatcher.h to ensure that fd_set is declared.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46118 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-18 21:19:37 +00:00
Vadim Zeitlin
b46b1d59d6 implement event loop for console applications (heavily modified patch 1715735)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-14 23:43:39 +00:00
Vadim Zeitlin
8cdd754651 initialize m_maxFD to avoid passing invalid values to select()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44918 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-19 02:27:34 +00:00
Vadim Zeitlin
72fa3e8a21 make wxFDIOHandler dtor virtual, it's meant to be used as a base class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44856 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-16 16:17:04 +00:00
Vadim Zeitlin
30c45bdd06 refactoring: replace wxSocketDispatcher with more generic wxSelectDispatcher (patch 1618976)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44855 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-16 15:45:12 +00:00