On Mon, 19 May 2003, Bob Arendt wrote: > In the latest *RedHat* kernel, I've noticed that there's a "workaround" > implemented in: > /usr/src/linux-2.4.20-13.9/kernel/exit.c, routine sys_wait4(): > > if (current->sighand->action[SIGCHLD-1].sa.sa_handler == SIG_IGN) { > static unsigned long last_timestamp; > > // rate-limit it to 1 per minute: > if (jiffies - last_timestamp > 60*HZ) { > last_timestamp = jiffies; > printk(KERN_INFO "application bug: %s(%d) has SIGCHLD set to SIG_IGN but calls wait().\n", current->comm, current->pid); > printk(KERN_INFO "(see the NOTES section of 'man 2 wait'). Workaround activated.\n"); > } > current->sighand->action[SIGCHLD-1].sa.sa_handler = SIG_DFL; > workaround = 1; > } > add_wait_queue(¤t->wait_chldexit,&wait); > > If the parent SIGCHLD is set to SIG_IGN, I get this printed in the > system log. Nifty. I understand why this is a problem, and I see this in > the RedHat 9 release notes. > > But I don't see this change in Linus's 2.4 or 2.5 bitkeeper trees or > in the latest kernel.org patch sets (thought it might be in one of > the "ac" patch sets). Is this becoming part of the official kernel? > > Is there some way I can browse RedHat kernel changes to see the history > of code changes? Something like the BitKeeper or SourceForge browsers would > be helpfull. The RPM changelog for the kernel-source package didn't > give any hint of this change either. It'd really be nice if the rpm changelog were kept more in sync with real changes... - Panu -