• Publicidad

Función alarm() para Windows

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Función alarm() para Windows

Notapor ferm » 2006-05-18 08:48 @409

Hola,

Alguien sabe como puedo simular la funcion alarm en un entorno windows?

Mi programa se bloquea accediendo a la base de datos(uso win32::ODBC) impidiendo que las otras aplicaciones puedan conectarse a la BD.

Supongo que otra manera seria de poner un timeout, pero no he sabido hacerlo funcionar ni por codigo ni por configuracion del DSN!

Gracias por vuestra ayuda!

Ferm
ferm
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2006-05-18 08:43 @405

Publicidad

Notapor Perl user » 2006-05-18 08:56 @414

Que tal,

Qué tipo de Base de datos? Por qué no usas DBI? Por qué necesitas simular alarm() en Windows, si tienes dicha función como parte del CORE?

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 ferm » 2006-05-18 09:04 @419

Hola,

Es una base de datos SQL server...la aplicacion ya esta hecha y la hice utilizando Win32-ODBC...hace poco que me han dicho que tendria que haber utilizado DBI que es mas potente, pero me llevaria bastante tiempo!

El problema con alarm() es que se basa en funciones de SO tipo Unix y baja windows no funciona!...cuando intento ejecutar una aplicacion que utiliza alarm() el mensaje que me sale es:

The Unsupported function alarm function is unimplemented at testAlarm.pl line 6

Obviamente el poder utilizar alarm directamente me simplificaria la vida!

Saludos,

Ferm
ferm
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2006-05-18 08:43 @405

Notapor explorer » 2006-05-18 09:39 @444

La función alarm está implementada a partir del Windows 2000, en Perl 5.8 y superior. Al menos en el Perl de ActiveState.

¿Qué versión de Windows y Perl estás usando?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor ferm » 2006-05-18 10:01 @459

Pues ahi esta el problema! yo estoy utilizando la version 5.6! y por culpa de una aplicacion que utiliza una libreria especial no puedo actualizar la version de perl!

Crees que seria posible utilizar dos versiones diferentes de perl en la misma maquina y dependiendo de la aplicacion utilizar una u otra?

Gracias!

Ferm
ferm
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2006-05-18 08:43 @405

Notapor explorer » 2006-05-18 10:57 @498

Sí que es posible. Todo depende del intérprete de perl que elijas ejecutar.

No lo he probado, pero quizás sea tan fácil como que antes de ejecutar el script, cambies el valor de la variable de entorno PERL5LIB a la dirección de la carpeta donde guardas el perl y sus librerías.

O dicho de otra forma. Conseguir que cada versión de Perl instalada "sepa" donde estan "sus" librerías en el momento de la ejecución. Quizás se pueda hacer, en vez de llamar al script Perl diréctamente, llamar a un .bat que dentro de él cambie el valor del PATH del ejecutable (o ponga el camino completo al ejecutable) y el valor de PERL5LIB.

Vete a perlrun y busca por ENVIRONMENT.

Actualización: También se puede usar -I para indicar más directorios donde Perl puede encontrar sus librerías, que serán mirados antes que el resto de directorios. Sacado también de perlrun.
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Avanzado

¿Quién está conectado?

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

cron