Pas grand chose

darcs-hash:20050913093956-41617-30d2e60f58893a6b26d19dd5d9535cd922bdac78.gz
This commit is contained in:
pauget 2005-09-13 11:39:56 +02:00
parent cb1670c73e
commit 8bda246c6d

View file

@ -343,17 +343,14 @@ class crans_ldap :
try : try :
res = self.conn.search_s(lock_dn,2,'objectClass=lock')[0] res = self.conn.search_s(lock_dn,2,'objectClass=lock')[0]
l = res[1]['lockid'][0] l = res[1]['lockid'][0]
except : l = '' except : l = '%s-1' % hostname
if l != lockid : if l != lockid :
# C'est locké par un autre process que le notre # C'est locké par un autre process que le notre
# il tourne encore ? # il tourne encore ?
try : if l.split('-')[0] == hostname and os.system('ps %s > /dev/null 2>&1' % l.split('-')[1] ) :
if l.split('-')[0] == hostname and os.system('ps %s > /dev/null 2>&1' % l.split('-')[1] ) : # Il ne tourne plus
# Il ne tourne plus self.remove_lock(res[0]) # delock
self.remove_lock(res[0]) # delock return self.lock(item,valeur) # relock
return self.lock(item,valeur) # relock
except :
pass
raise EnvironmentError(u'Objet (%s=%s) locké, patienter.' % (item, valeur), l) raise EnvironmentError(u'Objet (%s=%s) locké, patienter.' % (item, valeur), l)
else : else :
if not hasattr(self,'_locks') : if not hasattr(self,'_locks') :