[vdr] Thread start functions and external C linkage (VDR starts it's threads "incorrectly")

Gunnar Roth gunnar.roth at gmx.de
Mon Feb 13 09:43:13 CET 2006


Sascha Volkenandt schrieb:
> The reason is that a thread start function handed to pthread_create MUST have 
> external C linkage, which is not guaranteed to be the case with static 
> members. In fact, many compilers declare such members with the same calling 
> conventions that an extern "C" function uses, but the standard doesn't 
> require this. Indeed, there are (according to external informations) 
> compilers that act differently here.
>   
IMHO calling conventions ( like _stdcall and _cdecl ) are about 
parameter cleanup and ordering and exnrnal c linkage is about how the 
function name is written ( mangled or not). I can see that calling 
convention could make problems with pthread, but cannot see what extern 
"C" should have to to with that.
please enligthen me.

regards,
gunnar






More information about the vdr mailing list