Ryan Cumming bodnar42@bodnar42.dhs.org writes:
What about having the file descriptor cache explictly invaildated? Like, the server keeps track of which file descriptors the various wine processes have cached, and if a process closes or performs some locking operation on a file descriptor, all the other wine proceses that are using that file descriptor are explictly notified. This way processes can assume a file descriptor is valid unless told otherwise... would this be any better performance-wise? Does it fit in to the wineserver architecture nicely? ;)
Not really; you'd either need to callback into the client, which creates a lot of synchronisation issues, or use a shared memory area which implies locking. Either way doesn't really fit in the current model. And as mentioned already we'll probably still need a server call on each file access to implement file locking.