helly Tue Mar 4 18:45:48 2003 EDT Modified files: /php4/ext/dba dba.c php_dba.h Log: Use stream locking support # needs more testing Index: php4/ext/dba/dba.c diff -u php4/ext/dba/dba.c:1.85 php4/ext/dba/dba.c:1.86 --- php4/ext/dba/dba.c:1.85 Tue Mar 4 14:56:35 2003 +++ php4/ext/dba/dba.c Tue Mar 4 18:45:48 2003 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: dba.c,v 1.85 2003/03/04 19:56:35 helly Exp $ */ +/* $Id: dba.c,v 1.86 2003/03/04 23:45:48 helly Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -28,7 +28,6 @@ #if HAVE_DBA #include "php_ini.h" -#include "ext/standard/flock_compat.h" #include <stdio.h> #include <fcntl.h> #ifdef HAVE_SYS_FILE_H @@ -319,11 +318,6 @@ if (info->hnd) info->hnd->close(info TSRMLS_CC); if (info->path) pefree(info->path, info->flags&DBA_PERSISTENT); if (info->fp && info->fp!=info->lock.fp) php_stream_close(info->fp); - if (info->lock.fd) { - php_flock(info->lock.fd, LOCK_UN); - /*close(info->lock.fd);*/ - info->lock.fd = 0; - } if (info->lock.fp) php_stream_close(info->lock.fp); if (info->lock.name) pefree(info->lock.name, info->flags&DBA_PERSISTENT); pefree(info, info->flags&DBA_PERSISTENT); @@ -707,13 +701,10 @@ FREENOW; RETURN_FALSE; } - if (php_stream_cast(info->lock.fp, PHP_STREAM_AS_FD, (void*)&info->lock.fd, 1) == FAILURE) { - dba_close(info TSRMLS_CC); - /* stream operation already wrote an error message */ - FREENOW; - RETURN_FALSE; + if (!php_stream_supports_lock(info->lock.fp)) { + error = "Stream does not support locking"; } - if (php_flock(info->lock.fd, lock_mode)) { + if (php_stream_lock(info->lock.fp, lock_mode)) { error = "Unable to establish lock"; /* force failure exit */ } } Index: php4/ext/dba/php_dba.h diff -u php4/ext/dba/php_dba.h:1.23 php4/ext/dba/php_dba.h:1.24 --- php4/ext/dba/php_dba.h:1.23 Tue Dec 31 11:06:25 2002 +++ php4/ext/dba/php_dba.h Tue Mar 4 18:45:48 2003 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_dba.h,v 1.23 2002/12/31 16:06:25 sebastian Exp $ */ +/* $Id: php_dba.h,v 1.24 2003/03/04 23:45:48 helly Exp $ */ #ifndef PHP_DBA_H #define PHP_DBA_H @@ -33,7 +33,6 @@ typedef struct dba_lock { php_stream *fp; - int fd; char *name; int mode; /* LOCK_EX,LOCK_SH */ } dba_lock;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php