A little more info here. It appears that DDX is getting set to 0 on
systems where it is not used, but then the check for #if defined(DDX)
succeeds. It is defined just not to 1. The #define DDX 0 should not
be set.
I'll comment more as I progress.
David
Whoops,
Spoke to soon. I have now located the problem. It is the fact that
we are creating a main loop for the executive that is a CPU hog. The
ExMainLoopMaster is basically waiting for things to be put on the
queue to be done, but all the queues are checked by basically
calling checking functions over and over within an infinite loop.
So how to fix this? After some experience with the Win32 api's this
last week, I could propose that we set up some kind of messaging so
that the kernel blocks the process until something needs to be done,
but I want to hear other opinions on this subject. Any other ideas?
How about on other UN*X platforms?
David
I've located a problem where when the exec issues a select()
blocking for input for a socket and the select eats 100% of the
CPU. Has any of the other windows programmers seen anything like
this before? Without rewriting the code down to native, any ideas
how to fix this?
David
--
--
.............................................................................
David L. Thompson The University of Montana
mailto:[EMAIL PROTECTED] Computer Science Department
http://www.cs.umt.edu/u/dthompsn Missoula, MT 59812
Work Phone : (406)257-8530
--
.............................................................................
David L. Thompson The University of Montana
mailto:[EMAIL PROTECTED] Computer Science Department
http://www.cs.umt.edu/u/dthompsn Missoula, MT 59812
Work Phone : (406)257-8530