comp.lang.ada
 help / color / mirror / Atom feed
* Re: tasking under ms-dos
  1997-10-24  0:00   ` A J Cornah
@ 1997-10-24  0:00     ` Larry Coon
  0 siblings, 0 replies; 9+ messages in thread
From: Larry Coon @ 1997-10-24  0:00 UTC (permalink / raw)



A J Cornah wrote:

> That may be so [. . .] I have the SunOS4.x version of GNAT,
> admittedly 3.10, and that too produces a program which works
> as I intend but what I was asking was why GNAT 3.07 from the
> EZ2LOAD release doesn't.

By pointing out that your code works correctly with my
compiler, I was implying that the fault was with your
compiler or its configuration, and not your code.  Sorry
I didn't make my point clearly.

Larry Coon
University of California
larry@assist.org
and lmcoon@home.com




^ permalink raw reply	[flat|nested] 9+ messages in thread

* tasking under ms-dos
@ 1997-10-24  0:00 A J Cornah
  1997-10-24  0:00 ` Larry Coon
  1997-10-25  0:00 ` Jerry van Dijk
  0 siblings, 2 replies; 9+ messages in thread
From: A J Cornah @ 1997-10-24  0:00 UTC (permalink / raw)



Probably a naive question but I would appreciate help.
I have obtained and installed the latest ez2load which gives me GNAT 3.07
and the documentation claims " .. It now includes tasking ... " but when I
try even a simple program like the one below which should interleaf As and Bs
I get all the As first then the Bs then my program freezes.

I used ADACAPS to compile it.

Thanks in advance.

tony


WITH TEXT_IO; USE TEXT_IO;

PROCEDURE   Ex2a   IS

  -- This is the worked answer to
  --     ACS313 Supervised Practical Sessions Example 2 a)
  
    c: CHARACTER;

TASK ProcedureA IS
    ENTRY Start;
END ProcedureA;

TASK ProcedureB IS
    ENTRY Start;
END ProcedureB;

TASK BODY ProcedureA IS
    count: integer;
BEGIN
    ACCEPT Start;
    FOR count IN 1..10 LOOP
        Delay 1.0;
        PUT("A");
    END LOOP;
    PUT_LINE(" ");
END ProcedureA;

TASK BODY ProcedureB IS
    count: integer;
BEGIN
    ACCEPT Start;
    FOR count IN 1..5 LOOP
        Delay 1.5;
        PUT("B");
    END LOOP;
    PUT_LINE(" ");
END ProcedureA;

BEGIN
    ProcedureA.Start;
    ProcedureB.Start;
END Ex2a;
\x1a





^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: tasking under ms-dos
  1997-10-24  0:00 tasking under ms-dos A J Cornah
@ 1997-10-24  0:00 ` Larry Coon
  1997-10-24  0:00   ` A J Cornah
  1997-10-25  0:00 ` Jerry van Dijk
  1 sibling, 1 reply; 9+ messages in thread
From: Larry Coon @ 1997-10-24  0:00 UTC (permalink / raw)



A J Cornah wrote:
> 
> Probably a naive question but I would appreciate help.
> I have obtained and installed the latest ez2load which gives me GNAT 3.07
> and the documentation claims " .. It now includes tasking ... " but when I
> try even a simple program like the one below which should interleaf As and Bs
> I get all the As first then the Bs then my program freezes.
> 
> I used ADACAPS to compile it.

Code snipped -- you have one typo, you end procedure B
with "END ProcedureA;" but that isn't causing your
problem.  When I run your code using ObjectAda and
compiling for MS-DOS, it works as you intend.

Larry Coon
University of California
larry@assist.org 
and lmcoon@home.com




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: tasking under ms-dos
  1997-10-24  0:00 ` Larry Coon
@ 1997-10-24  0:00   ` A J Cornah
  1997-10-24  0:00     ` Larry Coon
  0 siblings, 1 reply; 9+ messages in thread
From: A J Cornah @ 1997-10-24  0:00 UTC (permalink / raw)



In article <3450BCAB.6DF4@assist.org>, larry@assist.org says...
>
>A J Cornah wrote:
>> 
>> Probably a naive question but I would appreciate help.
>> I have obtained and installed the latest ez2load which gives me GNAT 3.07
>> and the documentation claims " .. It now includes tasking ... " but when I
>> try even a simple program like the one below which should interleaf As and 
Bs
>> I get all the As first then the Bs then my program freezes.
>> 
>> I used ADACAPS to compile it.
>
>Code snipped -- you have one typo, you end procedure B
>with "END ProcedureA;" but that isn't causing your
>problem.  When I run your code using ObjectAda and
>compiling for MS-DOS, it works as you intend.

That may be so and thanks for pointing out the TYPO (it wasn't in the original
code). I have the SunOS4.x version of GNAT, admittedly 3.10, and that too
produces a program which works as I intend but what I was asking was why
GNAT 3.07 from the EZ2LOAD release doesn't. I am providing support for the
Ada arm of a Real-Time Programming module and the students taking it _are_
familiar with PCs, MSDOS, BORLAND development environments etc. but _aren't_
with UNIX so I would like to enable them to use GNAT 3.07.

