Alex Ionescu wrote:
Joseph Galbraith wrote:
The changes in RtlpCreateCriticalSEctionSem() are because the InterlockCompareExchangePointer() should already have written the new event into the data structure.
Yeah, you're right, it was a bit useless since the call already sets the new event if sucesful. We still have to compare with the old event though, not with 0.
Well, if the exchange worked, the old value was 0; if the exchange didn't work, then it was something other than 0.
So, if we get 0 back from InterlockCompareExhcnagePointer(), then we know the exchange took place, and we had no previous handle. Otherwise, we know the exchange didn't take place, and we must clean up our handle.
(I think anyway.)
Maybe on day I'll manage to get my build environment setup again.
Are you on win32? Do you need any help setting it up?
Well, yes, win32. I've been setup before, but I haven't kept up with the tool chain.
Do we still need the djcc stuff for building freeloader?
What would be really cool was an MSI that would get me a complete 'ReactoOS' build environment in one simple step. Maybe I'll look into it.
Actually, best would be the VC++ build system :-)
Thanks,
- Joseph