if (sigprocmask (SIG_UNBLOCK, &new_set, &saved_set) < 0)
if (__sigprocmask (SIG_UNBLOCK, &new_set, &saved_set) < 0)
__lckpwdf (){  int flags;  sigset_t saved_set;			/* Saved set of caught signals.  */  struct sigaction saved_act;		/* Saved signal action.  */  sigset_t new_set;			/* New set of caught signals.  */  struct sigaction new_act;		/* New signal action.  */  struct flock fl;			/* Information struct for locking.  */  int result;  if (lock_fd != -1)    /* Still locked by own process.  */    return -1;  /* Prevent problems caused by multiple threads.  */  __libc_lock_lock (lock);  lock_fd = open (PWD_LOCKFILE, O_WRONLY | O_CREAT, 0600);  if (lock_fd == -1)    /* Cannot create lock file.  */    RETURN_CLOSE_FD (-1);  /* Make sure file gets correctly closed when process finished.  */  flags = fcntl (lock_fd, F_GETFD, 0);  if (flags == -1)    /* Cannot get file flags.  */    RETURN_CLOSE_FD (-1);  flags |= FD_CLOEXEC;		/* Close on exit.  */  if (fcntl (lock_fd, F_SETFD, flags) < 0)    /* Cannot set new flags.  */    RETURN_CLOSE_FD (-1);  /* Now we have to get exclusive write access.  Since multiple     process could try this we won't stop when it first fails.     Instead we set a timeout for the system call.  Once the timer     expires it is likely that there are some problems which cannot be     resolved by waiting.     It is important that we don't change the signal state.  We must     restore the old signal behaviour.  */  memset (&new_act, '\0', sizeof (struct sigaction));  new_act.sa_handler = noop_handler;  sigfillset (&new_act.sa_mask);  new_act.sa_flags = 0ul;  /* Install new action handler for alarm and save old.  */  if (sigaction (SIGALRM, &new_act, &saved_act) < 0)    /* Cannot install signal handler.  */    RETURN_CLOSE_FD (-1);  /* Now make sure the alarm signal is not blocked.  */  sigemptyset (&new_set);  sigaddset (&new_set, SIGALRM);  if (sigprocmask (SIG_UNBLOCK, &new_set, &saved_set) < 0)    RETURN_RESTORE_HANDLER (-1);  /* Start timer.  If we cannot get the lock in the specified time we     get a signal.  */  alarm (TIMEOUT);  /* Try to get the lock.  */  memset (&fl, '\0', sizeof (struct flock));  fl.l_type = F_WRLCK;  fl.l_whence = SEEK_SET;  result = fcntl (lock_fd, F_SETLKW, &fl);  RETURN_CLEAR_ALARM (result);}