This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
various pod tweaks (from M.J.T. Guy <mjtg@cus.cam.ac.uk>)
authorGurusamy Sarathy <gsar@cpan.org>
Wed, 13 Oct 1999 06:34:53 +0000 (06:34 +0000)
committerGurusamy Sarathy <gsar@cpan.org>
Wed, 13 Oct 1999 06:34:53 +0000 (06:34 +0000)
p4raw-id: //depot/perl@4359

README.win32
pod/perlfaq8.pod
pod/perlfunc.pod
pod/perlop.pod
pod/perlport.pod

index 880a8b4..dfd6eb0 100644 (file)
@@ -700,8 +700,9 @@ C<kill()> is implemented, but doesn't have the semantics of
 C<raise()>, i.e. it doesn't send a signal to the identified process
 like it does on Unix platforms.  Instead it immediately calls
 C<TerminateProcess(process,signal)>.  Thus the signal argument is
 C<raise()>, i.e. it doesn't send a signal to the identified process
 like it does on Unix platforms.  Instead it immediately calls
 C<TerminateProcess(process,signal)>.  Thus the signal argument is
-used to set the exit-status of the terminated process.  This behavior
-may change in future.
+used to set the exit-status of the terminated process.  In particular,
+C<kill(0,$pid)> will kill the process identified by C<$pid> (unlike
+on Unix).  This behavior may change in future.
 
 =item *
 
 
 =item *
 
index 26efa3f..f8dda0d 100644 (file)
@@ -935,7 +935,7 @@ the current process group of your controlling terminal as follows:
 =head2 How do I timeout a slow event?
 
 Use the alarm() function, probably in conjunction with a signal
 =head2 How do I timeout a slow event?
 
 Use the alarm() function, probably in conjunction with a signal
-handler, as documented L<perlipc/"Signals"> and chapter 6 of the
+handler, as documented in L<perlipc/"Signals"> and chapter 6 of the
 Camel.  You may instead use the more flexible Sys::AlarmCall module
 available from CPAN.
 
 Camel.  You may instead use the more flexible Sys::AlarmCall module
 available from CPAN.
 
index 9105108..d8c82bb 100644 (file)
@@ -2118,17 +2118,21 @@ as trying has no effect).
 
 See also C<each>, C<values> and C<sort>.
 
 
 See also C<each>, C<values> and C<sort>.
 
-=item kill LIST
+=item kill SIGNAL, LIST
 
 
-Sends a signal to a list of processes.  The first element of
-the list must be the signal to send.  Returns the number of
+Sends a signal to a list of processes.  Returns the number of
 processes successfully signaled (which is not necessarily the
 same as the number actually killed).
 
     $cnt = kill 1, $child1, $child2;
     kill 9, @goners;
 
 processes successfully signaled (which is not necessarily the
 same as the number actually killed).
 
     $cnt = kill 1, $child1, $child2;
     kill 9, @goners;
 
-Unlike in the shell, in Perl if the I<SIGNAL> is negative, it kills
+If SIGNAL is zero, no signal is sent to the process.  This is a
+useful way to check that the process is alive and hasn't changed
+its UID.  See L<perlport> for notes on the portability of this
+construct.
+
+Unlike in the shell, if SIGNAL is negative, it kills
 process groups instead of processes.  (On System V, a negative I<PROCESS>
 number will also kill process groups, but that's not portable.)  That
 means you usually want to use positive not negative signals.  You may also
 process groups instead of processes.  (On System V, a negative I<PROCESS>
 number will also kill process groups, but that's not portable.)  That
 means you usually want to use positive not negative signals.  You may also
index 14ca6b5..01074b3 100644 (file)
@@ -510,10 +510,10 @@ The following are recognized:
 Although these are grouped by family, they all have the precedence
 of assignment.
 
 Although these are grouped by family, they all have the precedence
 of assignment.
 
-Unlike in C, the assignment operator produces a valid lvalue.  Modifying
-an assignment is equivalent to doing the assignment and then modifying
-the variable that was assigned to.  This is useful for modifying
-a copy of something, like this:
+Unlike in C, the scalar assignment operator produces a valid lvalue.
+Modifying an assignment is equivalent to doing the assignment and
+then modifying the variable that was assigned to.  This is useful
+for modifying a copy of something, like this:
 
     ($tmp = $global) =~ tr [A-Z] [a-z];
 
 
     ($tmp = $global) =~ tr [A-Z] [a-z];
 
@@ -526,6 +526,11 @@ is equivalent to
     $a += 2;
     $a *= 3;
 
     $a += 2;
     $a *= 3;
 
+Similarly, a list assignment in list context produces the list of
+lvalues assigned to, and a list assignment in scalar context returns
+the number of elements produced by the expression on the right hand
+side of the assignment.
+
 =head2 Comma Operator
 
 Binary "," is the comma operator.  In scalar context it evaluates
 =head2 Comma Operator
 
 Binary "," is the comma operator.  In scalar context it evaluates
index 6b532f3..3fd4352 100644 (file)
@@ -1452,13 +1452,13 @@ in the Winsock API does. (Win32)
 
 Available only for socket handles. (S<RISC OS>)
 
 
 Available only for socket handles. (S<RISC OS>)
 
-=item kill LIST
+=item kill SIGNAL, LIST
 
 Not implemented, hence not useful for taint checking. (S<Mac OS>,
 S<RISC OS>)
 
 
 Not implemented, hence not useful for taint checking. (S<Mac OS>,
 S<RISC OS>)
 
-Available only for process handles returned by the C<system(1, ...)>
-method of spawning a process. (Win32)
+Unlike Unix platforms, C<kill(0, $pid)> will actually terminate
+the process.  (Win32)
 
 =item link OLDFILE,NEWFILE
 
 
 =item link OLDFILE,NEWFILE