| From | Sent On | Attachments |
|---|---|---|
| Petri Helenius | May 27, 2003 5:52 am | |
| Daniel Eischen | May 27, 2003 7:46 am | |
| Petri Helenius | May 27, 2003 11:03 am | |
| Daniel Eischen | May 27, 2003 11:10 am | |
| Petri Helenius | May 27, 2003 2:17 pm | |
| Daniel Eischen | May 27, 2003 3:03 pm | |
| Daniel Eischen | May 27, 2003 4:29 pm | |
| Petri Helenius | May 27, 2003 10:57 pm | |
| Petri Helenius | May 27, 2003 11:30 pm | |
| Petri Helenius | May 28, 2003 12:24 am | |
| Mike Makonnen | May 28, 2003 12:59 am | |
| David Xu | May 28, 2003 1:56 am | |
| Petri Helenius | May 28, 2003 2:25 am | |
| David Xu | May 28, 2003 2:37 am | |
| Petri Helenius | May 28, 2003 6:51 am | |
| Petri Helenius | May 28, 2003 8:01 am | |
| Daniel Eischen | May 28, 2003 6:23 pm | |
| Daniel Eischen | May 28, 2003 6:28 pm | |
| Petri Helenius | May 29, 2003 12:58 am | |
| Daniel Eischen | May 29, 2003 6:28 am | |
| Martin Blapp | May 29, 2003 6:44 am | |
| Daniel Eischen | May 29, 2003 7:57 am | |
| Terry Lambert | May 29, 2003 8:36 am |
| Subject: | malloc(): error: recursive call | |
|---|---|---|
| From: | Daniel Eischen (eisc...@pcnet5.pcnet.com) | |
| Date: | May 27, 2003 4:29:24 pm | |
| List: | org.freebsd.freebsd-threads | |
On Wed, 28 May 2003, Petri Helenius wrote:
And what does `ldd libnetsnmp.so.x`, `ldd libfoo.y`, show?
=20 They give empty replies. =20
What is `ldd yourexecutable` show?
=20 It=B4s usually linked static but if I remove the -static line it says: libnetsnmp.so.5 =3D> /usr/local/lib/libnetsnmp.so.5 (0x2807f000) libcrypto.so.3 =3D> /usr/lib/libcrypto.so.3 (0x280fe000) libpcap.so.2 =3D> /usr/lib/libpcap.so.2 (0x28209000) libkse.so.1 =3D> /usr/lib/libkse.so.1 (0x28225000) libc.so.5 =3D> /usr/lib/libc.so.5 (0x28246000) =20
malloc is thread safe and we've been using it fine with all our tests. I suspect you're using another library that is using libc_r or something.
=20 malloc works for me with for example linuxthreads. So I do believe that the the trigger for malloc locking works, however looking at the code, spinlocks are implemented differently depending on which thread library i= s linked in.
Also, you do need a relatively recent kernel. There are a couple of flags in each thread's mailbox that the kernel needs to recognize. This change was committed to the kernel around April 21, 2003
--=20 Dan Eischen





