Todo This Week
- Fix things
Completed This Week
- Several things have been fixed
Todo Next Week
- Fix the rest of the things
Lots of debugging and testing this week. I found why debugging had been so frustrating:
// Lose connection to caller if (fork() > 0 && !debug_mode) <-- BUG exit(0);
There was supposed to be a debug mode which did not trigger the fork. A simple bug caused it to do the exact opposite and fork but skip the exit. Thus creating two processes performing the exact same actions. This explains the bug I mentioned last week where it appeared known data was being forgotten. Instead we were seeing output from the second process which had stolen some data from the usb device. Since neither process had the complete dataset both started staling.
With the phantom bug gone the remaining code is acting more logical. I have found it much easier to think about the program now that it does the things the code says it will. Now I can trace a set of request & responses and see when data is being mangled or dropped then review the codepath and find the cause.
The two week deadline I set last week is feeling achievable now.