diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2017-04-02 12:53:29 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-02 12:53:29 (GMT) |
commit | b91f4665693f52d02f18ee626ef201a8113321ff (patch) | |
tree | 40bcf05054dab51dc65baecb5887c6a9f0e3181f | |
parent | 71d56e2cde40d74317691165c86b1d06293f2f23 (diff) | |
parent | 4e25f081847cf2717ad561214e90d9750da5a511 (diff) | |
download | Doxygen-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.cpp | 9 |
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() |