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

Reply via email to