From: Jarkko Hietaniemi Date: Wed, 16 Apr 2003 13:09:42 +0000 (+0000) Subject: Document the effect of thread creation context. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=93512b4d15d43ee30046264838aa178b66495d31;p=p5sagit%2Fp5-mst-13.2.git Document the effect of thread creation context. p4raw-id: //depot/perl@19236 --- diff --git a/ext/threads/threads.pm b/ext/threads/threads.pm index 337aaf5..6e2f0ef 100755 --- a/ext/threads/threads.pm +++ b/ext/threads/threads.pm @@ -151,11 +151,18 @@ object. The new() method is an alias for create(). This will wait for the corresponding thread to join. When the thread finishes, join() will return the return values of the entry point function. If the thread has been detached, an error will be thrown. + +The context (scalar or list) of the thread creation is also the +context for join(). This means that if you intend to return an array +from a thread, you must use Cnew(...)>, and +that if you intend to return a scalar, you must use C. + If the program exits without all other threads having been either joined or detached, then a warning will be issued. (A program exits either because one of its threads explicitly calls exit(), or in the case of the main thread, reaches the end of the main program file.) + =item $thread->detach Will make the thread unjoinable, and cause any eventual return value