A classloader and some other components assume that semaphores and latches does not reset suspend disable count and some time ago latches and semaphores work this way. A java monitor ,in reverse, resets the suspend disable status in monitorEnter and monitor_wait command, and DRLVM takes care about it. It looks like someone changed the behavior of semaphores to be compatible with the monitors.
I agree with Xiao-Feng: the sleeping thread should be in suspend_enable mode. So I vote for leaving the current threading code as is but checking DRLVM for a code that not ready for the new behavior. For example by putting assert(gc enabled == true() and checking failed places. Thanks Artem On 10/13/06, Xiao-Feng Li <[EMAIL PROTECTED]> wrote:
GC should be enabled in waiting state. In case that a GC can happen, the code should do bookkeeping to guarantee the correctness. Thanks, xiaofeng On 10/13/06, Evgueni Brevnov <[EMAIL PROTECTED]> wrote: > Hi, > > I do the following: > > hythread_suspend_disable(); > <do unsafe actions> > hysem_wait(semaphore); > <do unsafe actions> > hythread_suspend_enable(); > > By saying hythread_suspend_disable(); I expect the thread can't be > suspended until hythread_suspend_enable() is called. But hysem_wait() > resets disabled mode and enables thread suspension. As a result GC can > happen when it must not. hysem_wait is based on conditional variables > so the same can happen when conditional variables is used. > > Do you see the problem here? Or I miss something? > > Thanks > Evgueni > > --------------------------------------------------------------------- > Terms of use : http://incubator.apache.org/harmony/mailing.html > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]