commoncpp vs pthread (was: c++ with pthread?)
Nicolas Blais
nb_root at videotron.ca
Sat Nov 26 15:58:48 GMT 2005
I finaly converted one of my c++ threading app from pthread alone to
commoncpp. I've subjectively compared the 'before' and 'after' to see which
was more advantageous for me (as in good 'ol pthread or commoncpp library).
The result is a disappointment.
With commoncpp:
===========
1. Poorly documented. ->
http://www.gnu.org/software/commoncpp/docs/refman/html/class_posix_thread.html
(yes it's a 404)
2. Thread::getThreadId(void) exists in the documentation, but does not
appently exists in cc++/thread.h, so a call to it fails build.
getPthreadId(void) is there.
3. SIGSEGV when calling delete->this in a thread's destructor. In fact,
commoncpp will SIGSEGV it's own simple test program, thread2.cpp. (gdb:
death @ ost::Thread::close ()). A bug report was sent to the developper 2
weeks ago. Whether this is a FreeBSD problem or a commoncpp problem is
unknown.
4. From what I understand, Thread::join will unblock when a thread correctly
exits and clean, which will never happen because of #3. My app relies on
threads joining. From experience, if I remove delete->this from my thread's
Final() call, the thread will never unblock and the app forever waits. If I
leave delete->this (as recommended by the docs), it will SIGSEGV.
5. Coding with commoncpp is actual more simple that directly using -lpthread.
Good.
So I went back to faithful -lpthread with my C++ apps. I believe commoncpp
can be a good threading library, but it is currently not at that state yet. I
haven't tested the many other features of commoncpp.
Nicolas.
--
FreeBSD 7.0-CURRENT #1: Sat Nov 19 12:36:29 EST 2005
root at clk01a:/usr/obj/usr/src/sys/CLK01A
PGP? (updated 16 Nov 05) : http://www.clkroot.net/security/nb_root.asc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-threads/attachments/20051126/f10bf937/attachment.bin
More information about the freebsd-threads
mailing list