Hola:

Por casualidad, desarrollando con Seaside, me encontré con un problema 
con las continuations. En Dolphin.
El tema es que luego de crear un test que reproducía el problema, lo 
corrí en Visual Works y Squeak y en ambos ambientes falla también.
El test es el siguiente:

testMutexCriticalWhenResumingContinuation
    | mutex cont |
    mutex := Mutex new.
    [self callcc:
            [:cc |
            cont := cc.
            mutex critical: [self error: 'Some error']]] on: Error do: 
[:ex | cont value: nil].
    self assert: mutex owner isNil

Hay un único assert y es el que no pasa. Esto viene a cuento de que los 
procesos copia de las Continuation no finalizan de la manera "esperada" 
por el ambiente y por lo tanto estos procesos al no terminar 
correctamente no cierran la sección critica.
El código no es para nada extraño y creo que se puede dar en gran 
cantidad de casos.

Lo posteo aca para ver que opinan. Si lo consideramos un bug lo 
posteamos en Seaside.
Para mi, es un bug. En mi opinión, ocurra lo que ocurra las secciones 
criticas deben ser atómicas. ¿o no?

Saludos
  GallegO


--~--~---------~--~----~------------~-------~--~----~

To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]

http://www.clubSmalltalk.org
-~----------~----~----~----~------~----~------~--~---

Responder a