Waldek Hebisch <[EMAIL PROTECTED]> wrote:
> Well, I was thinking in the following way: we keep wineserver almost as
> now, only put some mutexes (semaphores) inside. We duplicate parts
> of wineserver code in the clients. We divide wineserver requests into
> two sets fast (easy) ones and slow. We modify send function in the
> client so that if request is fast one, than client enters a critical
> section (blocking wineserver!) and modifyes shared memory as needed.
You still have to do all the object maintainance yourself, plus you have no
clean-up-on-death code for certain circumstances (eg: SIGKILL).
How do you propose WaitFor*() should be implemented? Wait queues are hard to
do efficiently in userspace...
> Slow request should go usual way. The list of fast request should
> include REQ_GET_READ_FD, REQ_GET_WRITE_FD, REQ_SET_FILE_POINTER ...
> but most request should be slow.
Why? I personally want all requests to be as fast as possible, if only to
trounce Windows at its own game:->
> Simple minded implementation may use just one semaphore to serialize all
> acces to shared memory, better will be more fine grained.
Best is as fine-grained as possible (which I've tried to do).
David Howells
-
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/