cvs commit: src/lib/libc/gen pthread_fake.c src/lib/libc_r/uthread Makefile.inc pthread_private.h uthread_atfork.c uthread_fork.c uthread_init.c

Hasso Tepper hasso at estpak.ee
Sun May 25 14:54:36 PDT 2008


Hasso Tepper wrote:
> Add pthread_atfork() implementation to libc_r. libthread_xu has it
> already, but it was unusable due to missing code in libc_r.

The good news (and the reason why I did it) is that it allows Firefox3 
from wip/firefox to compile and work in DragonFly.

While I tested this pthread_atfork() implementation, I discovered one 
problem though. One of pthread_atfork() tests included in Open POSIX Test 
Suite [1] fails with it while it works with libthread_xu. Although I 
understand that libc_r is deprecated etc, I would be glad if someone with 
more knowledge than me could look at it. Regardless of the libc_r status, 
I don't feel myself very well while introducing regressions ;).

How to repeat these tests:

* Download the testsuite from 
http://surfnet.dl.sourceforge.net/sourceforge/posixtest/posixtestsuite-1.5.2.tar.gz
* Unpack, cd to posixtestsuite
* Edit LDFLAGS to have one uncommented line: -lpthread -D_BSD_SOURCE
* Export POSIX_TARGET=conformance/interfaces/pthread_atfork
* gmake
* cd conformance/interfaces/pthread_atfork

And you can run *.test files now. The test that fails with libc_r is the
3-3.test.


[1] - http://posixtest.sourceforge.net

-- 
Hasso Tepper





More information about the Commits mailing list