[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

linux 2.0.36, glibc 2.1.2-0-pre2, fork & signal failing



Hi there,

With menu I'm running into a somwhat tricky bug.

In update-menus I do a fork(), and in the child  quickly afterwards
send a signal to the parent. The parent's signal handler calls
exit(0).

Several people have reported that update-menus hangs, and debug output
shows that in the return value of kill() in the child is 0, but still
the parent's signal handler isn't executed (or is, but the exit(0) isn't).

All people reporting this are running linux 2.0.36 or 2.0.37, and
libc6-2.1.2-pre0. Also it seems that what they see isn't reproducable,
and usually(always?) the second time they run the installation (and
update-menus), the problems go away.

Now, for me it isn't very fatal, I can get round it by not using
signals, but for example a pipe to communicate with the parent process.

But it really looks like a bug outside update-menus, and one that
causes kill() calls to fail, while returning 0.

So, my question is: have you heard of anything related to this?

For more information:
  http://joostje.op.het.net/menu/index.html

Anyway, I'll probably gather some more information on this, and,
if it really looks like a libc6/linux problem, I'll reassign the
bugs (3 at the moment, grave,important,normal) to eighter the
kernel or libc6.

Thanks,
joostje

  http://joostje.op.het.net/menu/index.html


Reply to: