libbluray | branch: master | npzacs <[email protected]> | Sun Dec 1 19:00:11 2013 +0200| [0c83ca66225b3be41a888bfe05624eba39610090] | committer: npzacs
bd_reg_write(): no need to lock bd state when BD-J is communicating with libbdplus > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=0c83ca66225b3be41a888bfe05624eba39610090 --- src/libbluray/bluray.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/libbluray/bluray.c b/src/libbluray/bluray.c index f5580fb..0055ecd 100644 --- a/src/libbluray/bluray.c +++ b/src/libbluray/bluray.c @@ -986,9 +986,14 @@ uint32_t bd_reg_read(BLURAY *bd, int psr, int reg) int bd_reg_write(BLURAY *bd, int psr, int reg, uint32_t value) { if (psr) { - bd_mutex_lock(&bd->mutex); /* avoid deadlocks (psr_write triggers callbacks that may lock this mutex) */ + if (psr < 102) { + /* avoid deadlocks (psr_write triggers callbacks that may lock this mutex) */ + bd_mutex_lock(&bd->mutex); + } int res = bd_psr_write(bd->regs, reg, value); - bd_mutex_unlock(&bd->mutex); + if (psr < 102) { + bd_mutex_unlock(&bd->mutex); + } return res; } else { return bd_gpr_write(bd->regs, reg, value); _______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
