<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Since CF is really an implementation detail of Foundation for corelibs, let’s use the CF implementation for Foundation.<div class=""><div class=""><br class=""></div><div class="">- Tony</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On May 10, 2016, at 12:10 PM, Chris Bailey via swift-corelibs-dev &lt;<a href="mailto:swift-corelibs-dev@swift.org" class="">swift-corelibs-dev@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><font size="2" face="sans-serif" class="">NSOperation.swift currently makes a call
to pthread_main_np() on line 536. This causes a compilation failure on
Linux as there isn't an implementation of pthread_main_np() in Glibc.</font>
<br class="">
<br class=""><font size="2" face="sans-serif" class="">There's few ways of fixing this. Before
I go ahead and implement one of them, I'd like to get some input on what
we thing is the best approach.</font>
<br class="">
<br class=""><font size="2" face="sans-serif" class="">The most obvious approach would be to
leverage the shim we've added to CoreFoundation already. We implemented
pthread_main_np() using the following function in CFPlatform.c:</font>
<br class=""><font size="2" face="sans-serif" class="">Boolean _CFIsMainThread(void) {</font>
<br class=""><font size="2" face="sans-serif" class="">&nbsp; &nbsp; return syscall(SYS_gettid)
== getpid();</font>
<br class=""><font size="2" face="sans-serif" class="">}</font>
<br class=""><font size="2" face="sans-serif" class="">This is only available internally to
CF, but could be exposed to Foundation, either as _CFIsMainThread() or
as pthread_main_np().</font>
<br class="">
<br class=""><font size="2" face="sans-serif" class="">Other options would be to expose the
pthread_main_np() shim that's in Dispatch already (again internally), or
to add it to the Glibc overlay so its available globally.</font>
<br class="">
<br class=""><font size="2" face="sans-serif" class="">Any thoughts on the best approach?</font>
<br class="">
<br class=""><font size="2" face="sans-serif" class="">Chris</font>_______________________________________________<br class="">swift-corelibs-dev mailing list<br class=""><a href="mailto:swift-corelibs-dev@swift.org" class="">swift-corelibs-dev@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-corelibs-dev<br class=""></div></blockquote></div><br class=""></div></div></body></html>