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
while not display_is_free and retries > 0:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect(('127.0.0.1', 6000 + display_number))
s.close()
lockstr = "/tmp/.X%d-lock" % display_number
if not os.path.exists(lockstr):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect(('127.0.0.1', 6000 + display_number))
s.close()
except:
display_is_free = True
break
display_number += 1
retries -= 1
except:
display_is_free = True
display_number += 1
retries -= 1
if display_is_free:
log.info(