STINNER Victor added the comment:

fstat_not_eintr.py: run this script from a NFS share and unplug the network 
cable, wait, replug. Spoiler: fstat() hangs until the network is back, CTRL+c 
or setitimer() don't interrupt it.

By the way, it looks like the itimer is interrupted during fstat!

Extract of strace output:
---
<cable unplugged>

rt_sigreturn()                          = -1 EINTR (Interrupted system call)
select(0, NULL, NULL, NULL, {0, 100000}) = ? ERESTARTNOHAND (To be restarted if 
no handler)
--- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---
rt_sigreturn()                          = -1 EINTR (Interrupted system call)
write(1, "fstat...\n", 9)               = 9

fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0

<cable replugged>

--- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---
rt_sigreturn()                          = 0
---

The fstat() took 3 seconds, I expected 30 SIGALRM, but none occurred during 
fstat().

----------
Added file: http://bugs.python.org/file38662/fstat_not_eintr.py

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue23648>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to