HarmonyOS是否支持pthread.h

使用的第三方c++库使用了pthread.h,代码如下:

#include <pthread.h> 
  int unsafe_exit() const { 
#ifdef ANDROID 
  struct sigaction actions; 
  memset(&actions, 0, sizeof(actions)); 
  sigemptyset(&actions.sa_mask); 
  actions.sa_flags = 0; 
  actions.sa_handler = &exit_handler; 
  sigaction(SIGUSR2, &actions, NULL); 
  ASSERT2(false, " use SIGUSR2(handler call pthread_exit) to pthread_cancel"); 
  return kill(SIGUSR2); 
#else 
  return pthread_cancel(tid()); 
#endif

编译的时候出现错误:

/mnt/c/harmony_project/harmonyf3cftlog/Proj/HarmonyOS/FTLog/cpp/../../../../Src/mars/comm/thread/../unix/thread/thread.h:327:16: error: use of undeclared identifier 'pthread_cancel' 
return pthread_cancel(tid()); 
^ 
1 error generated.

请问如何解决?

HarmonyOS
2024-09-12 11:47:03
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

杀死子线程可以用pthread_cancel。但是pthread_cancel存在资源泄漏风险,所以在HarmonyOS中禁止使用pthread_cancel。HarmonyOS不支持pthread_cancel, 但是可以使用pthread_kill来规避。

分享
微博
QQ
微信
回复
2024-09-12 17:21:37
相关问题
HarmonyOS IJKPlayer需支持H265
86浏览 • 1回复 待解决
pthread创建的线程中如何读取rawfile
1992浏览 • 1回复 待解决
如何在C++项目中使用pthread
2088浏览 • 1回复 待解决
HarmonyOS 是否支持webrtc
419浏览 • 1回复 待解决
HarmonyOS 是否支持webrtc
488浏览 • 1回复 待解决
HarmonyOS websocket是否支持
46浏览 • 1回复 待解决
HarmonyOS是否支持图表组件?
283浏览 • 1回复 待解决
HarmonyOS是否支持RTSP直播
388浏览 • 1回复 待解决
HarmonyOS ts是否支持反射?
195浏览 • 1回复 待解决