Re: KITTEN: IETF 75 - 76
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: KITTEN: IETF 75 - 76
On Thu, Sep 03, 2009 at 10:45:01AM -0400, Jeffrey Hutzelman wrote:
> Really, I think we have three options here:
>
> 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.
(2) is feasible. You simply provide completion callbacks and say that
they must be async-signal-safe.
> 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).
4) Assume file descriptors and one or more of poll(), select(),
/dev/poll, kevent, event ports, ...
Since (3) works today I'm very tempted to do nothing.
> (*) This means "you can't have this API unless you have threads".
> Unfortunately, it also means we're in the unenviable position of pushing
> an API which requires the use of threads but is not itself MT-safe.
The GSS-API is not inherently MT-unsafe. Its MT-safety is not defined
-- _that_ is a problem. (Should one lock around per-msg token functions
called with the same security context handle?)
Nico
--
Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.