ADA (gnat 3.15p) y el kernel 2.6

Si al compilar código como el siguiente el programa “no hace lo que debería hacer” puede que no sea un problema de programación, el gnat 3.15p con un kernel 2.6 no se lleva muy bien (el gnat-3.15p usa threads normales, y no la ‘NPTL: Native Posix Threads Library’ que viene con el nuevo kernel), provad algo como:

export LD_ASSUME_KERNEL=2.4.1

y después ejecutad el programa y … ops! ahora funciona (y si no funciona es que entonces si que haya un problema de programación.)

una url donde se explica:
http://users.skynet.be/ludovic.brenta/ada-policy.html

codigo de ejemplo:

with ada.text_io;
procedure prueba is

task mespero is
entry ey;
end mespero;
task body mespero is
begin
loop
accept ey;
ada.text_io.put_line("hola");
end loop;
end mespero;

task quitakiyau;
task body quitakiyau is
begin
loop
mespero.ey;
delay 1.0;
end loop;
end quitakiyau;

begin
&tab;null;
end prueba;

Autor: heltena

This entry was posted in Linux. Bookmark the permalink.

One Response to ADA (gnat 3.15p) y el kernel 2.6

  1. marble says:

    Muchas gracias por el artículo, en el portatil tengo el 2.6 y ENSII tengo que programar en ADA con tasks (concurrencia) 🙂


    Marble :: http://www.marblestation.com

Leave a Reply