Bug #16986 [Com]: semaphore autorelease can be a bug....
| From: | rahulkunal250 at gmail dot com | Date: | Mon, 10 Jan 2022 11:13:39 +0000 |
| Subject: | Bug #16986 [Com]: semaphore autorelease can be a bug.... | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-238930@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=16986&edit=1
ID: 16986
Comment by: rahulkunal250 at gmail dot com
Reported by: AlberT at SuperAlberT dot it
Summary: semaphore autorelease can be a bug....
Status: Closed
Type: Bug
Package: Semaphore related
Operating System: Linux 2.4.18
PHP Version: 4.1.2
Block user comment: N
Private report: N
New Comment:
After query processing, all traffic lights obtained from the process however
not explicitly deleted, automatically deleted and warned
was created.
It doesn't matter, in fact the readers / writers are like that
The classic IPC problem is that writers cannot set priorities
do !!!
I think the option to turn off automatic output is useful.
https://krnl.onl/
Previous Comments:
------------------------------------------------------------------------
[2021-02-12 10:31:23] ednahicks198931 at gmail dot com
Thanks for the info i will try to figure it out for more.
https://www.upsers.online/
------------------------------------------------------------------------
[2002-05-17 08:37:00] wez@php.net
The new proto for sem_get is:
proto int sem_get(int key [, int max_acquire [, int perm [, int
auto_release]])
auto_release defaults to true so original behaviour is preserved; you may specify false to override.
------------------------------------------------------------------------
[2002-05-07 10:58:07] AlberT at SuperAlberT dot it
Some people write me for explanations.....
ok I'll be more clear I hope:
READER:
p(mutex);
readcount++;
if (readcount is 1) then p(db);
v(mutex);
CRITICAL REGION where we read
p(mutex);
readcount--;
if (readcount is 0) then v(db);
v(mutex);
WRITER:
p(db);
CRITICAL REGION where we write
v(db);
this is the simplest r/w problem, ok ?!?
let we analize it now.
we have to acquire some mutex to protect owr access to variables readcount ok
??
This is possible in PHP! .. ok !
now, I'm the 1st reader .. I acquire sem DB becouse readcount is equal to 1,
I release mutex and begin to READ
NOW IT IS possible that an other reader arrive and it is faster than me; it
DON'T acquire DB becouse readcont is now 2, it READS and DOESN'T HAVE to
release sem DB becouse readcount IS NOT 1 (reader 1 is still reading !!)...
PHP AUTORELEASE DB ... damn !!!
------------------------------------------------------------------------
[2002-05-06 10:44:30] michel at ziobudda dot net
Hi, I'm the coordinator of Italian Linux Portal and just last saturday (04/05/2002 in european
date) I have talked about PHP in a Linux Event. I think that the rigth "position" is the
position of AlberT: If a script die and it "has" the semaphore is corret that another
scripts can get that semaphore.
my 0,02euro
------------------------------------------------------------------------
[2002-05-06 10:23:00] AlberT at SuperAlberT dot it
It cause deadlock, but only on the script... if you test your script
and have a deadlock, you fix it and release the sem you forgot.
I think the auto release may be a good DEFAULT, but it is important to be able to modify this
behaviour.
If you want to fulfill any classical IPC problem (see Tanenbuam!)
You have to be able to acquire a sem, and not to realease it.
Here you ca nfind an explanation of the problems one can have and that
auto release make impossible to solve:
http://joda.cis.temple.edu/~ingargio/old/cis307f95/readings/readwriters.html
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=16986
--
Edit this bug report at https://bugs.php.net/bug.php?id=16986&edit=1