Re: zope + matplotlib delaxes() error
"Dieter Maurer" <[email protected]>
| Newsgroups | gmane.comp.web.zope.german |
|---|---|
| Message-ID | <[email protected]> |
Matthias Beyer wrote at 2009-2-2 13:37 +0100: > ... >Jetzt habe ich angefangen rumzuexperimentieren und versucht die Funktion >mittels Semaphore zu schützen: klappt aber nicht. > > >def chart(self): > pool_sema = BoundedSemaphore(value=1) > pool_sema.acquire() > clf() > pool_sema.release() > ... Das wird nie gehen, denn Du erzeugst in jedem Aufruf einen neuen Semaphor. Wenn Du mehrere Operationen über einen Semaphor kontrollieren möchtest, müssen sie alle den gleichen Semaphor verwenden, nicht jede ihren Eigenen. Bei External Method musst Du sehr aufpassen: selbst, wenn Du den Semaphor außerhalb der Funktion definierst, hast Du *keinen* gemeinsamen Semaphor: der Code von External Method Quellen wird in der ZODB Connection gehalten -- jede Connection hat ihre eigene Kopie. Du musst einen Semaphor für die Benutzung in einer External Method in einem normalen Python Modul (abgelegt auf dem Python-Pfad) definieren. -- Dieter _______________________________________________ zope mailing list [email protected] https://mail.dzug.org/mailman/listinfo/zope