# Join this thread to the calling thread
#
# Blocks until the method `main` returns or the target thread calls
# `Sys::thread_exit`. Returns the object returned from the other thread.
#
# Stats the thread if now already done by a call to `start`.
fun join: E
do
if native == null then start
var r = native.join
native = null
return r.as(E)
end
lib/pthreads/pthreads.nit:337,2--349,4