[Mono-list] Intrinsicly Non-Portable?

Christian Ratliff cratliff@lily.org
Fri, 23 Nov 2001 17:09:28 -0500


 
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

  Wonderful!

  Is there any documentation on the structure of the io-layer? If I
wanted to chip in an implementation of WSAEVENT, where would I start
my reading?

christian

+-----+
Christian Ratliff <cratliff@lily.org>
lily Development Group
"This is the very perfection of man, 
  to find out his own imperfections" -  St. Augustine



- -----Original Message-----
From: Miguel de Icaza [mailto:miguel@ximian.com] 
Sent: Friday, November 23, 2001 5:00 PM
To: Christian Ratliff
Cc: mono-list@ximian.com
Subject: Re: [Mono-list] Intrinsicly Non-Portable?


>   Has anyone given any thought to how we might deal with issues
> which  are intrinsically non-portable? By way of example, allow me
> to offer  two items.

Those particular examples are part of the IO layer that the .NET
classes require, and as such Dick has implemented such a layer in
Mono that emulates precisely the Win32 IO model.

It is part of mono/mono/io-layer.

> System.Threading.WaitHandle.WaitAny()
> 	This method exposes the functionality associated with the Win32
> call:  ::WaitForMultipleObjectsEx(). This call allows a thread to 
> block against a wide variety of objects: semaphores, mutexes,
> threads,  events, and so on. If any or all of those objects move to
> the signaled  state, then the function returns. POSIX, in my
> experience, has no  analog.

This was actually the reason why Dick started the IO-layer to cope
with
this particular problem.   During the design phase, Dick had to learn
everything he wanted to know or was afraid to ask about the Win32 IO
layer and we are happy to report that this is handled just fine by
mono
;-)

>   Needless to say, the .NET Framework betrays its parentage, and I
> was  wondering how people had planned to deal with this under the
> various  Unix platforms.

It has been taken care of.  I personally really like the concept
behind WaitAny.  Its basically the file descriptor concept from Unix
taken to the next level.  It is really nice.

Share the love,
Miguel.

-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 7.0.3 for non-commercial use <http://www.pgp.com>

iQA/AwUBO/7JFbZBtyfwMNgGEQJySACg7ZoZC2Wgm0nPXHQDM2aU7oCtgRUAoKNJ
gdyS7sl6VBzt/PpBGXoK1TMA
=fcxH
-----END PGP SIGNATURE-----