Change 19853 by [EMAIL PROTECTED] on 2003/06/25 19:35:02
Subject: Re: P and V
From: "Philip Newton" <[EMAIL PROTECTED]>
Date: Wed, 25 Jun 2003 17:50:22 +0200
Message-ID: <[EMAIL PROTECTED]>
Affected files ...
... //depot/perl/lib/Thread/Semaphore.pm#4 edit
Differences ...
==== //depot/perl/lib/Thread/Semaphore.pm#4 (text) ====
Index: perl/lib/Thread/Semaphore.pm
--- perl/lib/Thread/Semaphore.pm#3~17509~ Fri Jul 12 16:44:17 2002
+++ perl/lib/Thread/Semaphore.pm Wed Jun 25 12:35:02 2003
@@ -12,14 +12,14 @@
use Thread::Semaphore;
my $s = new Thread::Semaphore;
- $s->up; # Also known as the semaphore V -operation.
+ $s->down; # Also known as the semaphore P operation.
# The guarded section is here
- $s->down; # Also known as the semaphore P -operation.
+ $s->up; # Also known as the semaphore V operation.
# The default semaphore value is 1.
my $s = new Thread::Semaphore($initial_value);
+ $s->down($down_value);
$s->up($up_value);
- $s->down($up_value);
=head1 DESCRIPTION
@@ -29,7 +29,7 @@
Semaphores don't limit their values to zero or one, so they can be used to
control access to some resource that there may be more than one of. (For
-example, filehandles). Increment and decrement amounts aren't fixed at one
+example, filehandles.) Increment and decrement amounts aren't fixed at one
either, so threads can reserve or return multiple resources at once.
=head1 FUNCTIONS AND METHODS
@@ -53,6 +53,10 @@
count is equal to or larger than the amount you're C<down>ing the
semaphore's count by.
+This is the semaphore "P operation" (the name derives from the Dutch
+word "pak", which means "capture" -- the semaphore operations were
+named by the late Dijkstra, who was Dutch).
+
=item up
=item up NUMBER
@@ -61,6 +65,9 @@
or by one if no number has been specified. This will unblock any thread blocked
trying to C<down> the semaphore if the C<up> raises the semaphore count
above the amount that the C<down>s are trying to decrement it by.
+
+This is the semaphore "V operation" (the name derives from the Dutch
+word "vrij", which means "release").
=back
End of Patch.