Bug #75327 [Opn->Fbk]: PECL sync readerwriter lock problem
| From: | requinix@php.net | Date: | Fri, 06 Oct 2017 12:56:28 +0000 |
| Subject: | Bug #75327 [Opn->Fbk]: PECL sync readerwriter lock problem | ||
| References: | 1 | Groups: | php.pecl.dev |
| Request: | Send a blank email to pecl-dev+get-14878@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=75327&edit=1
ID: 75327
Updated by: requinix@php.net
Reported by: zhangsy at 1pei dot com dot cn
Summary: PECL sync readerwriter lock problem
-Status: Open
+Status: Feedback
Type: Bug
Package: PECL
Operating System: centos 6.2
PHP Version: 7.1.10
Block user comment: N
Private report: N
New Comment:
No? The first writelock was denied because there was still a readlock in place.
var_dump($readwrite->readlock(0)); // shared lock #1 - true
var_dump($readwrite->readlock(0)); // shared lock #2 - true
var_dump($readwrite->readunlock()); // unlocked #2 - true
var_dump($readwrite->writelock(0)); // still locked by #1 - false <<<
var_dump($readwrite->readunlock()); // unlock #1 - true
var_dump($readwrite->readunlock()); // not locked - false
var_dump($readwrite->writelock(0)); // exclusive lock #1 - true
var_dump($readwrite->writelock(0)); // locked by #1 - false
var_dump($readwrite->readlock(0)); // locked by #1 - false
var_dump($readwrite->writeunlock()); // unlock #1 - true
Previous Comments:
------------------------------------------------------------------------
[2017-10-06 12:49:44] zhangsy at 1pei dot com dot cn
update package to PECL sync
------------------------------------------------------------------------
[2017-10-06 12:43:15] zhangsy at 1pei dot com dot cn
Description:
------------
In the tests\014.phpt, the last fourth expect result should be bool(false), not bool(true), because
the fourth writelock has not unlocked.
var_dump($readwrite->readlock(0));
var_dump($readwrite->readlock(0));
var_dump($readwrite->readunlock());
var_dump($readwrite->writelock(0));
var_dump($readwrite->readunlock());
var_dump($readwrite->readunlock());
var_dump($readwrite->writelock(0));
var_dump($readwrite->writelock(0));
var_dump($readwrite->readlock(0));
var_dump($readwrite->writeunlock());
?>
--EXPECT--
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true) <----Here should be false
bool(false)
bool(false)
bool(true)
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=75327&edit=1