ZLMediaKit/server
yingxiaodong 2faa04da30
Some checks are pending
Android / build (push) Waiting to run
CodeQL / Analyze (cpp) (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
Docker / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows / build (push) Waiting to run
bug-fix: rtpserver死锁 (#4421)
1、RtpServer对应的socket在读取数据后,会加锁后进行数据处理
  a) LOCK_GUARD(_mtx_event);
  b) _on_multi_read
当_on_multi_read处理中出现问题,会通过回调,调用 s_rtp_server.erase(key); ,
这里锁的调用顺序为:_mtx_event -> s_rtp_server._mtx
2、当外部调用api关闭RtpServer时,会先调用 s_rtp_server.erase(key);
,释放RtpServer对象时,会调用Socket的 setOnRead(nullptr),这里会调用Socket的 _mtx_event。
这里的锁调用顺序为:s_rtp_server._mtx -> _mtx_event
以上两种情况,存在 交叉调用两把锁的问题,会出现死锁。
2025-09-01 11:35:50 +08:00
..
CMakeLists.txt feat: generating debug files during linux release builds (#4308) 2025-06-07 15:01:42 +08:00
FFmpegSource.cpp Add exception handling for FFmpeg cmd checked. (#4343) 2025-07-10 14:14:57 +08:00
FFmpegSource.h Optimize the code related to decoding and screenshot (#4106) 2025-01-19 20:18:32 +08:00
main.cpp Add win32 core dump (#4291) 2025-05-31 11:26:00 +08:00
Process.cpp ffmpeg命令行支持shell语法 2025-08-23 11:54:58 +08:00
Process.h release 8.0 2023-12-09 16:23:51 +08:00
ShellParser.h ffmpeg命令行支持shell语法 2025-08-23 11:54:58 +08:00
System.cpp Add win32 core dump (#4291) 2025-05-31 11:26:00 +08:00
System.h release 8.0 2023-12-09 16:23:51 +08:00
VideoStack.cpp feat: VideoStack支持等比缩放 (#4191) 2025-03-19 09:42:57 +08:00
VideoStack.h feat: VideoStack支持等比缩放 (#4191) 2025-03-19 09:42:57 +08:00
WebApi.cpp bug-fix: rtpserver死锁 (#4421) 2025-09-01 11:35:50 +08:00
WebApi.h 修正判断Json::Value::find函数返回值 (#4347) 2025-07-10 14:15:52 +08:00
WebHook.cpp 配置文件auto_close开启后也触发无人观看hook(不处理回复) 2025-08-23 10:43:32 +08:00
WebHook.h AI automatically translates all comments in the code into English (#3917) 2024-09-19 14:53:50 +08:00