• Sergey's avatar
    ffmpeg: fix deadlock regression in threading error handing · 6d2df3c0
    Sergey authored
    Commit fc9c857c introduced deadlock regression when processing too many inputs:
      ffmpeg $(seq -f " -f lavfi -i aevalsrc=0:d=%.0f" 70) -vf concat=n=70:v=0:a=1 -f null -
    Happens for different number of inputs, depending on available memory size,
    overcommit settings, ulimits, etc. Easily noticeable for 32-bit builds,
    that exhaust address space allocating 8-10 MB stack for each thread.
    Earlier ffmpeg versions exited with unhelpful "Conversion failed!" message.
    
    This patch fixes both problems: it frees the queue to prevent deadlock
    and adds a meaningful error message if pthread_create() fails.
    Reviewed-by: 's avatarNicolas George <george@nsup.org>
    Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
    6d2df3c0
Name
Last commit
Last update
compat Loading commit data...
doc Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavresample Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswresample Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
INSTALL.md Loading commit data...
LICENSE.md Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
RELEASE Loading commit data...
arch.mak Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_common_opts.h Loading commit data...
cmdutils_opencl.c Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
ffmpeg.c Loading commit data...
ffmpeg.h Loading commit data...
ffmpeg_dxva2.c Loading commit data...
ffmpeg_filter.c Loading commit data...
ffmpeg_opt.c Loading commit data...
ffmpeg_vda.c Loading commit data...
ffmpeg_vdpau.c Loading commit data...
ffplay.c Loading commit data...
ffprobe.c Loading commit data...
ffserver.c Loading commit data...
library.mak Loading commit data...
version.sh Loading commit data...