gpProtectedMain() is in
classlib/trunk/modules/luni/src/main/native/launcher/shared/main.c
signalProtectedMain() is in
classlib/trunk/modules/luni/src/main/native/launcher/shared/cmain.c
Incidentally, I am noticing that portlib gets initialized with a default
copy of
MasterPortLibraryTable from portpriv.h. This could be causing all kinds of
undefined behavior.
I think shortly after hyport_create_library() is called, we should re-write
the functions to point into DRLVM thread manager. Andrey Chernyshev -- what
do you think?
On 9/26/06, Leo Li <[EMAIL PROTECTED]> wrote:
Hi, Weldon:
Which file includes signalProtectMain() or gpProtectedMain ? :)
On 9/25/06, Weldon Washburn <[EMAIL PROTECTED]> wrote:
>
> It looks like hysignal.c is using the right monitor enter/exit(). That
> is,
> the one
> from drlvm/trunk/build/win_ia32_msvc_debug/deploy/jre/bin/hythr.dll
>
> However, a bunch of functions in classlib's hysignal.c have an incoming
> argument of "HyPortLibrary *portlib". The portlib variable can either
> point
> to the original classlib portlib C struct. Or it can point to PORTLIB
> which
> is a C struct with all the entries nulled out (more on this later.)
>
> I think the next question to ask is what hysignal.c does with
> the "HyPortLibrary *portlib" argument. If anyone knows, please tell us.
> Otherwise I will keep digging.
>
> From stepping through DRLVM bootup, it looks like classlib's portlib is
> _dropped_ in signalProtectMain(). Then launcher gpProtectedMain calls
> invocation(PORTLIB,...) where PORTLIB is a nulled out HyPortLibrary C
> struct. We need to put comments in the code describing the switch from
> classlib's portlib to drlvm's nulled out version.
>
> On 9/22/06, Weldon Washburn <[EMAIL PROTECTED]> wrote:
> >
> > All,
> > Its not clear at this moment what threading implementation is being
> > executed when hysignal.c calls hythread_monitor_enter(). If someone
> > already knows, please tell us. Otherwise, I will step through it
with
> the
> > debugger to find out what is going on.
> > - Weldon
> >
> > --
> > Weldon Washburn
> > Intel Middleware Products Division
> >
>
>
>
> --
> Weldon Washburn
> Intel Middleware Products Division
>
>
--
Leo Li
China Software Development Lab, IBM
--
Weldon Washburn
Intel Middleware Products Division