On 09/07/2011 01:32 PM, Stas Malyshev wrote: > Hi > > On 9/7/11 1:17 PM, Rasmus Lerdorf wrote: >> >> Interesting that this is different on Darwin. That doesn't seem like >> something that should be OS-specific unless Darwin's itimer >> implementation is messed up. > > Looks like it might be the case: > > http://openradar.appspot.com/9336975 > > REAL timer works, others are broken. And this seems to be not a new issue: > http://lists.apple.com/archives/Unix-porting/2007/Aug/msg00000.html
I am curious, what do you see when you strace it? On Linux you get: write(1, "Start\n", 6Start) = 6 setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={1, 0}}, NULL) = 0 --- SIGPROF (Profiling timer expired) @ 0 (0) --- setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={1, 0}}, NULL) = 0 rt_sigaction(SIGPROF, {0x7d3df0, ~[ILL TRAP ABRT BUS FPE KILL SEGV CONT STOP TSTP TTIN TTOU SYS RTMIN RT_1], SA_RESTORER|SA_SIGINFO, 0x7febc4d9ac60}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [PROF], NULL, 8) = 0 write(1, "Shutdown\n", 9Shutdown) = 9 setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0 close(2) = 0 close(1) = 0 I assume you don't get the "timer expired" at all there? -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php