cancel_handler (void *ptr)
{
  /* Restore the old signal handler.  */
  struct sigaction *oldaction = *((struct sigaction **) ptr);

  if (oldaction != (struct sigaction *) NULL)
    __sigaction (SIGPIPE, oldaction, (struct sigaction *) NULL);

  /* Free the lock.  */
  __libc_lock_unlock (syslog_lock);
}
cancel_handler (void *ptr)
{
   
  struct sigaction *oldaction = *((struct sigaction **) ptr);

  if (oldaction != (struct sigaction *) NULL)
    __sigaction (SIGPIPE, oldaction, (struct sigaction *) NULL);

   
  __libc_lock_unlock (syslog_lock);
}