Anyone any ideas?

tony





^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: tasking under ms-dos
  1997-10-25  0:00 ` Jerry van Dijk
@ 1997-10-25  0:00   ` A J Cornah
  0 siblings, 0 replies; 9+ messages in thread
From: A J Cornah @ 1997-10-25  0:00 UTC (permalink / raw)



jerry@jvdsys.nextjk.stuyts.nl writes: 
>I am not sure why you would expect your output to be interleaved, as
>DOS does not do multi-tasking.
>

If you look at Larry Coon's answer to my original article you will see
that other Ada compilers do multitask. We have a Modula-2 compiler for MSDOS
here which also multitasks. My question really is, and I'm sorry if I didn't
make this clear, what I can do (if anything) to my EZ2LOAD installation
of GNAT 3.07 and/or the included minimal DJGPP 2.0 which will emulate
multitasking, certainly to the extent of scheduling some other process if
I issue a Delay call!!

tony





^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: tasking under ms-dos
  1997-10-24  0:00 tasking under ms-dos A J Cornah
  1997-10-24  0:00 ` Larry Coon
@ 1997-10-25  0:00 ` Jerry van Dijk
  1997-10-25  0:00   ` A J Cornah
  1 sibling, 1 reply; 9+ messages in thread
From: Jerry van Dijk @ 1997-10-25  0:00 UTC (permalink / raw)



In article <62q5np$k6p$1@bignews.shef.ac.uk> T.Cornah@shef.ac.uk writes:

>I have obtained and installed the latest ez2load which gives me GNAT 3.07
>and the documentation claims " .. It now includes tasking ... " but when I
>try even a simple program like the one below which should interleaf As and Bs
>I get all the As first then the Bs then my program freezes.

I am not sure why you would expect your output to be interleaved, as
DOS does not do multi-tasking.

Run Mike Feldmans 'diner' example that comes with GNAT to see that
tasking does actually work.

--

-- Jerry van Dijk | Leiden, Holland
-- Consultant     | Team Ada
-- Ordina Finance | jdijk@acm.org




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: tasking under ms-dos
       [not found] <none>
@ 1997-10-26  0:00 ` Jerry van Dijk
  1997-10-27  0:00   ` A J Cornah
  0 siblings, 1 reply; 9+ messages in thread
From: Jerry van Dijk @ 1997-10-26  0:00 UTC (permalink / raw)



>jerry@jvdsys.nextjk.stuyts.nl writes:

>>I am not sure why you would expect your output to be interleaved, as
>>DOS does not do multi-tasking.

>multitasking, certainly to the extent of scheduling some other process if
>I issue a Delay call!!

Aha, yes.

I absolutely agree that delay should put the task to sleep, however in the
current DOS version it does not do this, because of rather arcane interactions
with DPMI and gdb.

A next DOS version should definitively include this capability.

--

-- Jerry van Dijk | Leiden, Holland
-- Consultant     | Team Ada
-- Ordina Finance | jdijk@acm.org




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: tasking under ms-dos
  1997-10-26  0:00 ` Jerry van Dijk
@ 1997-10-27  0:00   ` A J Cornah
  1997-10-27  0:00     ` Robert Dewar
  0 siblings, 1 reply; 9+ messages in thread
From: A J Cornah @ 1997-10-27  0:00 UTC (permalink / raw)



In article <877835542.67snx@jvdsys.nextjk.stuyts.nl>, 
>>multitasking, certainly to the extent of scheduling some other process if
>>I issue a Delay call!!
>
>Aha, yes.
>
>I absolutely agree that delay should put the task to sleep, however in the
>current DOS version it does not do this, because of rather arcane 
interactions
>with DPMI and gdb.
>
>A next DOS version should definitively include this capability.

Does anyone know when such a version is planned or to whom I should 
communicate my need for such facilities?

tony





^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: tasking under ms-dos
  1997-10-27  0:00   ` A J Cornah
@ 1997-10-27  0:00     ` Robert Dewar
  0 siblings, 0 replies; 9+ messages in thread
From: Robert Dewar @ 1997-10-27  0:00 UTC (permalink / raw)



A J Cornah

asks (regarding an updated DOS port of GNAT)

<<Does anyone know when such a version is planned or to whom I should
communicate my need for such facilities?>

ACT has dropped support for DOS, and has no plans to develop a release
past the 3.07 one, which is now considered to be completely unsupported.

The only way a port will appear for later versions of GNAT is if some
volunteer will pick up the task (perfectly feasible, after all, as I have
mentioned before, the *entire* job of porting GNAT to DOS was originally
done by a volunteer, and the task of updating it is FAR simpler).





^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~1997-10-27  0:00 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-10-24  0:00 tasking under ms-dos A J Cornah
1997-10-24  0:00 ` Larry Coon
1997-10-24  0:00   ` A J Cornah
1997-10-24  0:00     ` Larry Coon
1997-10-25  0:00 ` Jerry van Dijk
1997-10-25  0:00   ` A J Cornah
     [not found] <none>
1997-10-26  0:00 ` Jerry van Dijk
1997-10-27  0:00   ` A J Cornah
1997-10-27  0:00     ` Robert Dewar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox