summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2002-12-11 10:37:53 +0000
committerMarcus Boerger <helly@php.net>2002-12-11 10:37:53 +0000
commit6003d9ad36f44c85a2f7b3873f6229a869456ad7 (patch)
treebfd8904dd2f15736bc9d1f30cf5870d84d5a8597
parent120f6a9bf288fc1cd30e03b89d550981ea668417 (diff)
downloadphp-git-6003d9ad36f44c85a2f7b3873f6229a869456ad7.tar.gz
MFH
-rw-r--r--ext/dba/dba.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/ext/dba/dba.c b/ext/dba/dba.c
index 7d2317bf33..baf82d63d9 100644
--- a/ext/dba/dba.c
+++ b/ext/dba/dba.c
@@ -426,16 +426,21 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
if (pmode[0] && (pmode[1]=='d' || pmode[1]=='l' || pmode[1]=='-')) { /* force lock on db file or lck file or disable locking */
switch (pmode[1]) {
case 'd':
- if ((hptr->flags & DBA_LOCK_ALL) == 0) {
- php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_NOTICE, "Handler %s does locking internally", hptr->name);
- }
lock_dbf = 1;
/* no break */
case 'l':
lock_flag = DBA_LOCK_ALL;
+ if ((hptr->flags & DBA_LOCK_ALL) == 0) {
+ php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_NOTICE, "Handler %s does locking internally", hptr->name);
+ }
break;
default:
case '-':
+ if ((hptr->flags & DBA_LOCK_ALL) == 0) {
+ php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_WARNING, "Locking cannot be disabled for handler %s", hptr->name);
+ FREENOW;
+ RETURN_FALSE;
+ }
lock_flag = 0;
break;
}