[Mono-devel-list] Re: [Mono-hackers-list] Simple patch for the runtime

Lluis Sanchez lluis at ideary.com
Mon Apr 7 17:25:09 EDT 2003

Hi Paolo,

Thanks for your review!

> > This one is quite simple. It adds an internal method for getting a guid
> > identifies the process (needed for the CrossAppDomainChannel) and also
> > a problem when building the vtable of a transparent proxy (interface
> > should point to the new vtable entries, not the entries in the original
> > vtable).
> Do you really need a guid or is something like getpid() enough?

No, I need a guid. It must be an universal process identifier.

> If you really need the guid:
> 1) MonoString* process_guid; -> should be static


> 2) you should store the chars directly in the static var, no point
> keeping a string around just to access the chars in it and create
> another string.


> 3) I don't like much the fact that we enter unmanaged code to go back to
> managed twice anyway. The icall could be:
> ves_icall_System_AppDomain_InternalGetProcessGuid (MonoGuid *guid);
> and
> InternalGetProcessGuid (out Guid guid); in the C# side
> so you can easily invoke at least the ToString() in C# code.

Hmm, this would make things more complex, unless I can safely use one Guid
created in one domain in another domain. That's why I use an string, it is
easy to make a copy of it for each domain.

> I guess we need this stuff because we can't use a static variable
> since the variable need to be shared across appdomains?

Yes, this is the issue.


More information about the Mono-devel-list mailing list