Re: The revelation of St. f0dder the Divine



Beth wrote:
Frankie say:

Beth wrote:

You've shown before that you don't entirely grasp how the "priority"
scheduling scheme in Windows works, hutch...and you're doing it
again, it seems...

It's my understanding that Hutch knows perfectly well that a polling loop is a very "inconsiderate" thing to do in a multi-tasking OS. But the blocking alternative crashes on certain hardware/version combinations. (I guess there's some question if this is true or not, but that's why Hutch does it that way... I understand)

I'd require some pretty direct evidence of this to believe it...

No such evidence. I misunderstood the situation. Apparently, the "leaking handles" are the workaround for the bug. The polling loop is because... I don't know why.


Because, basically, a multi-tasking OS that doesn't do "blocking"
properly? That's not a "bug"...that's a "catastrophic error" of the
highest proportions...

Well, even in my misunderstanding, I didn't think anyone was claiming that blocking *generally* didn't work. I thought it was just this one... WaitSingleObject, or whatever they call sys_waitpid :)


But that's *not* what Hutch was saying. Apparently "deallocating the handles" caused the crash. This doesn't sound like it would be hardware-specific either, but the old deviant hardware in question was *around* the time of the "too fast" loop instruction. The solution to *that*, of course, was to slow down the loop instruction(!!!). But that patch couldn't be applied to existing hardware :) So MS apparently came out with a patch for win95 that allowed it to run. But they might have missed a spot.

A bug that only manifests itself on certain hardware/software combinations is possible. It's also possible that Hutch is mistaken about the reason for the behavior he's seeing. I doubt if he's making it up.

....
Exactly; And "sleep" is a _BLOCKING API_...the application "blocks" on
the condition of a "timer" triggering it to "wake up" again...

Yeah, but the benefit here is that it yeilds the timeslice (I assume), so we don't poll continuously for the full timeslice. Again, I don't think anyone's claiming that blocking doesn't work at all on this HW/SW.


[in the unlikely event that I both boot Windows and run Masm :)]
If the "test" were to prove "positive" that there's a problem...then I'd
immediately want to scan every line of _HUTCH'S PROGRAM_ to find the
"flaw" that _HE_ (not the OS) is making...

AFAIK, the code is available...

....
Well, nevermind, Frank...you've got Linux running there...which has the
full array of "IPC" stuff (more than Windows, which leaves out "shared
memory" and such)...

On my last old deviant install of Linux, my old deviant Netscape checked for the existance of the file ~/.netscape/lock to determine if there was an instance already running :)


....
But, indeed, actions speak louder than words...let your own machine show
you this:

Concur.asm (MASM syntax)
[snip]

Yeah... next time I boot Windows and run Masm, I'll try it :) Nice to see you posting some code!

....
...welcome to the real world! ;)

No thanks, I'm all set :)

Best,
Frank
.



Relevant Pages

  • Re: Problem reinstalling XP Pro on recently rebuilt PC
    ... He had a friend do some major hardware ... Also, couldn't download Windows ... it went into a loop. ... > background just before it goes back to initial startup screens, ...
    (microsoft.public.windowsxp.help_and_support)
  • Re: The revelation of St. f0dder the Divine
    ... Even for Microsoft, that would be an error of the highest ... for them...you CANNOT have such a "casual" attitude to concurrency on ... You simply could not get Windows to operate at all, ... how can it only effect specific hardware? ...
    (alt.lang.asm)
  • Re: Splash Screens , how could something so basic still be hard?
    ... You say that there "is no message pump to allow for further GUI ... Note that by "there is no message pump", I mean that because of the way the code is written, no message pump is working while the "splash screen" is displayed. ... In a normal Forms app, there would be a message pump loop, and there's no reason to believe that in those examples, one doesn't exist. ... The same technique is possible in Windows, ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Advertising "Linux Compatible"
    ... The OEM hardware comes with a Windows Driver. ... natively support that particular piece of hardware. ... Windows by developing drivers themselves. ...
    (alt.os.linux)
  • Re: Device Driver that uploads its own code?
    ... driver to implement an adaptive timing loop; ... respond/interact with hardware with microsecond precision. ... real-time and linear, the idea of fluctuating state and variable latency ... where the connection to Windows is largely ...
    (microsoft.public.win32.programmer.kernel)