alarm() on PC/MSoft (long)
Michael Gesundheit
mikeg at rocketmail.com
Tue Nov 4 17:50:37 PST 1997
---"John D. Gwinner" <gwinner at northnet.org> wrote:
>
>
> > > I need some second opinion from the win32
experts out
> > > there about my ideas about how to implement
SIGALRM
> > > like functionality.
> > >
> > > 1. Kaffe will run as a thread in a process were
a twin
> > > thread will coexist, in win32 domain, for the
> > > purpose of waking up every slotTime time and
do
> > > the context switch between threads. From the
kaffe
> > > thread this is completly async.
> >
> > Quite aside any great expertise on my part, it
seems
> > better to use solution 1 instead of solution 2.
> >
> > Kafe VM should be a single process under Win32.
> >
> > If you launch some sample Java app with Sun's VM,
> > then use Process Viewer application, you will see
that
> > only one new process is created - JAVA.EXE.
>
> Under Win32 process != thread ... (just a reminder
for the list) Threads
> are much lighter weight than a process. Each
process has it's own address
> space and VM, so it's hard to send things between
processes unless you use
> the proper Win32 access mechanisms.
>
> So I'd tend to think 1 would be better anyway.
>
> It would be very nice if the threads could be
replaces with Win32 threads,
> but this may be more work than is necessary.
>
> Or -- you could use the winmm timers (no Winloop
needed) or even (gasp)
> the VSync (vertical retrace) but if it can be
fitted in there, a message
> loop would be nice, as you could handle some events
(like a shut down, or
> graphics) a bit better, I think.
>
> How does the 'wakeup' work? You can implement this
nicely with a timer
> thread and a semaphore.
No, I mean virtual wakeup. The timer thread will issue
a SetTimer() and then wait for the timeout message.
When message arrives the code calls alarmException,
then rearm itself and then go to sleep waiting for the
next timeout message.
--Michael
_____________________________________________________________________
Sent by RocketMail. Get your free e-mail at http://www.rocketmail.com
More information about the kaffe
mailing list