Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Mar 2005 23:57:29 -0500 (EST)
From:      Daniel Eischen <deischen@freebsd.org>
To:        "Michael C. Shultz" <ringworm01@gmail.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: threads question
Message-ID:  <Pine.GSO.4.43.0503142350110.9058-100000@sea.ntplx.net>
In-Reply-To: <200503142014.28897.ringworm01@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 14 Mar 2005, Michael C. Shultz wrote:

> Hi, I've just reached a point in a program I'm writing where I'd like to
> do threading.
>
> When I try to start a thread like this:
>
> pthread_create(&thread, &attr, MGPMrUpgrade, property );
                                               ^^^^^^^^  &property

You should compile with -Wall and get rid of any warnings.

> where property is a structure of many variables it doesn't get passed
> to the function.  If I do this:
>
> pthread_create(&thread, &attr, MGPMrUpgrade( &property ), NULL );

That looks like it will actuall call MGPMrUpgrade() and use its
return value as the function pointer.

> It works, but just seems wrong.
>
> Can anyone point me to a source file, preferably in /usr/src somewhere
> that passes a structure to a function being run as a thread so I may
> study the proper way to do this?

  src/lib/libpthread/test/sem_d.c
  src/lib/libpthread/test/mutex_d.c
  src/lib/libpthread/test/sigwait_d.c

I'd suggest getting Butenhof's "Programming with POSIX Threads" book.

-- 
DE



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.43.0503142350110.9058-100000>