|
Portabilidad de python
|
|
Por ridiculum
departamento posix? bsd 4.4? , Sección Diarios Puesto a las Mon Feb 7th, 2005 at 01:18:08 AM CET
|
 |
|
He estado enredado con el software de los planets y me ha sorprendido que hubiera lo que aparenta ser un bug entre python y freebsd
|
El software en cuestion esta escrito en python y yo lo he puesto a correr en un freebsd 4.11. Si lo ejecutas tal cual, obtienes un error:
Traceback (most recent call last):
File "planet.py", line 240, in ?
template = TemplateManager().prepare(template_file)
File "/home/count/planet/htmltmpl.py", line 204, in prepare
precompiled = self.load_precompiled(file)
File "/home/count/planet/htmltmpl.py", line 342, in load_precompiled
self.lock_file(file, LOCK_UN)
File "/home/count/planet/htmltmpl.py", line 275, in lock_file
fcntl.fcntl(fd, fcntl.LOCK_UN)
IOError: [Errno 14] Bad address
Con un poco de ayuda de google, llego a un mensaje a la lista de desarrollo de planetplanet que comenta que hay que cambiar la llamada fcntl por flock, por que sino, en freebsd no funciona. Esto sucede tanto con la version 2.2 como con la 2.3 de python
La cuestion es que ambas llamadas se supone que hacen lo mismo, y la unica diferencia es que flock proviene de BSD y fcntl es de POSIX.
¿Algún motivo para que de una forma funcione y de la otra no?
¿Por que no han integrado en el software de planet's ese parche?
¿Existe la portabilidad? |
|
|