Order of the Butterfly
Posts: 408 from 2004/7/15
From: Russia, Moscow
Fixing resolver starts taking long, sorry for that. Just want to tell that the progress is there. Yesterday i cleaned up several small claimed things (CLI tools say nothing when started without kernel running, now report about it), finished with cleaning up WaitSelect() code so as it doesn't leave dangling signals any more, installed DNS server on my Win95 box and started last remote tests. Imagine how upset i was when saw that even pinging remote host hangs.

With localhost everything worked fine.
I began to investigate the issue, found one signal loss, fixed it, things went a bit better, now i could BREAK remote ping but still couldn't get any reply from the remote machine. Kernel hang up after this and was unable to quit. I panicked a bit, this totally prevented me from any following success.
Today at work i investigated the code one more time and compared with original AROSTCP. Good news: i think i found it.

There is one more sleep function i didn't notice before, i didn't touch it and it relies on broken timer behaviour. I really hope this is the right place (90% of probability in fact because my fix in fact is simple - just reordered BeginIO() and AbortIO() into a proper sequence).
Hmmm... Seems like this thread turns into blog... Well...
Anyway, v0.4 will be stable. The more time i spend on it the better it will be. I also expect to bump bsdsocket.library version to 4 on saturday and rebiuld usergroup.library (i re-decided to port existing code, credential.resource is not so bad idea as it looks at a glance, it is anyway required as a global storage area since the library itself can be expunged from the memory at any moment). So hold on, v0.4 is expected to be a major upgrade. Probably it will even fit into Genesis environment as a kernel replacement, so you'll be able to start using it in everyday work!
iPod, iBook, iMac,... iRobot?