Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Ian Collins <ian-news@hotmail.com> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Macro for pthread_create() |
| Date | 2012-01-11 22:20 +1300 |
| Message-ID | <9n52jiFvfbU2@mid.individual.net> (permalink) |
| References | <87d3arv2ns.fsf@father.nostromo.wy> <slrnjgp2tc.1hfs.usenet-nospam@guild.seebs.net> <81zkdvz06p.fsf@mother.nostromo.wy> <9n3ttdFad4U3@mid.individual.net> <8739bm1u7g.fsf@father.nostromo.wy> |
On 01/11/12 10:09 PM, daniele.g wrote:
> Ian Collins<ian-news@hotmail.com> writes:
>
>> On 01/11/12 11:01 AM, daniele.g wrote:
>>> Seebs<usenet-nospam@seebs.net> writes:
>>>
>>>> The obvious thing that leaps out at me is that you say you want
>>>> pthread_create(&func_id, NULL, func, (void *) param)
>>>> but you wrote
>>>> pthread_create(&func, NULL, func, (void *) param)
>>>>
>>>> Which makes me wonder whether you actually wanted the _id, and if so,
>>>> why you omitted it. You may be looking for the "token pasting" operator,
>>>> ##. See the comp.lang.c FAQ for more info on that.
>>>
>>> Yur're right, I wrote wrong the macro expansion.
>>> What I want is that when I compile this source under linux the macro is
>>> translated into the pthread_create(...) function, knowing that the macro
>>> has only two parameters. My problem is that I don't know how to create
>>> dinamically a func_id to be inserted into the macro definition.
>>
>> Why use a macro? It would be easier and clearer to use a function.
>
> How? I mean: in Linux I can simply write:
>
> #include<pthread.h>
> ....
> pthread_create( ... );
>
> in OS20 I can't since it doesn't have them, so my idea is to make a
> conditional compiling using a macro. Am I right?
So on a POSIX platform, include <pthread.h>, for others write your own
versions of the threading functions.
Something like
#if defined HAVE_PTHREADS
# include <pthread.h>
#else
# if defined SOME_OS
typedef int pthread_t;
typedef struct { /* supported options */ } pthread_attr_t;
int pthread_create( pthread_t *restrict thread,
const pthread_attr_t* restrict attr,
void* (*start_routine)(void*), void* restrict arg );
# endif
#endif
--
Ian Collins
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Macro for pthread_create() daniele@father.nostromo.wy (daniele.g) - 2012-01-10 19:21 +0100
Re: Macro for pthread_create() jt@toerring.de (Jens Thoms Toerring) - 2012-01-10 19:02 +0000
Re: Macro for pthread_create() jt@toerring.de (Jens Thoms Toerring) - 2012-01-10 20:18 +0000
Re: Macro for pthread_create() Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-01-10 20:29 +0000
Re: Macro for pthread_create() jt@toerring.de (Jens Thoms Toerring) - 2012-01-10 21:03 +0000
Re: Macro for pthread_create() James Kuyper <jameskuyper@verizon.net> - 2012-01-10 14:14 -0500
Re: Macro for pthread_create() Seebs <usenet-nospam@seebs.net> - 2012-01-10 20:44 +0000
Re: Macro for pthread_create() Anand Hariharan <mailto.anand.hariharan@gmail.com> - 2012-01-13 07:18 -0800
Re: Macro for pthread_create() Seebs <usenet-nospam@seebs.net> - 2012-01-10 19:15 +0000
Re: Macro for pthread_create() daniele@mother.nostromo.wy (daniele.g) - 2012-01-10 23:01 +0100
Re: Macro for pthread_create() Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-01-10 22:23 +0000
Re: Macro for pthread_create() Keith Thompson <kst-u@mib.org> - 2012-01-10 15:23 -0800
Re: Macro for pthread_create() jt@toerring.de (Jens Thoms Toerring) - 2012-01-10 22:27 +0000
Re: Macro for pthread_create() Keith Thompson <kst-u@mib.org> - 2012-01-10 15:25 -0800
Re: Macro for pthread_create() Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-01-10 17:31 -0500
Re: Macro for pthread_create() daniele@mother.nostromo.wy (daniele.g) - 2012-01-11 00:04 +0100
Re: Macro for pthread_create() James Kuyper <jameskuyper@verizon.net> - 2012-01-10 18:17 -0500
Re: Macro for pthread_create() Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-01-10 18:29 -0500
Re: Macro for pthread_create() Ian Collins <ian-news@hotmail.com> - 2012-01-11 11:54 +1300
Re: Macro for pthread_create() daniele@father.nostromo.wy (daniele.g) - 2012-01-11 10:09 +0100
Re: Macro for pthread_create() Ian Collins <ian-news@hotmail.com> - 2012-01-11 22:20 +1300
Re: Macro for pthread_create() James Kuyper <jameskuyper@verizon.net> - 2012-01-11 11:26 -0500
Re: Macro for pthread_create() daniele@father.nostromo.wy (daniele.g) - 2012-01-12 12:07 +0100
Re: Macro for pthread_create() James Kuyper <jameskuyper@verizon.net> - 2012-01-12 09:19 -0500
Re: Macro for pthread_create() Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-01-12 20:34 -0500
Re: Macro for pthread_create() daniele@father.nostromo.wy (daniele.g) - 2012-01-12 11:52 +0100
Re: Macro for pthread_create() Seebs <usenet-nospam@seebs.net> - 2012-01-11 18:46 +0000
Re: Macro for pthread_create() blp@cs.stanford.edu (Ben Pfaff) - 2012-01-11 11:12 -0800
csiph-web