return setitimer (ITIMER_PROF, &timer, &otimer);
return __setitimer (ITIMER_PROF, &timer, &otimer);
__profil (u_short *sample_buffer, size_t size, size_t offset, u_int scale){  static struct sigaction oact;  static struct itimerval otimer;  struct sigaction act;  struct itimerval timer;  if (sample_buffer == NULL)    {      /* Disable profiling.  */      if (samples == NULL)	/* Wasn't turned on.  */	return 0;      if (setitimer (ITIMER_PROF, &otimer, NULL) < 0)	return -1;      samples = NULL;      return sigaction (SIGPROF, &oact, NULL);    } if (samples)    {      /* Was already turned on.  Restore old timer and signal handler	 first.  */      if (setitimer (ITIMER_PROF, &otimer, NULL) < 0	  || sigaction (SIGPROF, &oact, NULL) < 0)	return -1;    }  samples = sample_buffer;  nsamples = size / sizeof *samples;  pc_offset = offset;  pc_scale = scale;  act.sa_handler = (sighandler_t) &profil_counter;  act.sa_flags = SA_RESTART;  sigfillset (&act.sa_mask);  if (sigaction (SIGPROF, &act, &oact) < 0)    return -1;  timer.it_value.tv_sec = 0;  timer.it_value.tv_usec = 1;  timer.it_interval = timer.it_value;  return setitimer (ITIMER_PROF, &timer, &otimer);}