Originally created by: f...@shapeshifter.se
Trail recording does not work on my SonyEricsson K800i and MTE 1.14 to 1.15
beta.
This is a bit related to the discussion here
http://groups.google.com/group/mobile-trail-explorer/browse_thread/thread/d8ced114ecf32aba
I've actually identified two issues, the first is what I think is a
missing notifyAll().
setGpsPosition() calls this.wait() but there are no corresponding
notify/notifyAll in run() that can wake it again. This results in a race
condition which potentially could live lock setGpsPosition().
I believe this is what the poster on the thread "SonyE binary" experienced.
The second issue is probably a bug in the JRE on (some?) SonyEricsson phones.
putPositionInRMS() is declared as synchronized and called from run() in a
synchronized context.
This is a recursive synchronize/lock which I think is legal in Java, but my
K800i dead locks at the call to putPositionInRMS().
Removing synchronized from putPositionInRMS fixes this.
I've attached a patch that makes trail recording work for me again.
I removed synchronized from {put,get}PositionInRMS and added a dedicated
synchronization object to these methods to serialize access to the RMS.
There might be a better way to work around this through.
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: andreas....@gmx.at
patch works also on SE W610i.
Thanks for the patch!