• Publicidad

flock(FILE,8) ??????

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

flock(FILE,8) ??????

Notapor monoswim » 2005-10-14 10:37 @484

Hola, me topé con un script que antes de ceerrar un archivo hacía

flock(FILE,8);

Nunca había visto el número 8 en flock !!!

Busqueé en mi biblia de perl y ni siquiera usa número para flock sino que usa palabras como LOCK_EX para que tenga acceso exculivo (para escritura, lo que sería 2)

Alguien sabe que corno hace ese 8 ??? y que opciones más hay de flockeo ?

Saludos
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Publicidad

Notapor Perl user » 2005-10-14 12:46 @573

Corresponde a la bandera LOCK_UN del módulo Fcntl.

Generalmente se asocia un valor potencia de 2 a las banderas para permitir inteligentemente encender o apagar bits de manera conjunta con operadores de bits propiamente, así como hacer verificaciones, de esta manera:

LOCK_SH = 0x1
LOCK_EX = 0x2
LOCK_NB = 0x4
LOCK_UN = 0x8

( Esto fué heredado directamente del fcntl.h de C )

Nota: El hecho de que lo hayas visto así en un código funcional no significa que debas hacerlo, poner código 'hardcoded' tiende a errores y aparte no es portable ( imagina que en HPUX el valor de LOCK_UN cambie ), es mejor apegarte a las estandarizaciones de las bibliotecas, por algo ponen esas constantes.

Saludos,
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924

Notapor monoswim » 2005-10-14 14:41 @653

haa, perfecto, entonces lo haré con las constantes...

Gracias y saludos
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados