У меня есть проблема с зудом, которую, я знаю, можно решить разными способами, но я все же хотел бы знать, возможен ли следующий подход в Python.
Предположим, у меня есть сокет, которого я постоянно ждувход, и есть некоторое условие, которое в конечном итоге завершает всю программу.Я хочу сделать это способом BLOCKING, как я себе представлял, используя select.select:
readfds, writefds, errfds = select.select([mysocket],[],[])
if readfds:
conn, addr = mysocket.accept()
...
Теперь, если есть некоторый дескриптор файла fd, который я могу вручную установить в состояние готовности, либо прочитайтеили написать, я могу сделать
readfds, writefds, errfds = select.select([mysocket,fd],[],[])
for r in readfds:
if r == mysocket:
conn, addr = mysocket.accept()
...
else:
<terminate>
Конечно, я могу просто отправить сообщение в mysocket, вызывая его разблокировку, но я все равно хотел бы знать, есть ли программный способ манипулировать дескриптором файла длясостояние готовности.
РЕДАКТИРОВАТЬ: Мой вопрос: могу ли я как-то установить дескриптор файла на «готово» вручную?
Спасибо всем.