Travis Vitek wrote:
> I'm sure you mean pthread_once() not pthread_create(). :)
Yes, that's what I meant, thanks. (Even though the issue with
pthread_create() would be the same.)
Martin
>
>> Martin Sebor wrote:
>>
>> Farid Zaripov wrote:
>>>> Any suggestions?
>>>>
>>> Why the internal function should be extern "C"?
>> So they can be passed to pthread_create() which is in all cases
>> I know of a C interface (i.e., it expects a pointer to a function
>> with a C language linkage as an argument). Functions with different
>> language linkage have distinct types and are incompatible with one
>> another. Most compilers including MSVC and gcc) don't implement
>> this rule and as a result present a serious portability problem.
>> See the following gcc bug report for an example of such a problem:
>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=2316
>>
>> Martin
>>
|