ftrwrite, ftrexec, fteread, ftewrite and fteexec can all be merged
[p5sagit/p5-mst-13.2.git] / pod / perlthrtut.pod
index 7cac46f..8e19411 100644 (file)
@@ -52,8 +52,8 @@ different models for different pieces of your program.
 
 =head2 Boss/Worker
 
-The boss/worker model usually has one `boss' thread and one or more
-`worker' threads.  The boss thread gathers or generates tasks that need
+The boss/worker model usually has one "boss" thread and one or more
+"worker" threads.  The boss thread gathers or generates tasks that need
 to be done, then parcels those tasks out to the appropriate worker
 thread.
 
@@ -602,7 +602,7 @@ communications between threads.
 =head2 Semaphores: Synchronizing Data Access
 
 Semaphores are a kind of generic locking mechanism. In their most basic
-form, they behave very much like lockable scalars, except that thay
+form, they behave very much like lockable scalars, except that they
 can't hold data, and that they must be explicitly unlocked. In their
 advanced form, they act like a kind of counter, and can allow multiple
 threads to have the 'lock' at any one time.
@@ -985,9 +985,10 @@ Further examples of process-scope changes include umask() and
 changing uids/gids.
 
 Thinking of mixing fork() and threads?  Please lie down and wait
-until the feeling passes-- but in case you really want to know,
-the semantics is that fork() duplicates all the threads.
-(In UNIX, at least, other platforms will do something different.)
+until the feeling passes.  Be aware that the semantics of fork() vary
+between platforms.  For example, some UNIX systems copy all the current
+threads into the child process, while others only copy the thread that
+called fork(). You have been warned!
 
 Similarly, mixing signals and threads should not be attempted.
 Implementations are platform-dependent, and even the POSIX