Commit Graph

146 Commits

Author SHA1 Message Date
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Stefan Csomor
f18d7097da adding wxFALLTHROUGH where until now we had comments, allows for code-analysis support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-26 17:36:32 +00:00
Vadim Zeitlin
33ad33d447 Add wxOVERRIDE and use it in common and wxOSX code.
Make overriding virtual methods more explicit and enable additional checks
provided by C++11 compilers when "override" is used.

Closes #16100.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-20 13:26:28 +00:00
Vadim Zeitlin
9a61ced717 Correct wxThread::SetPriority() under Unix to hopefully work.
The old implementation was completely broken, the new should hopefully work if
pthread_setschedparam() behaviour really corresponds to its documentation.

Mapping of our priorities in 0..100 range to pthread 1..99 range remains ugly
but this seems to be unavoidable, unfortunately.

Closes #14985.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76116 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-11 16:04:17 +00:00
Vadim Zeitlin
92c74c3513 Don't use try/catch if exceptions support is disabled.
Closes #15954.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75837 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-08 00:43:00 +00:00
Václav Slavík
5278469615 Deallocate wxThreadSpecificInfo when wxThread ends.
Cleanup wxThreadSpecificInfo after wxThread::Entry returns to be more
memory efficient.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-18 16:03:25 +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
Václav Slavík
2e57ca641b Call wxThread::Create() from Run() automatically.
In the common case, when Run() is called immediately after Create() and
default stack size is used, it's unnecessarily verbose.  Just create the
thread in Run() if it wasn't done explicitly yet.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73999 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-16 14:15:46 +00:00
Václav Slavík
0dd300cab5 Move POSIX implementation of wxThread::Create() to wxThreadInternal.
No real changes, just refactoring to follow the same pattern as other
implementations use.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73998 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-16 14:15:42 +00:00
Václav Slavík
5063450e48 Lock m_critsect in POSIX wxThread::Create().
This is the documented behavior: all methods accessing m_internal should
lock it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73997 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-16 14:15:38 +00:00
Vadim Zeitlin
eaf4bde6e6 Add wxProcess::SetPriority() to allow setting the priority of child processes.
This uses the same conventions as wxThread::SetPriority() but works on the
entire process.

Closes #14931.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73406 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-20 02:10:12 +00:00
Vadim Zeitlin
90e95e6117 Rename WXTHREAD_XXX_PRIORITY yo wxPRIORITY_XXX.
This will allow to reuse the same constants for the process priorities in an
upcoming commit.

See #14931.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-20 02:10:07 +00:00
Vadim Zeitlin
89b3361ec2 Fix wrong configure test for abi::__forced_unwind in previous commit.
The previous commit was accidental and contained an initial version of the
patch which didn't test for NPTL abi::__forced_unwind correctly and just
tested whether cxxabi.h header was available.

Tighten the check to work on the other systems and check for __forced_unwind
existence itself.

Also check for cxxabi.h before testing for __cxa_demangle as there is no need
to try to compile another test program if we already know that this entire
header is unavailable anyhow.

See #14626.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-20 23:12:28 +00:00
Vadim Zeitlin
e02ea2030c Rethrow abi::__forced_unwind in wxThread code under Unix.
We must always rethrow the special abi::__forced_unwind exception when
handling exception in threads under Linux as the NPTL simply terminates the
process at first opportunity if this exception is not rethrown.

See http://udrepper.livejournal.com/21541.html for more details.

Closes #14626.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72531 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-20 23:00:44 +00:00
Vadim Zeitlin
da0ee16ef9 Use __DARWIN__ instead of __WXOSX__ in non-GUI code.
This fixes compilation of non-wxOSX ports (e.g. wxGTK) under OS X.

Also make the difference between the two symbols more clear in the
documentation.

Closes #14503.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72180 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-23 15:03:42 +00:00
Vadim Zeitlin
32632baf6d Use pthread_setconcurrency() in wxThread::SetConcurrency().
Use POSIX function if available instead of only using Solaris-specific
thr_setconcurrency() which is not found in modern Linux systems any more.

Closes #2115.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70960 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-22 00:12:40 +00:00
Vadim Zeitlin
e60defcb94 Fix timeout used in POSIX implementation of wxCondition::WaitTimeout().
The time passed to pthread_cond_timedwait() must be in UTC, not local time,
but wxGetLocalTimeMillis() now really returns the time in local time zone so
we must use wxGetUTCTimeMillis() instead.

Closes #13707.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69881 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-01 14:22:07 +00:00
Vadim Zeitlin
b82f92a80c Merge similar but not quite identical translated strings.
Some translated strings appeared several times in almost but not quite
identical form. Remove a few of them so that they don't have to be translated
multiple times.

Closes #13637.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69828 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-27 19:49:43 +00:00
Vadim Zeitlin
b95a7c3144 Allow wxThread::Wait() and Delete() to block, even under wxMSW.
Add "wait mode" parameter to these methods which can be used to make them
block even under wxMSW where they currently dispatch messages when called
which can be totally unexpected.

Do keep the old behaviour for compatibility however, although it will change i
3.2.

Closes #12998.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67185 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-14 11:54:32 +00:00
Vadim Zeitlin
df191bfe39 Added wxThread::OnKill() and OnDelete() callbacks.
Call OnXXX() from wxThread::Kill() and Delete() respectively to allow the
thread being terminated perform some cleanup.

