В Fri, 20 Mar 2015 16:26:33 +0100 Bernhard Voelker <mail@bernhard-voelker.de> пишет:
$ grep -i sigblk /proc/self/status SigBlk: 0000000000002000
bor@opensuse:~/src/grub> grep -i sigblk /proc/self/status SigBlk: 0000000000000000
SIGALRM (0x2000) is blocked in the Gnome terminal while it is not in xterm. This makes the ./configure step of a package here hang which checks for a working nanosleep():
alarm(1) = 1 nanosleep({9223372036854775807, 999999999}, ^^^^^^^^^^^^^^^^hang
This is a openSUSE-13.2 guest VM under VirtualBox-4.3.26 (it was the same with VBox-4.3.24).
There was a problem with nVidia drivers which set random mask; may be it is VB specific this time.
Single-line reproducer:
$ time sh -c 'sleep 10 & sleep 2 && /usr/bin/kill -SIGALRM $! && wait $!'
In xterm, the first sleep process will receive SIGALRM after ~2 seconds, and terminate ... while in the Gnome-terminal, SIGALRM gets lost and the whole command line terminates after ~10 seconds.
bor@opensuse:~/src/grub> time sh -c 'sleep 10 & sleep 2 && /usr/bin/kill -SIGALRM $! && wait $!' sh: line 1: 3570 Сигнал таймера sleep 10 real 0m2.008s user 0m0.003s sys 0m0.005s bor@opensuse:~/src/grub> -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org