|
- Berkeley DB Reference Guide:
- Building Berkeley DB for UNIX systems
|
|
FreeBSD
- I can't compile and run multithreaded applications.
Special compile-time flags are required when compiling threaded
applications on FreeBSD. If you are compiling a threaded application,
you must compile with the _THREAD_SAFE and -pthread flags:
cc -D_THREAD_SAFE -pthread ...
The Berkeley DB library will automatically build with the correct options.
- I get occasional failures when running RPC-based programs under
FreeBSD clients.
There is a known bug in the XDR implementation in the FreeBSD C library
from version 2.2 up to version 4.0-RELEASE, that causes certain-sized
messages to fail and return a zero-filled reply to the client. A bug
report (#16028) has been filed with FreeBSD. The following patch is the
FreeBSD fix:
*** /usr/src/lib/libc/xdr/xdr_rec.c.orig Mon Jan 10 10:20:42 2000
--- /usr/src/lib/libc/xdr/xdr_rec.c Wed Jan 19 10:53:45 2000
***************
*** 558,564 ****
* but we don't have any way to be certain that they aren't
* what the client actually intended to send us.
*/
! if ((header & (~LAST_FRAG)) == 0)
return(FALSE);
rstrm->fbtbc = header & (~LAST_FRAG);
return (TRUE);
--- 558,564 ----
* but we don't have any way to be certain that they aren't
* what the client actually intended to send us.
*/
! if (header == 0)
return(FALSE);
rstrm->fbtbc = header & (~LAST_FRAG);
return (TRUE);
Copyright Sleepycat Software
|