diff --git a/src/sys/snap_threads.cpp b/src/sys/snap_threads.cpp index f1120b5994a740f54f5541c72c7341d97b14c6f6..2b75329047ab8741d41cf58fd4cce2ce435fc62a 100644 --- a/src/sys/snap_threads.cpp +++ b/src/sys/snap_threads.cpp @@ -37,8 +37,10 @@ void* ThreadProc(void* param) // Unix but not Solaris #if (defined(POSIX) || defined(OS_OSX)) && (!defined(OS_SOLARIS_NATIVE_THREADS)) int last_type, last_state; +#if !defined(OHOS) && !defined(__OHOS__) pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &last_type); pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &last_state); +#endif #endif Thread = PSnapThread(param); diff --git a/src/sys/unix_threads.h b/src/sys/unix_threads.h index 90ee88dbea92f2c6fce32e73ce38fe8c75575d0e..1eb8ea365b55345ceadc720321c8a01d318e7482 100644 --- a/src/sys/unix_threads.h +++ b/src/sys/unix_threads.h @@ -191,7 +191,9 @@ private: void ThreadKill() { +#if !defined(OHOS) && !defined(__OHOS__) pthread_cancel(th); +#endif }; longword ThreadWait(uint64_t Timeout)