Re: C#, .Net, and Mono

[prev] [thread] [next] [lurker] [Date index for 2006/12/27]

From: jrodman
Subject: Re: C#, .Net, and Mono
Date: 16:23 on 27 Dec 2006
On Wed, Dec 27, 2006 at 10:07:04AM -0600, Peter da Silva wrote:
> > Because Mono has to implement all these "system level" semantics that
> > don't exist on unix, it has to create a sort of pseudo-system-wide layer
> > itself.  This means that all your Mono processes have to be able to talk
> > to each other.
> 
> UNIX of course has no mechanism to allow programs to talk to each other. :(

I of course meant they need to talk to each other surreptitiously,
whether you want them to or not.  Whether this is useful to your program
or not.

> > The way it does this is the first Mono prcess you launch is not really
> > your process.  It is a "handler daemon", which in turn runs your
> > process.
> 
> This is a common design in UNIX, you create a shell and run programs under
> it. 

Sure, it's an okay design when done intentionally.  But in this case,
the spawned program that is your processes's direct child might be the
program you wanted, or might be a handler daemon, depending upon whether
there was one already running.  It's a minor irritant having this be
inconsistent like this.

xmms2 requires a common daemon, so when you run xmms2cli or whatever, it
launches xmms2d if there isn't one already running.  As a child.  And
the daemon gets reparented. So it's transarent to any sort of script
that might be using xmms2cli.  Mono gets this backwards.

For example, something not _too_ strange in the land of scripting:

 my_program
 wait

There might be some need for my_program to do something stupid that
requires this instead of just "my_program".  If another mono task gets
launched (seperately) while my_program (and its spawn) are doing their
thing, ``wait'' will wait until every Mono program is done.

> I am driven to ask, though, is this actually using $HOME or is it
> calling getpwuid(getuid()) to find your home directory?

I did not mean the env variable.  I assume it uses the normal calls.
Mono is somewhat sound in terms of technology, it just has completely
stupid design.

-josh
There's stuff above here

Generated at 03:02 on 01 Jan 2007 by mariachi 0.52