Re: PHP 4.3.5RC1 and dba(db4)

From: Date: Thu, 15 Jan 2004 17:08:31 +0000
Subject: Re: PHP 4.3.5RC1 and dba(db4)
Groups: php.internals 
Request: Send a blank email to internals+get-7128@lists.php.net to get a copy of this message
Hello, I am noticing a strange effect in php-4.3.5RC1 while using dba_open("name", "c", "db4") -- this used to work in php-4.3.3 (I have both libphp4.so versions and can switch between them) but it fails in php-4.3.5RC1 with the error message: Warning: dba_open(...,c): Driver initialization failed for handler: db4: Unable to establish lock (no matter if I use "c", "cd" or "ct" for the flags). The only possibility to get it working is by using "c-" for $flags. Note that in ext/dba/dba_db4.c, I see some clues about a db4-internal locking: --snip--dba_db4.c::DBA_OPEN_FUNC(db4) #ifdef DB_FCNTL_LOCKING gmode |= DB_FCNTL_LOCKING; #endif --snip-- so I tried to change the handler[] for db4 to: --snip--dba.c::handler[] #if DBA_DB4 #ifdef DB_FCNTL_LOCKING DBA_HND(db4, DBA_LOCK_EXT) /* Locking done in library if set */ #else DBA_HND(db4, DBA_LOCK_ALL) /* No lock in lib */ #endif #endif --snip-- but that doesn't change the observed behaviour. Is it *my* error, or is something really broken in php-4.3.5RC1? Martin -- <Martin.Kraemer@Fujitsu-Siemens.com> | Fujitsu Siemens Fon: +49-89-636-46021, FAX: +49-89-636-47655 | 81730 Munich, Germany

« previous php.internals (#7128) next »