![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
On Thu, Sep 03, 2009 at 10:45:01AM -0400, Jeffrey Hutzelman wrote: > 1) Assume POSIX threads(*). > 2) Assume POSIX threads(*), but allow the existence of an implementation > dependent means of indicating use of some other threading model. > 3) Recognize that there is no sane way to provide an portable async API > without either a portable threading model or a portable event model, > and give up. Applications which want to call the GSS-API in an > asynchronous manner can simulate it by running the GSS-API call in > its own thread (under a platform-specific thread model). Sorry to step in here, but there's tons of example for portable async APIs. One that I just adapted Samba to is the API used in the avahi libs. You hand the avahi libs a set of callback functions like "listen on this fd for read" and so on, and you are called back by avahi when something interesting happens. This is definitely doable without the requirement for threads. It may be a complex API, but async programming never has been easy. Volker
Attachment:
signature.asc
Description: Digital signature