> > > 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.

I was being sarcastic.

> > > The way it does this is the first Mono prcess you launch is not really
> 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.

That's just stupid.

It's no harder to write:

        if((pid=fork()) != -1 && pid == 0) { spawn_handler_daemon(); }

Than to write:

        if((pid=fork()) != -1 && pid != 0) { spawn_handler_daemon(); }

At this point I generally go charging in and start sending in code patches
but frankly Mono sounds like something that needs all the hindrance it
can get.

> > 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.

The env variable *is* the normal call. Only programs sitting at a trust
boundary and replicating the environment from scratch to prevent security
vulnerabilities should be using getpwuid(getuid()).

This would incidentally give you a back door solution to some of the
problems.

> Mono is somewhat sound in terms of technology, it just has completely
> stupid design.

I can't parse that sentence. Each part of it makes sense individually, but
put together the result is noise. What do you mean by a completely stupid
design being sound?

Reply via email to