new syscall stub support for ia64 libc

David Mosberger davidm@napali.hpl.hp.com
Tue Nov 18 19:18:00 GMT 2003


>>>>> On Mon, 17 Nov 2003 18:08:03 -0800, Ulrich Drepper <drepper@redhat.com> said:

  Uli> David Mosberger wrote:

  >> The one I mentioned: signal handler gets called in this code
  >> right before the _IO_flockfile():

  >> _IO_FILE *_IO_acquire_lock_file \ __attribute__((cleanup
  >> (_IO_acquire_lock_fct))) \ = (_fp); \ _IO_flockfile
  >> (_IO_acquire_lock_file);

  >> and then the signal handler calls write(), which ends up getting
  >> cancelled.  What prevents this from happening?

  Uli> Why should it be prevented?  If you call write in a signal
  Uli> handler you either disable cancellation of live with it.

Hans Boehm pointed out that pthread_setcancelstate() isn't
asynch-signal-safe, so cancellation would have to be turned off for
the entire app, not just while a signal-handler is running.

	--david



More information about the Libc-hacker mailing list