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/

Reply via email to