| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.
Change-Id: I7e3e96183e073877b46bc8071b2ccae19e69426b
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Use QMutexLocker to make this thread-safe.
Task-number: QTBUG-29452
(cherry picked and adapted from qtbase/f4609b202208fe592d24c7ae3b4a48ee83045497)
Change-Id: I5caf71d9a5dc6e3d655eac84426a0c5592772235
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
find . -path '*/3rdparty/*' -prune -o -type f -print | xargs -L1 sed -i -E 's/Copyright(.*) 2013 Digia/Copyright\1 2014 Digia/g'
Manually patched files:
demos/spectrum/3rdparty/fftreal/fftreal_wrapper.h
demos/spectrum/3rdparty/fftreal/fftreal_wrapper.cpp
src/3rdparty/s60/eiksoftkeyimage.h
tools/qdoc3/test/qt-project.qdocconf
tests/auto/qsharedpointer/nontracked.h
tests/auto/qsharedpointer/nontracked.cpp
Change-Id: I3f9074923b4d6bd4666258ab04f01476cc6e901c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
| |
Change-Id: I52bf8ef0447b701b4ebf7d7d240013a72adb9425
Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
|
|
|
|
|
|
|
|
| |
Change copyrights and license headers from Nokia to Digia
Change-Id: I280c0a575987d1770e354b4948f1d4d767d711ea
Reviewed-by: Simo Fält <simo.falt@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Replace Nokia contact email address with Qt Project website.
- Remove "All rights reserved" line from license headers.
As in the past, to avoid rewriting various autotests that contain
line-number information, an extra blank line has been inserted at the
end of the license text to ensure that this commit does not change the
total number of lines in the license header.
Change-Id: Ie7ba62011752fcb149b99b26317c54f2a0cfa931
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There have been some crashes seen on Symbian when its
adoptedThreadMonitor attempts to clean up objects created in other, now
dead, threads. Some of these objects simply can't be cleaned up
properly outside of their original thread, so the thread has to be
checked when they are cleaned up, and cleanup skipped in the wrong
thread.
For pthread created threads, we also have the ability to insert cleanup
code during thread shutdown. This was used in the 4.7 implementation of
QThread on Symbian, and is a better solution for pthread based adopted
threads as it gives in-thread cleanup. So the appropriate pthread code
is also used with changes to adoptedThreadMonitor so that it can run
along side the pthread cleanup code.
Change-Id: Iad8207879b1ece62e5cce85f26a616166aa22486
Reviewed-by: Juha Kukkonen <ext-juha.kukkonen@nokia.com>
Reviewed-by: Pasi Pentikäinen <ext-pasi.a.pentikainen@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RThread::Create() deems a thread name to be invalid, if it contains
any of the characters: "*", "?", ":" or character is outside
0x20 - 0x7e range. This matches to the logic in User::ValidateName()
that is used by RThread::Create() to validate thread name.
In addition, maximum thread name length is 80 character on Symbian.
It was possible that thread name contained e.g. colon that caused
RThread::Create() to fail with KErrBadName (-28).
Fix ensures that thread name contains only allowed characters.
Task-number: ou1cimx1#996187
Change-Id: Ie6dd8c60bfed4e2f6cc48607ff0ff940d9cdae8a
Reviewed-by: Murray Read <ext-murray.2.read@nokia.com>
Reviewed-by: Pasi Pentikäinen <ext-pasi.a.pentikainen@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QThread sets the name of a Symbian thread that it creates. This name
can appear in a number of debugging scenarios, and it can give useful
information. However the existing name set by QThread has not been
informative.
This change improves the amount of information in the thread name.
Threads are now named as:
<object name>_<class name>_v=<class vptr>_<random>
The class name and vptr can be used to identify the QThread subclass
type. In the case of a QThread subclass that generates a .moc file,
the class name will be the true class name. However for other cases,
eg where QThread is used directly, or is subclassed without a QOBJECT
declaration, the name may simply be "QThread", and the vptr field
might then be more informative.
This change also allows the use of RTTI to get the true class name,
through a rebuild of Qt, defining the macro name
QT_USE_RTTI_IN_THREAD_CLASSNAME. This is not enabled by default, as
there may be Symbian cases where RTTI does not work.
Task-number: QTBUG-24950
Change-Id: Ifae9c6cb64638e95a01d34e421aa36f6fd0e7444
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Gareth Stockwell <ext-gareth.stockwell@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The run() function of QThread was inside a TRAP, but the started() and
finished() signals were emitted outside of a TRAP so could not contain
Symbian cleanup stack code. This broke compatability with some apps,
as the older pthread based implementation had the whole main thread
function running inside a TRAP.
The started and finished signals are now emitted inside TRAPs, with
enhanced leave/exception handling code.
Task-number: ou1cimx1#979704
Change-Id: I9b4e50b1085494b5fd5e05efa11739ce19ff26fb
Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
|
|
|
|
|
|
|
|
|
| |
Simple search and replace. This commit doesn't touch 3rd-party files,
nor translations (where the change is not so simple and will be handled
in a separate commit).
Change-Id: I4e48513b8078a44a8cd272326685b25338890148
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Qt 4.7 implementation of QThread on Symbian used libpthread. This
automatically generated a random name for a thread. The Qt 4.8
implmentation was leaving threads unnamed. This is a change in
behaviour, in that unnamed/anonymous threads cannot be opened outside
of the owning process. This was causing a bug in some client/server
situations.
The fix is to generate a name for the RThread underlying the QThread
as follows:
QThread object name + QThread object address + random number
Task-number: ou1cimx1#959586
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
| |
The clean up stack for a new thread was created in a too late phase for
a process that doesn't have symbianVersion string in its cache
Task-number: QT-5269
Reviewed-by: Murray Read
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The native Symbian implementation of QThread in Qt4.8 does not have
a top level TRAP, whereas it did in pthreads based implementation in
Qt4.7. This causes an incompatibility in the form of a EUSER-CBASE:66
panic for code that attempts to use the cleanup stack without a TRAP
of its own.
This adds a top level TRAP and std::exception handler to match it and
prints out warning information if they ever trigger to provide some
diagnostic information which would otherwise be lost.
Task-number: QTBUG-19883
Reviewed-by: Laszlo Agocs
|
|
|
|
|
|
|
| |
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.
Reviewed-by: Trust Me
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change takes the QTBUG-17986 fix, which deletes QThreadData for
adopted threads that have created QEventLoops, and applies it to
qthread_symbian.cpp, which didn't exist at the time of the original
fix.
One complication is that Symbian uses a separate thread to monitor
adopted thread lifetime, as there is no API to intercept thread exit
to have cleanup code run within the context of the thread. However the
cleanup for the thread involes deleting active objects that were
created in the adopted thread, not the monitor thread. If these active
objects are completed but not run, their cancellation could deadlock.
In particular the wake up active object in the event dispatcher is
typically in this state. We deal with it by detecting the situation
and re-completing/cancelling the active object in the adopted thread
monitor thread, which prevents deadlock and allows correct operation of
the monitor thread. It is possible for this problem to affect other
active objects owned by the event dispatcher. They symptom would be
that finished signals from adopted threads are not sent, or they arrive
much later than they should.
Task-number: QTBUG-18622
Reviewed-by: Shane Kearns
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change df9491b302f6404ad2ccc6dc2eb3377176d994c6 optimised auto connections
by comparing thread ID rather than comparing TLS addresses.
However it was implemented on a branch that didn't have the native
symbian threads. So merging the two branches caused a regression without
merge conflicts.
Reviewed-by: mread
|
|/
|
|
|
|
|
|
|
|
|
|
| |
The native thread implementation in Qt 4.8 did not call
CTrapCleanup::New() which resulted in E32USER-CBASE 69 panics
in applications when they tried to use the cleanup stack in
a thread's run() function. In 4.7 this was working because
OpenC's pthread implementation created a CTrapCleanup automatically.
Now we do it also in the native Symbian thread implementation.
Trask-number: QTBUG-18822
Reviewed-by: Murray Read
|
|
|
|
|
|
|
|
| |
This is resolving a merge issue where Symbian CPU core detection was
added in one branch, but all the Symbian thread support was moved to
a new file in another branch.
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The idle detector thread and the adopted thread monitor thread could
keep an app alive unnecessarily after main had exited, if the app's
main thread was no longer set "process permanent".
The idle detector thread now exits when the QCoreApplication is
destroyed.
The adopted thread monitor thread now exits when there are no more
adopted threads to monitor.
Task-number: QTBUG-18073
Reviewed-by: Shane Kearns
|
|
|
|
|
|
| |
CI found that an include of qsystemerror_p.h was incorrect
Reviewed-by: iain
|
|
|
|
|
|
|
|
| |
During merge of SymbianLite branch, it was found that windows and unix
QThread implementations had an identical change to locking on thread
start. This change is now also applied to Symbian.
Reviewed-by: iain
|
|
|
|
|
|
|
|
| |
qdebug.h was only temporarily needed for debugging.
errno.h is not needed for Symbian code.
Task-number: QTBUG-13990
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
| |
Removed a call to get the symbian thread handle when we already had it.
Improved error reporting on failure.
Task-number: QTBUG-13990
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
|
| |
The adopted thread monitor could cause a stray event panic if multiple
threads where added quickly. A new autotest was written to force the
fault (successfully). A fix was then added.
Task-number: QTBUG-13990
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From review comments on QThread_Symbian.cpp.
init_symbian_thread_handle now opens the thread with process wide
ownership directly, rather than going through an intermediate
Duplicate.
Retested QTBUG-13612 test case, which originally caused that function
to be written. tst_qthread passes.
Task-number: QTBUG-13990
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
|
|
|
| |
This reduces the number of extra threads required when native threads
are adopted.
In practice, the main thread is native and the montitor thread itself,
so the monitor thread always ends up monitoring both.
Task-number: QTBUG-13990
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
| |
Compiles, not tested yet.
Task-number: QTBUG-13990
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
|
|
| |
Symbian's QThreadPrivate::start had a ref() on QThreadData which was
causing it to never be deleted. This made sense in Unix, where there
was always a deref in the thread cleanup. But this does not happen
in Symbian.
Task-number: QTBUG-13990
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
|
| |
The thread priority setting code was not dealing with the inherit case
correctly. Now that it is, the wait condition delay hack has been
removed.
Task-number: QTBUG-13990
Reviewed-by: Shane Kearns
|
|
|
|
|
| |
Task-number: QTBUG-13990
Reviewed-by: Shane Kearns
|
|
QThread, QWaitCondition and QMutex have new Symbian native
implementations. These new implementations are split out into
new _symbian files.
Task-number: QTBUG-13990
Reviewed-by: Shane Kearns
|