Google
Web dns.bdat.net

[PHP-ES] Re: Bloqueo de archivos, flock()

Write haof XML files: Rafael ( rsalazar(EN)ucol.mx)
Fecha: mié 16 feb 2005 - 18:40:43 CET


        Si entiendo bien, el comportamiento "con o sin" VB es el mismo, es
decir, se bloquea el archivo y los scripts siguientes sólo intentan
acceder a éste, fallando si está protedigo.

        El que el segundo script "espere" a que se "desbloquee" el archivo es,
seguramente, porque tú le has hecho esperar. Si el primer script lo
bloqueara por 30 seg, y el segundo sólo esperara 25 seg verías, muy
probablemente, que tampoco esperó a que se liberara.

        Por último, me parece un tanto lógico que no espere a que se libere el
archivo, ya que el tiempo de la conexión tiene un límite (y tambien
puede cargar al micro con tareas inecesarias), en todo caso lo mejor
sería dar la opción al usuario (o programador) de re-intentar pasado un
tiempo adecuado re-invocando al mismo script -espero darme a entender.

Mktb wrote:
> Saludos,
>
> Tengo algunas dudas sobre el bloqueo de archivos usando flock(). Hasta ahora
> no lo habia usado, he estado haciendo algunas pruebas y el resultados no lo
> llego a comprender.
>
> Por ejemplo, bloqueo un archivo desde un proyecto de Visual Basic, y ejecuto
> el script de PHP para ver como reacciona el script. El resultato son
> warnings avisando del bloqueo: fopen(), flock(), fclose(). La reacción que
> yo creía correcta era que el script esperaría hasta que el bloqueo
> desapareciera.
>
> Otro ejemplo, esta vez sin VB y con dos scripts de PHP, uno que bloquea un
> archivo 28 segundos [A], y otro que intenta acceder al archivo durante esos
> 28 segundos [B]. EL resultado es el que yo creo correcto: el script [B]
> espera a que el script [A] libere el archivo para poder acceder.
>
> A que se debe esta forma diferente de reaccionar ante el bloqueo de VB?
> Teneis algún consejo sobre el tema? Por otro lado, que debería hacerse ante
> un bloqueo que no espera a liberar el archivo? reintentar el bloqueo?
>
> Gracias.
>
> Datos extra:
> Bloqueo de un archivo de texto por Visual Basic 5 y PHP 5. En FAT32 El
> bloqueo actua igual que en NTFS.
> El bloqueo mediante VB es simplemente para comprobar el bloqueo de archivos
> en PHP, en realidad no necesito para nada VB.
> escribí otro mensaje a la lista sobre el tema de bloquear archivos, que no
> fue contestado. Supongo que el dia (5-enero) hacía que la gente estubiera
> por otros menesteres que contestar e-mails de la lista ;-), así que pongo el
> enlace por si alguien quiere aclararme las dudas que tenía y sigo teniendo:
> http://news.php.net/php.general.es/52936

-- 
J. Rafael Salazar Magaña
Aplicaciones Win32 y Desarrollo Web
CENEDIC, Universidad de Colima
-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Este archivo fue generado por hypermail 2.1.7 : sáb 19 mar 2005 - 01:01:24 CET