Форум сайта python.su
Офлайн
Для начала убедись, что это правда баг, а не фича :)
Отредактировано (Сен. 10, 2009 07:02:20)
Офлайн
Офлайн
slav0nicахтунг, 2300 не исправленных багов… похоже мой баг уже в списке
Офлайн
o7412369815963Ничего не ахтунг, вы обратили внимание - не меньше половины это feature requestslav0nicахтунг, 2300 не исправленных багов…
Офлайн
o7412369815963, тем не мение, я на баги лишь пару раз натыкался
Офлайн
o7412369815963, а покажите, а? Хочу видеть настоящий питон-баг :)
Отредактировано (Сен. 10, 2009 20:24:11)
Офлайн
+1
Баг в студию!
Офлайн
NSkrypnikя уже о нем писал, вот http://python.su/forum/viewtopic.php?pid=32468#p32468
+1
Баг в студию!
Офлайн
Это всё-таки не баг, а фича. Причём не питона, а вообще. Попробую описать что происходит:
Если не запускать дочерний процесс, то соединение как надо разрывается и клиент благополучно выходит из цикла приёма данных получив свой законный “len(buf) == 0”, означающий разрыв соединения. При создании дочернего процесса ресурсы родительского процесса (все дескрипторы в юниксах, кроме 0, 1, 2, и все хэндлеры в винде) наследуются в дочернем процессе, поэтому сокет и не закрывается, пока дочерний процесс не умрёт или не освободит занятый ресурс. Чтобы всё работало как задумывалось, надо в subprocess.Popen передать дополнительный параметр close_fds=True.
Офлайн