> writer might be OK, but AFAICS there is nothing of that sort in the
> tree. We have such spinlocks, but I don't see how to apply that idea to
> semaphores. Besides, it ought to be small - every struct file will have to
> contain such beast.

It would mean a check when putting a file handle, which would be unpleasant
if not handled very carefully.

How about doing this in fput ?

        if(IS_REVOKED(file) && file->f_ops != &revoked_ops)
        {
                file->f_ops = &revoked_ops;
                wake_up(&fop_wait);
        }

that would mean that the ops change is done by the code paths that care about
the handle at the point it becomes unused. We could use a poll_table like
setup to handle the multi-fd wait if need be

How we make sure drivers return out of wait for event loops would need a bit
of thought but I think thats an unrelated problem.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to