[Mono-devel-list] Re: [Mono-hackers-list] Simple patch for the runtime
lluis at ideary.com
Mon Apr 7 17:25:09 EDT 2003
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);
> 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