update from main archive 960904
authordrepper <drepper>
Thu, 5 Sep 1996 02:47:30 +0000 (02:47 +0000)
committerdrepper <drepper>
Thu, 5 Sep 1996 02:47:30 +0000 (02:47 +0000)
sysdeps/posix/profil.c

index a6786b1..ddbd80a 100644 (file)
@@ -78,6 +78,15 @@ profil (u_short *sample_buffer, size_t size, size_t offset, u_int scale)
       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;