vlc | branch: master | Thomas Guillem <[email protected]> | Tue Oct 22 16:29:57 2019 +0200| [2ec2e558d860ed1b2243a576e8e99e396304cd8d] | committer: Thomas Guillem
interrupt: restore interrupted to the killed state If a module is interrupted while waiting in a vlc_*_i11e*() function, the i11e function will return an error after restoring the interrupted state (from vlc_interrupt_finish()). This error will be carefully handled by the module that will close itself. If a second module is in the probe list, any call to a vlc_*_i11e*() function will act as not interrupted. This cause any following modules in the probe list to ignore this interrupted state. To fix this issue, vlc_interrupt_finish() will now restore the interrupted state to the killed state. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=2ec2e558d860ed1b2243a576e8e99e396304cd8d --- src/misc/interrupt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/misc/interrupt.c b/src/misc/interrupt.c index d2a04a72b3..54810892fc 100644 --- a/src/misc/interrupt.c +++ b/src/misc/interrupt.c @@ -151,7 +151,7 @@ static int vlc_interrupt_finish(vlc_interrupt_t *ctx) if (ctx->interrupted) { ret = EINTR; - ctx->interrupted = false; + ctx->interrupted = atomic_load(&ctx->killed); } vlc_mutex_unlock(&ctx->lock); return ret; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
