lkml.org 
[lkml]   [1999]   [Sep]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectPOSIX aio vs completion ports


Alan Cox wrote:
> POSIX real time signal queues are effectively completion ports.

You must not have understood the post you were replying to. POSIX real
time signal queues are inferior to completion ports in many ways.

* As far as I know, there is no way to allocate a POSIX real time signal
number in a thread safe manner. There is no equivalent to the socket()
system call--one must just pick a number and hope that no other thread
in the same process just picked the same number.

* Chuck Lever informs me that the signal queue might overflow, leading
to lost completion notifications. There is no reasonable way for an
application to recover from such a condition.

* POSIX aio lacks a mechanism to request read polls. With completion
ports, one may request an asynchronous read of 0 bytes--the completion
is delivered when there is data to be read. Implementations of POSIX
aio cause an aio_read() of 0 bytes to complete immediately, a useless
semantic.

* POSIX aio lacks asynchronous versions of writev() and sendfile().
(Though the lack of an aio_writev() is made less important by TCP_CORK.)[unhandled content-type:application/x-pkcs7-signature]
\
 
 \ /
  Last update: 2005-03-22 13:53    [W:0.148 / U:0.692 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site