SIGALRM stays blocked when kernel 2.6.13.3 booted through pxelinux
From: Hans Korneder
Date: Tue Oct 04 2005 - 09:39:58 EST
Hello,
when booting a 2.6.* - kernel through pxelinux
SIGALRM stays blocked for a process trying to catch it.
the process trying to catch signals:
#include <stdio.h>
#include <signal.h>
void catch_sig(int sig_num)
{
fprintf(stderr,"catch_sig %d\n", sig_num);
(void)signal(sig_num, catch_sig);
}
main()
{
catch_sig(SIGALRM);
catch_sig(SIGHUP);
pause();
}
the output of /proc/#/status:
...
State: S (sleeping)
...
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000002000
SigIgn: 0000000000000000
SigCgt: 0000000000002001
...
shows that signal SIGALRM is being blocked.
thus a "kill -ALRM #" is being ignored,
a "kill -HUP #" is being processed as expected.
This could be verified with kernel 2.6.11.11 and 2.6.13.3
being booted through pxelinux 2.11, 3.08 and 3.11.
This does not happen with kernel 2.4.* (tested 2.4.25, 2.4.27, 2.4.31)
or whenever the kernel (any version 2.4 or 2.6 from above) is booted from
a harddisk.
My CPU: Intel(R) Pentium(R) 4 CPU 2.66GHz
The GCC: gcc (GCC) 3.3.5 20050117 (prerelease) (SUSE Linux)
The .config dont seem to make much of a difference, tried with different ones
(SuSE-originals, defconfig and minimalistic configs) with and without SMP.
No modules loaded, almost no processes running (besides init/sshd/bash),
no SuSE, RedHat or other distribution-specific processes.
Any hints for a solution or how to trace the problem?
Regards,
Hans Korneder
hans at korneder dot de
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/