Boost logo

Boost :

From: Lois Goldthwaite (loisg_at_[hidden])
Date: 2001-06-21 20:59:44


Bill Kempf wrote:
>>static thread * create(void (*threadfunc)(void*), void* param);
Greg Colvin wrote:
> Is the ugly (void (*threadfunc)(void*), void* param) really needed?

I haven't dug into your code, but let us not forget that any function
used to create a thread must have extern "C" linkage. A class member
function, even a static one, won't do. FYI, the Objectspace threads
library uses an internal driver function with "C" linkage, taking a
single void * parameter, which points to a structure containing the real
thread_func and param pointers. So when the thread starts running the
driver function, the first thing it does is invoke threadfunc(param).

Lois


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk