comp.lang.ada
 help / color / mirror / Atom feed
From: Maciej Sobczak <see.my.homepage@gmail.com>
Subject: Blocking I/O and Ravenscar
Date: Fri, 21 Sep 2007 14:08:10 -0700
Date: 2007-09-21T14:08:10-07:00	[thread overview]
Message-ID: <1190408890.068176.182160@n39g2000hsh.googlegroups.com> (raw)

Basically, Ravenscar forbids any blocking operations except waiting on
a protected entry or a suspension object.

How can I perform a blocking I/O without breaking this restriction?

Let's say I would like to read a byte from a socket.
An entry with the simple barrier Is_Ready can do the job in terms of
the interface, but implementation-wise it only pushes the problem away
- who will set the Is_Ready flag after the byte is actually read from
the blocking physical device and put in the buffer? A separate task?
It would need to be non-Ravenscar - there seems to be a chicken&egg
problem here.

--
Maciej Sobczak
http://www.msobczak.com/




             reply	other threads:[~2007-09-21 21:08 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-21 21:08 Maciej Sobczak [this message]
2007-09-22  4:31 ` Blocking I/O and Ravenscar Jeffrey R. Carter
2007-09-22 21:17   ` Maciej Sobczak
2007-09-23 18:03     ` Surfer
2007-09-23 19:58       ` Surfer
2007-09-23 20:43       ` Maciej Sobczak
2007-09-24  9:03       ` Ole-Hjalmar Kristensen
2007-09-24 13:59         ` Surfer
replies disabled

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