Richard wrote:
What's the point?
Fix it.
No offense, but it will never get finished.
Most probably not. One man cannot do this alone.
What purpose does this serve?
Fix a myriad of win32k bugs.
What bugs are you attempting to fix?
Too many to list, but perhaps related to timers, queues, user mode heap,
etc.
Why not fix them directly and not even attempt a
rewrite?
I think he is trying to fix them directly. The thing with win32k is that
if you fix A, BCD will break. You will fix B, only to see E and F break,
and attempting to fix E and C in the same time will make a conflict,
causing G not to function. G will have to be reimplemented from scratch,
and finally E and F will work again. However, to get C going, H, I, J
need to be rewritten. After doing so, your A fix does not work anymore,
because it depended on the old broken code. Fixing A fixes the trick,
but B has broken as well now, since it depended on A. You finally manage
to fix A and D, but your H, I, J rewrite causes K, L and Z to be
incompatible with the kernel. After yet another round of rewriting their
implementations, you notice that you've rewritten half the thing and the
two halves look like shit. You proceed in rewriting M-X.
Richard
Best regards,
Alex Ionescu