Speeding up wineserver syncronization objects with shared memory

David Howells dhowells at cambridge.redhat.com
Tue Apr 3 02:46:22 CDT 2001


Okay, I've thought about how to make the wine kernel module easier to use for
Wine, and I've started adding another API to it - one that interprets Wine
server messages. When I designed the module initially, I decided to make it
possible to add as many API's as I liked, so in theory it's not too difficult.

I'm currently performing a major rearrangement of the files that comprise the
module:

	* Splitting the current win32 API bits out of the same files that
	  contain the actual object class implementations.

	* Putting the core and the API's in separate subdirectories.

	* Abstracting name support, so that the internal API takes an "object
	  name" which the user API is responsible for extracting from
	  userspace and converting from WCS/MBS as necessary.

	* Fixing introduced bugs.

This does not mean that I'm getting rid of the Win32 API I've already got! It
will just be optional.

Calling the new API will be by means of either:

	union generic_request msg;
	syscall(__NR_win32,WINESERVER_WINE_SERVER_MESSAGE,&msg);

Or:

	union generic_request msg;
	int fd = open("/proc/wineserver");
	struct WineserverIoctl wioc = { WINESERVER_WINE_SERVER_MESSAGE, &msg };
	ioctl(fd,WINESERVER_IOCTL,&wioc);

David




More information about the wine-devel mailing list