Closes #9046.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65882 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-23 14:10:12 +00:00
Vadim Zeitlin
ce00f59b5b No changes whatsoever, just remove trailing whitespace.
There are no real changes in this commit but it removes all trailing white
space from our source files. This avoids problems when applying patches and
making diffs and it would be nice to prevent it from reappearing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-30 11:44:45 +00:00
Stefan Csomor
827833e2e2 adjusting to new gui mutex for osx, see #12411
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65500 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 13:41:50 +00:00
Stefan Csomor
a94c4b8529 using non-sleep version for GUI mutex, solves #12411
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-06 13:50:12 +00:00
Václav Slavík
35e9c131e2 Fix thread ID formatting in log messages.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64706 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-24 10:33:57 +00:00
Francesco Montorsi
363daf0bd1 fix incoherency between the wxThread implementation based on MSW threads and pthread: Delete()ing a thread which hasn't started yet must return wxTHREAD_MISC_ERROR
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-26 22:44:13 +00:00
Vadim Zeitlin
feedacd880 Include sys/time.h from threadpsx.cpp for all systems.
It's needed by Linux and QNX and shouldn't do any harm under the others.

See #11817.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-20 12:45:39 +00:00
Vadim Zeitlin
2450225e87 Don't lock global mutex when deleting wxThread to avoid deadlocks.
Calling out the user-defined wxThread dtor while holding gs_mutexDeleteThread
lock is a bad idea as it may result in deadlocks if the dtor deletes another
thread. Only lock the mutex directly before manipulating the data it protects.

Thanks to Neno Ganchev.

Closes #11501.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62781 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-05 17:30:53 +00:00
Paul Cornett
a243da29c8 make array data fully const
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-02 17:28:45 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
f922638305 Added wxThread::GetMainId().
This is useful for checking if a message was logged from the main thread or not and also allows us to implement IsMain() by comparing GetCurrentId() with GetMainId() in all ports and avoid repetition.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61406 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-11 20:46:55 +00:00
Vadim Zeitlin
711f12ef2e made definition of wxUSE_LOG_DEBUG dependent on wxDEBUG_LEVEL and added wxUSE_LOG_TRACE (currently never enabled by default); fix warnings about unused variables after these changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59736 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 17:18:07 +00:00
Vadim Zeitlin
4b6a582bef replace more __WXDEBUG__ occurrences with wxDEBUG_LEVEL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 12:53:48 +00:00
Francesco Montorsi
122cf17b13 use %p when logging the thread IDs instead of %lu to make it easier to debug multithreaded programs when using GDB (which uses the %p syntax)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-20 12:40:30 +00:00
Vadim Zeitlin
d3b9f782ef don't use annoying and unneeded in C++ casts of NULL to "T *" in all other files neither
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-19 13:55:27 +00:00
Stefan Csomor
e317bd3f10 solving osx problems (default inlines-hidden) by explicitely exporting the involved methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-11 06:46:23 +00:00
Robert Roebling
375f364ef2 Test for reentrance into non-recursive wxMutex. If it happens, yield dead lock error, don't hang
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55521 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-08 08:00:03 +00:00
Robert Roebling
0eb949e11f Compilo for wxMac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55467 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-05 08:21:08 +00:00
Stefan Csomor
ca9e2173a6 gcc is too aggressively hiding these inlines on wxCriticialSection on osx, expose them for wxPython
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55451 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-04 06:26:24 +00:00
Vadim Zeitlin
8cd8a7feb7 wxThread::Sleep() is the same as wxMilliSleep() on all platforms but Mac (and maybe it should be the same thing there as well)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53134 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-12 02:28:46 +00:00
Paul Cornett
d254213eb2 add MutexGuiEnter/Leave to wxAppTraits, integrate native GTK+ GUI locking
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-17 05:37:00 +00:00
Václav Slavík
79b7b95aed catch unhandled exceptions in POSIX threads implementation the same way wxMSW does
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-26 19:41:34 +00:00
Vadim Zeitlin
a07bf2d003 fix translation of wx priority values to the standard Unix ones in SetPriority()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48537 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-03 22:52:38 +00:00
Vadim Zeitlin
e55a667c1c test for pthread_mutex_timedlock() availability in configure
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44791 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-13 22:37:26 +00:00
Vadim Zeitlin
fd91cec141 use gettimeofday() instead of clock_gettime() as the latter lives in librt which we currently don't link with and it seems not to be worth to add another library just because of wxMutex::LockTimeout()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44685 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-08 01:46:02 +00:00
Vadim Zeitlin
696d13ee0e added wxMutex::LockTimeout() (modified patch 1671637)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44671 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-08 00:22:11 +00:00
Vadim Zeitlin
85bf679acc fixed detection of number of processors under Linux 2.6 (replaces patch 1663444)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44648 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-07 22:23:47 +00:00
Vadim Zeitlin
5a2d9e121f reverted last change: wxGTK-specific wxMutextGui code breaks linkage of wxBase programs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44248 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-01-18 19:53:36 +00:00
Paul Cornett
165d3652ff use GTK-specific GUI lock
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-01-18 18:13:34 +00:00
Vadim Zeitlin
bc971e307d fix crash in wxLogTrace() in Unicode build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43196 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-08 13:58:59 +00:00
Włodzimierz Skiba
02761f6cd4 Include wx/module.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-08-31 19:31:43 +00:00