[lug] pthreads

Sebastian Sobolewski spsobole at mindless.com
Tue May 30 16:45:34 MDT 2000


Hi,

         I've used pthreads in all a lot of my apps, many of them c++ 
programs.  By default gcc/g++ does not link in the pthreads lib.  You have 
to use the -lpthread option for it to compile.  When compiled  with this 
option you should not be getting a seg fault.  If you are then it's most 
likely the cause of some bad code/pointer.

here is a sniped of some pthread code I use:

//----------
// create a thread to handle irqs
//
//  irq_thread : is the thread handle.
//  irqHandler : see function below
//  this         :  void pointer to this class instance.  (optional parameter)
//
if(pthread_create(&irq_thread,NULL,(void *)&irqHandler,this)!=0){
         // handle error here
}

//-----------------
// The irqHandler function -- this function must be declared as "static"
//
//  header file declares this as:
//    static void irqHandler(void *);
//

void irqHandler(void *ptr){
         while(!bQuit){
                 // some code here
         }
         pthread_exit(0);
}


Perhaps if you pasted a sniped of your code I could be of more help.

-Sebastian







At 02:15 PM 5/30/00 -0600, you wrote:
>I have a system running Caldera OpenLinux 2.2 and I am trying to implement a
>C++ program with threads.  I have included <pthread.h> at the top of the
>program, and when the program compiles I get the following message:
>
>aserv.o: In function `main':
>aserv.o(.text+0x215): undefined reference to `pthread_create'
>
>Based on the premise that a library wasn't being linked, I modified the gcc
>command to include the /usr/lib/libpthread.so, but I didn't think it would
>work (last resort, you know?).  It caused the above error to go away, but
>now I get a seg fault when trying to run the program -- right at the
>pthread_create.  I've looked the man and info pages and haven't found any
>specific secrets to make this work (to address the RTFM issue).
>
>Anyone have any clues?  Thanks.
>
>--Kevin
>kevin at precisonline.com
>http://www.precisonline.com
>http://www.precisonline.com/gold.htm
>
>
>
>_______________________________________________
>Web Page:  http://lug.boulder.co.us
>Mailing List: http://lists.lug.boulder.co.us/mailman/listinfo/lug

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lug.boulder.co.us/pipermail/lug/attachments/20000530/4d8b5196/attachment.html>


More information about the LUG mailing list