Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...) - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)
Date
Msg-id 200309032235.h83MZi508511@candle.pha.pa.us
Whole thread Raw
In response to Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)  (Larry Rosenman <ler@lerctr.org>)
Responses Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)
List pgsql-hackers
Larry Rosenman wrote:
> >> > What does your OS want for the 3rd argument of pthread_create()?  I
> >> > thought a void pointer would be OK for everyone:
> >> >
> >> >     pthread_create(&thread1, NULL, (void *) func_call_1, NULL);
> >>
> >>  void *(*start_routine)(void*)
> >>
> >> Here is our man page:
> >> http://lerami.lerctr.org:8458/en/man/html.3pthread/pthread_create.3pthre
> >> ad. html
> >
> > Yes, that's what I have too.  What if you have the functions taking
> > (void *) rather than void.  Does that make the warnings disappear?
> 
> $ r cc
> cc -O -Kpthread test_thread.c -o test_thread -lsocket -lnsl
> $ ./test_thread
> Your functions are all thread-safe
> $

I have updated the code to tighten the cast:
   pthread_create(&thread1, NULL, (void * (*)(void *)) func_call_1, NULL);   pthread_create(&thread2, NULL, (void *
(*)(void*)) func_call_2, NULL);
 

The change is in CVS.  Does that fix it?

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: NOTICE vs WARNING
Next
From: Gavin Sherry
Date:
Subject: Re: Regarding PostgreSQL Doubt