SIGPROF на дарвине - PullRequest
       16

SIGPROF на дарвине

1 голос
/ 11 июля 2011

setitimer + sigprof не работает на 64-битном darwin.

Ссылки:

http://openradar.appspot.com/9336975

http://lists.apple.com/archives/Unix-porting/2007/Aug/msg00000.html

Учитывая это, каков рекомендуемый способ создания профилировщика выборки на основе времени на дарвине? В многопоточной среде.

1 Ответ

0 голосов
/ 07 декабря 2011

Я закончил тем, что создал отдельный поток профилировщика, который спит для интервалов и pthread_kills всех других потоков с SIGPROF. Обработчик SIGPROF определяет, сколько процессорного времени потратил поток, и отбрасывает его, если он слишком мал.

...