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

libc6 and libc6-doc inconsistent?



Hi All,

I'm learning about signal handling from the info files in
libc6-doc_2.0.4-1 and seem to have found a discrepancy between
the docs and what libc6 (2.0.4-1 also) actually does.

I have the following in my program...

----------------------------------------------------------
volatile sig_atomic_t termination_handler_in_progress = 0;

void termination_handler(int signum)
{
   if (termination_handler_in_progress)
      raise(signum);
   termination_handler_in_progress = 1;

   if (unlink (SOCKNAME) < 0)
   {
      perror("unlink");
      exit(EXIT_FAILURE);
   }

   raise(signum);
}
-----------------------------------------------------------

According to the libc.info (*See Termination in Handler::),
the program should end when this function is called (e.g. with
kill -TERM <pid>). I can modify it by adding another line
such as 

   signal(signum, SIG_DFL);

before the last "raise(signum);", but is this a bug in libc6
or libc6-doc? As I don't have the altdev package installed I
cannot test it with that at the moment.


BTW, I saw an O'Reilly book on System V system programming the
other day. Its the one with the lion on the front cover. Is it
worth buying (at $89.95 AUD)?

Thanks,

Mark


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: