Hi

First please CC to me as I am not on the hackers mail list.

I am trying to get the ORBacus working for FreeBSD.  I know you already have
a port of ORBacus, but that is version 3, and their latest release is version
4.  In order to get ORBacus working to it I first need to get their JTC
library working (JTC is a thin wrapper to pthread).

Now that the user threads have re-written I was hoping to get the JTC
library to compile and work under the 4.1 kernel.  I have managed to
get it to compile, but it core dumps very early in the start up code of
my application.

I have written a little simple program (attached with its Makefile) that also
exhibits the same problem.  When I run the program I see the following 
error reported from gdb:
        (gdb) run
        Starting program: nod 

        Program received signal SIGSEGV, Segmentation fault.
        0x280747b8 in pth_cancel_point () from /usr/local/lib/libpthread.so.13
        (gdb) 

Can anyone offer any advice.

Steve
-- 
                                Steve Dobson [EMAIL PROTECTED]

People don't usually make the same mistake twice -- they make it three
times, four time, five times...
#include <stream.h>
#include <pthread.h>

int
main(int argc, char **argv)
{
    pthread_mutex_t lock;

    cerr << "About to initialise the lock" << endl;
    if (pthread_mutex_init(&lock, 0))
    {
	cerr << "Failed to init the lock" << cout;
	return 1;
    }
    cerr << "About to grab the lock" << endl;
    if (pthread_mutex_lock(&lock))
    {
	cerr << "Failed to grab the lock" << cout;
	return 1;
    }
    cerr << "About to release the lock" << endl;
    if (pthread_mutex_unlock(&lock))
    {
	cerr << "Failed to release the lock" << cout;
	return 1;
    }
    cerr << "All done" << endl;
}

SRC.cpp          = nod.cpp

CPPFLAGS         = -I/usr/local/include -D_THREAD_SAFE
CXXFLAGS         = -g
LDFLAGS          = -L/usr/local/lib -pthread -g
LDLIBS           = -lpthread

OBJS = ${SRC.cpp:%.cpp=%.o}

nod: ${OBJS}
        ${CXX} ${LDFLAGS} -o nod ${OBJS} ${LDLIBS}

clean:
        rm -f nod ${OBJS}

Reply via email to