while True:
try:
queries_semaphore.acquire()
query = queries.pop(0)
# Do some stuff ...
info('Query executed: `%s\'' % str(query))
except KeyboardInterrupt:
okay('quit')
break
Проблема в том, что KeyboardInterrupt
поднимается только после возврата queries_semaphore.acquire()
, поэтому пользователь не может разорвать программу с помощью Ctrl-C. Какое хорошее решение в этом случае?