Check for locks before using a display.

Patch by reinier@heeres.eu
This commit is contained in:
Marco Pesenti Gritti 2007-05-30 18:48:40 +02:00
parent 527e22ba5d
commit 75130719b5

View File

@ -39,15 +39,18 @@ def _get_display_number():
display_is_free = False display_is_free = False
while not display_is_free and retries > 0: while not display_is_free and retries > 0:
lockstr = "/tmp/.X%d-lock" % display_number
if not os.path.exists(lockstr):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try: try:
s.connect(('127.0.0.1', 6000 + display_number)) s.connect(('127.0.0.1', 6000 + display_number))
s.close() s.close()
except:
display_is_free = True
break
display_number += 1 display_number += 1
retries -= 1 retries -= 1
except:
display_is_free = True
if display_is_free: if display_is_free:
log.info( log.info(