summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2017-04-02 12:53:29 (GMT)
committerGitHub <noreply@github.com>2017-04-02 12:53:29 (GMT)
commitb91f4665693f52d02f18ee626ef201a8113321ff (patch)
tree40bcf05054dab51dc65baecb5887c6a9f0e3181f
parent71d56e2cde40d74317691165c86b1d06293f2f23 (diff)
parent4e25f081847cf2717ad561214e90d9750da5a511 (diff)
downloadDoxygen-b91f4665693f52d02f18ee626ef201a8113321ff.zip
Doxygen-b91f4665693f52d02f18ee626ef201a8113321ff.tar.gz
Doxygen-b91f4665693f52d02f18ee626ef201a8113321ff.tar.bz2
Merge pull request #559 from sgeto/master
Ported to Android
-rw-r--r--qtools/qthread_unix.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/qtools/qthread_unix.cpp b/qtools/qthread_unix.cpp
index b536583..5871605 100644
--- a/qtools/qthread_unix.cpp
+++ b/qtools/qthread_unix.cpp
@@ -76,14 +76,18 @@ QThreadPrivate::~QThreadPrivate()
void *QThreadPrivate::start(void *arg)
{
+#ifndef __ANDROID__
pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL);
+#endif
pthread_cleanup_push(QThreadPrivate::finish, arg);
QThread *thr = reinterpret_cast<QThread *>(arg);
thr->started();
+#ifndef __ANDROID__
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
pthread_testcancel();
+#endif
thr->run();
pthread_cleanup_pop(1);
@@ -132,7 +136,9 @@ void QThread::start()
pthread_attr_t attr;
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED);
+#ifndef __ANDROID__
pthread_attr_setinheritsched(&attr, PTHREAD_INHERIT_SCHED);
+#endif
if (d->stackSize>0)
{
#if defined(_POSIX_THREAD_ATTR_STACKSIZE) && (_POSIX_THREAD_ATTR_STACKSIZE-0>0)
@@ -160,7 +166,7 @@ void QThread::start()
void QThread::terminate()
{
QMutexLocker locker(&d->mutex);
-
+#ifndef __ANDROID__
if (!d->thread_id) return;
int code = pthread_cancel(d->thread_id);
@@ -172,6 +178,7 @@ void QThread::terminate()
{
d->terminated = TRUE;
}
+#endif
}
void QThread::wait()