[comp.sys.apollo] Implementation of Ada Tasks under Unix

jon@runx.oz (Jonathon Seymour) (06/21/89)

How are Ada tasks implemented in the Apollo (Verdix) version running
under 4.3bsd Unix?

Specifically, is an Ada program ever blocked by the operating system
even if one of its tasks is able to run?

jon.

horst@pcsbst.UUCP (horst) (07/04/89)

In article <88@runxtsa.runx.oz> jon@runx.oz (Jonathon Seymour) writes:
>How are Ada tasks implemented in the Apollo (Verdix) version running
>under 4.3bsd Unix?
>
>Specifically, is an Ada program ever blocked by the operating system
>even if one of its tasks is able to run?

Yes it does, at least in the Unix Sys V Version.
Try this one:

with text_io; use text_io;
procedure hk is
   task t;
   task body t is
      s : string (1..80);
      i : integer;
   begin
      put_line ("t");
      get_line (s,i);
      put_line (s (1..i));
   end;
begin
   put_line ("hk");
end;

I don't understand why it blocks. This one doesn't:

with text_io; use text_io;
procedure hk is
   task t;
   task body t is
      s : string (1..80);
      i : integer;
   begin
      put_line ("t");
      get_line (s,i);
      put_line (s (1..i));
   end;

   task tt;
   task body tt is
   begin
      put_line ("tt");
   end;
begin
   put_line ("hk");
end;

(Perhaps it's not an error but a feature.)

Regards,
 Horst

==========
Horst Kern                                     PCS Computer Systeme GmbH
Tel.       :      089/68004-279                Pfaelzer-Wald-Str. 36
UUCP       :      ...uunet!unido!pcsbst!horst  D 8000 Muenchen 90
From US    :      ...pyramid!pcsbst!hk
------------------------------------------------------------------------