Re: Blocking syscalls in Tasks



Probably because for Janus/Ada, pretty much everything you said about the
mapping of Ada tasks to threads is wrong.

Janus/Ada still maps all tasks to one Windows thread. That was originally
supposed to be a temporary Q&D implementation, but for a variety of reasons
it never got replaced. Most obviously: other things needed work more
urgently than the tasking, which is quite efficient. Depending on your
circumstances, it might actually be faster than a threaded implementation.
(Our ultimate goal is to have both.)

In any case, the point is that Ada doesn't say anything about the mapping of
tasks to OS threads: you simply have to ask your vendor. And, of course
blocking of system calls follows from that.

Randy.


"anon" <anon@xxxxxxxx> wrote in message
news:eBUDk.245076$102.150485@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Each and every time you speak you CUT the post down Ada!
WHY are you trying to KILL Ada! And I say nothing that is
confusing except to those who hate Ada.

An event thread is a blocked thread. See Microsoft Windows Documentation!
LEARN before speaking!

In <q7GdnQCVgLL7XkLVnZ2dnUVZ_h-dnZ2d@xxxxxxxxxxx>, tmoran@xxxxxxx writes:
Except for DOS in todays OS all Ada partitions are executed by native OS
threads.
This is confusing. An Ada partition is not at all the same as an Ada
task, and there's no guarantee that an Ada task maps 1-1 to an OS thread.

Now, in a GUI system, the RC_TASK (resource task) is blocked until a
input
device such as the mouse or keyboard actives the thread.
MS Windows tasks do not block waiting for mouse or keyboard. Windows
"event based" GUI design was based on a single thread and a polling loop.



.