mirror of
https://github.com/mpv-player/mpv
synced 2025-03-11 08:37:59 +00:00
The ipc_thread can exit any time, and will free the mp_ipc_ctx when doing this, leaving a dangling pointer. This was somewhat handled in the original commit by setting mpctx->ipc_ctx to NULL when the thread exited, but that was still a race condition. Handle it by freeing most things after joining the ipc_thread. This means some resources will not be freed until player exit, but that should be ok (it's an exceptional error situation). Also, actually close the pipe FDs in mp_init_ipc() on another error path. |
||
---|---|---|
.. | ||
cmd_list.c | ||
cmd_list.h | ||
cmd_parse.c | ||
cmd_parse.h | ||
event.c | ||
event.h | ||
input.c | ||
input.h | ||
ipc.c | ||
joystick.c | ||
keycodes.c | ||
keycodes.h | ||
lirc.c | ||
pipe-win32.c |