modules/stream_out/select.c mutex_cleanup_push / vlc_cleanup_pop not releasing mutex?
I am using the select module in an output stream.
The first UDP command succeeds, but subsequent commands appear to hang forever for the mutex to become available.
In other words, "echo show| nc -u localhost 5001" works exactly once.
Backtrace from thread waiting for mutex on a second "show" command.
[#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0x00c0c422 in __kernel_vsyscall ()
[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0x007d0af9 in __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S:142
[#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0x007cc13b in _L_lock_748 () from /lib/tls/i686/cmov/libpthread.so.0
[#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0x007cbf61 in __pthread_mutex_lock (mutex=0x943d140) at pthread_mutex_lock.c:61
[#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0x0055e14c in vlc_mutex_lock () from /opt/wiab/support/vlc/lib/libvlccore.so.5
[#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0x00000014 in ?? ()
[#6](https://code.videolan.org/videolan/vlc/-/issues/6) 0x001d9d37 in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:30
[#7](https://code.videolan.org/videolan/vlc/-/issues/7) 0x007f58b6 in Command () from /opt/wiab/support/vlc/lib/vlc/plugins/stream_out/libstream_out_select_plugin.so
[#8](https://code.videolan.org/videolan/vlc/-/issues/8) 0x00007fbc in ?? ()
[#9](https://code.videolan.org/videolan/vlc/-/issues/9) 0x09fd6fb0 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
When I removed mutex_cleanup_push(&p_sys->es_lock) and replaced vlc_cleanup_pop() with vlc_mutex_unlock(&p_sys->es_lock), everything works as expected.