Subject: Re: [take19 0/4] kevent: Generic event handling mechanism.

From: Ulrich Drepper <[email-masked]>
Date: Wed, 04 Oct 2006 10:20:44 -0700

Evgeniy Polyakov wrote:
> It is completely possible to do what you describe without special
> syscall parameters.

First of all, I don't see how this is efficiently possible.  The mask
might change from call to call.

Second, hasn't it sunk in that inventing new ways to pass parameters is
bad?  Programmers don't want to learn new ways for every new interface.
 Reuse is good!

This applies to the signal mask here.

But there is another parameter falling into that category and I meant to
mention it before: the timeout value.  All other calls except poll and
especially all modern interfaces use a timespec pointer.  This is the
way times are kept in userland code.  Don't try to force people to do
something else.

Using a timespec also has the advantage that we can add an absolute
timeout value mode (optional) instead of the relative timeout value.

In this context, we should/must be able to specify which clock the
timeout is for (not as part of the wait call, but another control
operation perhaps).  It's important to distinguish between
CLOCK_REALTIME and CLOCK_MONOTONE.  Both have their use.

-- 
➧ Ulrich Drepper ➧ Red Hat, Inc. ➧ 444 Castro St ➧ Mountain View, CA ❖