mReaders is defined as a non final private field in SEService.
The value is reset on each invocation of getReaders() (line #171)
However the code relies on mReaders for thread syncronization in shutdown code,
while the variable can possible reset leading to a race.
In addition, onServiceDisconnected callback also syncronizes on mReaders. In
case the user never called getReader mReaders will be equal to null leading to
syncronization on null variable.
Original issue reported on code.google.com by kipo...@gmail.com on 6 Nov 2012 at 2:24
Original issue reported on code.google.com by
kipo...@gmail.com
on 6 Nov 2012 at 2:24