=over 4
+=item A thread exited while %d other threads were still running
+
+(W) When using threaded Perl, a thread (not necessarily the main
+thread) exited while there were still other threads running.
+Usually it's a good idea to first collect the return values of the
+created threads by joining them, and only then exit from then main
+thread. See L<threads>.
+
=item accept() on closed socket %s
(W closed) You tried to do an accept on a closed socket. Did you forget
If you actually want to pack Unicode codepoints, use the C<"U"> format
instead.
-=item Cleanup skipped %d active threads
-
-(W) When using threaded Perl, the main thread exited while there were
-still other threads running. This is not a good sign: you should
-either explicitly join the threads, or somehow be certain that all
-the non-main threads have finished. See L<threads>.
-
=item close() on unopened filehandle %s
(W unopened) You tried to close a filehandle that was never opened.
that it is simpler or backtracks less. (See L<perlfaq2> for information
on I<Mastering Regular Expressions>.)
+=item cond_broadcast() called on unlocked variable
+
+(W threads) Within a thread-enabled program, you tried to call
+cond_broadcast() on a variable which wasn't locked. The cond_broadcast()
+function is used to wake up another thread that is waiting in a
+cond_wait(). To ensure that the signal isn't sent before the other thread
+has a chance to enter the wait, it is usual for the signaling thread to
+first wait for a lock on variable. This lock attempt will only succeed
+after the other thread has entered cond_wait() and thus relinquished the
+lock.
+
+
+=item cond_signal() called on unlocked variable
+
+(W threads) Within a thread-enabled program, you tried to call
+cond_signal() on a variable which wasn't locked. The cond_signal()
+function is used to wake up another thread that is waiting in a
+cond_wait(). To ensure that the signal isn't sent before the other thread
+has a chance to enter the wait, it is usual for the signaling thread to
+first wait for a lock on variable. This lock attempt will only succeed
+after the other thread has entered cond_wait() and thus relinquished the
+lock.
+
=item connect() on closed socket %s
(W closed) You tried to do a connect on a closed socket. Did you forget
=item Constant subroutine %s redefined
-(S|W redefine) You redefined a subroutine which had previously been
+(S) You redefined a subroutine which had previously been
eligible for inlining. See L<perlsub/"Constant Functions"> for
commentary and workarounds.