]> granicus.if.org Git - php/commitdiff
Add missing fd creation
authorMarcus Boerger <helly@php.net>
Thu, 15 Jan 2004 21:28:37 +0000 (21:28 +0000)
committerMarcus Boerger <helly@php.net>
Thu, 15 Jan 2004 21:28:37 +0000 (21:28 +0000)
ext/dba/dba.c

index ea918fcc44202d93dae571ef265b25006071db80..5ec425cef8b9e01e6a75961d4bcbda8088da12ae 100644 (file)
@@ -760,7 +760,13 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
                        FREENOW;
                        RETURN_FALSE;
                }
-               if (php_flock(info->lock.fd, lock_mode)) {
+               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_flock(info->lock.fd, lock_mode)) {              
                        error = "Unable to establish lock"; /* force failure exit */
                }
        }