Guilherme Polo <[EMAIL PROTECTED]> added the comment: Trent Nelson kindly gave me access to his FreeBSD 6.2 buildbot so I had chance to do some tests. The problem happens when Python is built against or libc_r, or if you are using libmap you won't need to recompile but the problem still happens when using libc_r.
I started searching in the FreeBSD bug tracker and found this issue: http://www.freebsd.org/cgi/query-pr.cgi?pr=threads/49087 which seems very similar to the problem related here. I've also done a very simple "test" in C, just to demonstrate that this issue isn't related to Python at all: #include <stdio.h> #include <signal.h> #include <sys/time.h> void h(int signo) { struct itimerval t; getitimer(ITIMER_PROF, &t); printf("%d %d\n", t.it_value.tv_sec, t.it_value.tv_usec); printf("deactive ITIMER_PROF\n"); t.it_value.tv_sec = 0; t.it_value.tv_usec = 0; setitimer(ITIMER_PROF, &t, &t); } int main(void) { struct itimerval ival; ival.it_value.tv_sec = 1; ival.it_value.tv_usec = 0; ival.it_interval.tv_sec = 1; ival.it_interval.tv_usec = 0; signal(SIGPROF, h); printf("%d\n", setitimer(ITIMER_PROF, &ival, NULL)); alarm(2); while (1) { getitimer(ITIMER_PROF, &ival); if (ival.it_value.tv_sec == 0 && ival.it_value.tv_usec == 0) break; } return 0; } When I compile this using -lc_r then the callback "h" is never called and then the alarm is fired. Compiling against pthread, thr or nothing (since this example doesn't need any threading library) doesn't demonstrate this problem and all is fine (callback "h" is invoked, infinite loop finishes and test returns 0). Should further discussion be moved to python-dev ? I'm somewhat stuck on how to resolve this, besides saying to upgrade to FreeBSD 7 which uses libthr by default. __________________________________ Tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue2240> __________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com