threads and VMS [Re: dce/rpc "client" api]

Luke Kenneth Casson Leighton lkcl at
Thu Aug 24 05:34:00 GMT 2000

On Thu, 24 Aug 2000, John E. Malmberg wrote:

> From: "Luke Kenneth Casson Leighton" <lkcl at>
> > john, could you describe the semantics of the VMS "IO Queue" kernel-level
> > API, if you are aware of it?
> The documentation is online at
> The filesystem stuff is in a different manual nearby.
> It is not a kernel-level API though, it is fully available and supported for
> use by user programs.

> It essentially is that for I/O call, including filesystem access, you have
> the option of instead of waiting for the I/O to complete, you pass the
> address of a routine that is executed when the I/O completes.  The I/O
> itself is placed on a queue for the device.

> This completion routine interrupts the execution of the main-line code, and
> blocks or can be blocked by other completion routines, so you have to be
> careful in coding it.  These are known as ASTs.  I remembering that as being
> called an Asynchronous System Trap.

okay.... slightly different from what i was expecting / was described to

is there anything that has the properties as follows:

- create a queue that threads or processes can access.

- data can be added atomically to the back of the queue by any process or

- data can be read atomically from the front of the queue by any process
or thread.

[shared memory being the most optimal way to implement this type of
structure, under unix].

More information about the samba-technical mailing list