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

Reply via email to