[Mono-dev] Re: _wapi_handle_update_refs

Jonathan Pryor jonpryor at vt.edu
Fri Mar 24 18:41:34 EST 2006


On Fri, 2006-03-24 at 16:02 +0100, Jakub Cermak wrote:
> And a stupid (maybe) question?
> What is wapi?

Windows API.

For portability reasons, Mono uses Win32 APIs for I/O and related
operations (semaphores, process creation, etc).  You can find the Unix
versions of these Win32 APIs in mono/mono/io-layer.

So on Windows, Mono directly uses Win32, while on Unix Mono uses Win32
APIs implemented in the io-layer.

This was necessary because many of the System.IO, etc. APIs have
"Win32-isms" which prevent direct Unix implementation.

Part of the wapi implementation is per-user shared-data.  This holds
process IDs of mono processes, file share information (so opening a file
opened for exclusive read can be denied), and other assorted
information.

Deleting this shared data can have bad effects on mono applications. :-)

 - Jon





More information about the Mono-devel-list mailing list