|
@@ -185,7 +185,11 @@ static void profile_timer_start(ProfileState *ps)
|
|
tm.it_value.tv_sec = tm.it_interval.tv_sec = interval / 1000;
|
|
tm.it_value.tv_sec = tm.it_interval.tv_sec = interval / 1000;
|
|
tm.it_value.tv_usec = tm.it_interval.tv_usec = (interval % 1000) * 1000;
|
|
tm.it_value.tv_usec = tm.it_interval.tv_usec = (interval % 1000) * 1000;
|
|
setitimer(ITIMER_PROF, &tm, NULL);
|
|
setitimer(ITIMER_PROF, &tm, NULL);
|
|
|
|
+#if LJ_TARGET_QNX
|
|
|
|
+ sa.sa_flags = 0;
|
|
|
|
+#else
|
|
sa.sa_flags = SA_RESTART;
|
|
sa.sa_flags = SA_RESTART;
|
|
|
|
+#endif
|
|
sa.sa_handler = profile_signal;
|
|
sa.sa_handler = profile_signal;
|
|
sigemptyset(&sa.sa_mask);
|
|
sigemptyset(&sa.sa_mask);
|
|
sigaction(SIGPROF, &sa, &ps->oldsa);
|
|
sigaction(SIGPROF, &sa, &ps->oldsa);
|