In this final week, I tried to do as much as possible to get my driver to some sort of usable state for simple network C programs.
Here is my final blog post in terms of GSoC, but definitely not the last one in terms of contribution to ReactOS. I’ll try to share conclusion of my work done during this summer.
I said in my last update that I was aware GSoC was coming to an end, but in truth I don't think I realized just how close the end was coming. I need to be completely finished in much less than a week from now!
Near the middle of the week, I was mostly finished with the code to create a new file record in memory. This progressed quickly, thanks to the time I put into diagnostic output and researching the file records that Windows creates. Here's a screenshot I took in the middle of the process:
In week 10, I had completed a major rewrite of my driver. In week 11, I dove into the problem of lwIP not being thread-safe once again. While I was able to deal with most of the individual bugs that kept popping up, each one was taking me more time to solve due to the haphazard nature of my previous fixes. At the beginning of last week, it was quickly becoming more apparent that I would need to rework most of my code once again if I wanted to have any hope of circumventing the multithreeading issue once and for all.
Probably one of the funniest moments while developing is when you realize that something that "looks easy" is not as straight forward as it seemed at first sight.
The task was "really easy": Just creating a console app which (1)loops infinitely, (2)doing some tasks and (3) which breaks when the user decides to stop it (4)printing some valuable info before exiting.