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
-~----------~----~----~----~------~----~------~--~---