From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Ada-Oriented GUI
Date: Thu, 22 Mar 2018 10:12:15 +0100
Date: 2018-03-22T10:12:15+01:00 [thread overview]
Message-ID: <p8vs1f$5aa$1@gioia.aioe.org> (raw)
In-Reply-To: aca647cb-c7e6-45e9-8085-64c76181c2c9@googlegroups.com
On 21/03/2018 23:16, Dan'l Miller wrote:
> Dmitry wrote:
>> This is not how asynchronous I/O works in
>> many cases. The I/O request is
>> queued in one thread, initiated in another,
>> processed in third, completed in fourth.
>
> (Other than message-queue-based software architectures,)
A great number of protocol stacks work this way. Almost all I/O
libraries deploy callbacks on data arrival.
Some have the design alike to GUI when you are forced to call something
like Do_IO from a thread and get a callback from within Do_IO.
But in general nothing in said or required about the contexts of any
calls and callbacks.
> please name even one async ••system call•• on any OS or OS-framework thereof that requires traversal of those 4 ••app-domain•• threads to produce results (e.g., filesystem read) asynchronously.
I don't really know what you mean.
Windows overlapped I/O queues a request from your thread. When I/O is
initiated it can traverse a number of kernel threads (e.g. Deferred
Procedure Call etc). Any number of user-space threads can wait for
associated Windows event objects or poll the overlapped I/O result.
> What you describe can be a hallmark of message-queue-based software architectures, message-queue software architectures are synonymous with async I/O.
No, it is not. Messaging means marshaling.
That is not always required or used. Some implementations do in-place
I/O by mapping user buffers into the memory if the process margin must
be crossed.
BTW, Ada's rendezvous model was designed to avoid marshaling.
Anyway, as Randy already said, it is incredibly uncomfortable to build
the whole application around GUI. The first and foremost requirement for
a decent GUI framework is to let us breath.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2018-03-22 9:12 UTC|newest]
Thread overview: 102+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-18 13:33 Ada-Oriented GUI Jeffrey R. Carter
2018-03-19 2:03 ` Dan'l Miller
2018-03-19 14:10 ` Dan'l Miller
2018-03-21 9:49 ` Alejandro R. Mosteo
2018-03-21 13:58 ` Dan'l Miller
2018-03-21 18:43 ` briot.emmanuel
2018-03-21 19:17 ` Shark8
2018-03-21 22:40 ` Randy Brukardt
2018-03-21 23:52 ` Shark8
2018-03-22 6:50 ` briot.emmanuel
2018-03-22 16:56 ` Shark8
2018-03-23 16:29 ` Shark8
2018-03-23 22:59 ` Randy Brukardt
2018-03-23 23:43 ` Mehdi Saada
2018-03-26 22:09 ` Randy Brukardt
2018-03-27 7:27 ` Dmitry A. Kazakov
2018-03-27 23:58 ` Randy Brukardt
2018-03-28 7:09 ` Dmitry A. Kazakov
2018-03-22 17:34 ` Alejandro R. Mosteo
2018-03-22 17:50 ` Dan'l Miller
2018-03-22 18:58 ` Shark8
2018-03-23 12:06 ` Alejandro R. Mosteo
2018-03-20 16:41 ` Dan'l Miller
2018-03-20 21:34 ` Randy Brukardt
2018-03-21 2:22 ` Dan'l Miller
2018-03-21 21:50 ` Randy Brukardt
2018-03-22 8:45 ` Dmitry A. Kazakov
2018-03-22 10:58 ` Bojan Bozovic
2018-03-22 11:03 ` Bojan Bozovic
2018-03-21 8:25 ` Dmitry A. Kazakov
2018-03-21 14:30 ` Dan'l Miller
2018-03-21 15:57 ` vincent.diemunsch
2018-03-21 17:33 ` Dan'l Miller
2018-03-21 16:27 ` Dmitry A. Kazakov
2018-03-21 17:04 ` Dan'l Miller
2018-03-21 17:42 ` Dmitry A. Kazakov
2018-03-21 18:19 ` Dan'l Miller
2018-03-21 19:11 ` Simon Wright
2018-03-21 19:51 ` Dan'l Miller
2018-03-21 20:11 ` Dmitry A. Kazakov
2018-03-21 20:33 ` Dan'l Miller
2018-03-21 22:16 ` Dan'l Miller
2018-03-22 9:12 ` Dmitry A. Kazakov [this message]
2018-03-22 14:57 ` Dan'l Miller
2018-03-22 15:46 ` Bojan Bozovic
2018-03-22 14:00 ` Dan'l Miller
2018-03-22 17:29 ` Alejandro R. Mosteo
2018-03-21 21:58 ` Randy Brukardt
2018-03-26 21:20 ` G. B.
2018-03-21 22:33 ` Randy Brukardt
2018-03-22 1:43 ` Dan'l Miller
2018-03-22 23:47 ` Randy Brukardt
2018-03-23 2:37 ` Dan'l Miller
2018-03-23 22:42 ` Randy Brukardt
2018-03-24 7:47 ` Simon Wright
2018-03-23 9:05 ` Jeffrey R. Carter
2018-03-23 9:48 ` Bojan Bozovic
2018-03-23 10:20 ` Alejandro R. Mosteo
2018-03-27 18:32 ` Killing software and certification (was: Ada-Oriented GUI) Alejandro R. Mosteo
2018-03-27 19:25 ` Killing software and certification Dmitry A. Kazakov
2018-03-28 13:54 ` Alejandro R. Mosteo
2018-03-28 14:23 ` Dmitry A. Kazakov
2018-03-28 17:06 ` Alejandro R. Mosteo
2018-03-28 19:35 ` Dmitry A. Kazakov
2018-03-28 15:47 ` Jeffrey R. Carter
2018-03-28 17:02 ` Dennis Lee Bieber
2018-03-28 17:59 ` Dan'l Miller
2018-03-27 19:41 ` Killing software and certification (was: Ada-Oriented GUI) Dan'l Miller
2018-03-28 0:04 ` Randy Brukardt
2018-03-28 2:27 ` Dan'l Miller
2018-03-28 13:54 ` Killing software and certification Alejandro R. Mosteo
2018-03-28 0:21 ` Killing software and certification (was: Ada-Oriented GUI) Jere
2018-03-28 13:54 ` Killing software and certification Alejandro R. Mosteo
2018-03-23 12:31 ` Ada-Oriented GUI Alejandro R. Mosteo
2018-03-23 12:59 ` Dmitry A. Kazakov
2018-03-23 16:16 ` Dan'l Miller
2018-03-23 17:18 ` Dmitry A. Kazakov
2018-03-23 18:31 ` Dan'l Miller
2018-03-23 20:06 ` Dmitry A. Kazakov
2018-03-23 20:48 ` Mehdi Saada
2018-03-23 21:18 ` Dmitry A. Kazakov
2018-03-24 11:36 ` Alejandro R. Mosteo
2018-03-24 13:12 ` Dmitry A. Kazakov
2018-03-28 14:09 ` Alejandro R. Mosteo
2018-03-28 15:02 ` Dmitry A. Kazakov
2018-03-28 18:07 ` Alejandro R. Mosteo
2018-03-29 7:58 ` Dmitry A. Kazakov
2018-04-02 22:13 ` Robert I. Eachus
2018-04-03 8:31 ` Dmitry A. Kazakov
2018-04-03 22:32 ` Robert I. Eachus
2018-04-04 7:30 ` Dmitry A. Kazakov
2018-03-25 12:57 ` Jeffrey R. Carter
2018-03-24 16:33 ` Dan'l Miller
2018-03-26 22:29 ` Randy Brukardt
2018-03-27 0:15 ` Dan'l Miller
2018-03-27 6:08 ` Dennis Lee Bieber
2018-03-27 7:52 ` Simon Wright
2018-03-27 14:48 ` Dennis Lee Bieber
2018-04-01 17:37 ` Robert I. Eachus
2018-03-25 19:19 ` Andrew Shvets
-- strict thread matches above, loose matches on Subject: below --
2018-03-23 22:48 Randy Brukardt
2018-03-24 7:51 ` Simon Wright
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox