blackberry / WebWorks

BlackBerry WebWorks for Smartphones is a platform for building deeply integrated web applications for BlackBerry smartphones
http://developer.blackberry.com/html5
268 stars 51 forks source link

ProcessCheckThread and PushListener super class override of stop method #110

Open hjung opened 12 years ago

hjung commented 12 years ago

The blackberry.media.ProcessCheckThread and PushListener class are trying to override the stop method and this is not permissible because the superclass Thread has marked the method as final. In addition, the stop methods are deprecated and Oracle is recommending to update the classes with the following: From Oracle: "This method is inherently unsafe. Stopping a thread with Thread.stop causes it to unlock all of the monitors that it has locked (as a natural consequence of the unchecked ThreadDeath exception propagating up the stack). If any of the objects previously protected by these monitors were in an inconsistent state, the damaged objects become visible to other threads, potentially resulting in arbitrary behavior. Many uses of stop should be replaced by code that simply modifies some variable to indicate that the target thread should stop running. The target thread should check this variable regularly, and return from its run method in an orderly fashion if the variable indicates that it is to stop running. If the target thread waits for long periods (on a condition variable, for example), the interrupt method should be used to interrupt the wait"