RLock : __owner est un entier ?
Bonjour,
Pour mes besoins, j'ai dû écrire une classe dérivée de _RLock.
Mais ceci génère des Attribute Error, comme quoi un entier n'a pas de méthode is_alive.
Code:
1 2 3 4 5 6 7 8
| class PyWallELock(threading._RLock):
def acquire(self, blocking=1):
try:
if self._RLock__owner != None and not self._RLock__owner.is_alive():
self.__owner=threading.current_thread()
except AttributeError:
print "%i" % self._RLock__owner
threading._RLock.acquire(self) |
Et ce code donne en sortie, effectivement, un paquet de nombres entiers, du style :
140268629804816
140268650829584
140268629804816
140268650829584
140268629804816
140268629804816
140268650829584
140268650829584
140268629804816
140268650829584
140268629804816
Ou bien, lorsque je relance le script :
140000078051088
140000118101776
140000078051088
140000134887184
140000118101776
140000118101776
140000069658384
140000078051088
140000134887184
J'ai scruté l'implémentation de _RLock, mais je ne comprend pas...
J'utilise Python2.6
Merci d'avance,
ProgVal