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