One step forward. Or two.

Last exam finished! Now I can concentrate on more interesting stuff than networking or security/encryption whatever. That said, I did a bit of brainstorming how the convenience frame around my tasker system should look. In essence, there isn't much to do for it. A few wrappers here, some mallocs in the beginning and the whole system runs fine. The only really special thing about this is the question of how to end running taskers and ressource managers. See, every running task has to opportunity to wait for a nother task to finish, which's also used in a special taskpool system I designed for random task scheduling. If just end all taskers, there's the possibility that there's still one left that has a full task pool and thus will wait on a task to finish that'll never be finished caused we had to shutdown the tasker to finish it. Therefore, we will have a zombie thread we can't stop at all. The only real way to resolve this is to just let all the events happen that are still in the ending tasker's query and inform the waiting the thread about the tasker beeing dead. If the task needs to take of that in a special way, he can know when. If not, any scheduling and waiting will be ignored nontheless and the tasker will end itself properly. Do this for all tasks after their taskers have finished as well as the ressource managers and we solved our little problem. I couldn't find any better solution - this is the most clean, most responseful one. All in all the possiblity I do now have unfold more and more and I wonder how much it I'll actually use etc. It's very flexible and I'm glad I "wasted my time" with it for the last months. Furthermore, this one makes a formidable bachelor project, though I wonder how much of it should of it should be revealed as finished to avoid delicate situations involving our bachelor project rule sets. Whatever. Nobody told me to have done a "bit" of it before officially starting. Also, if I can't find any prof signing my exposé, I'll simply take the game engine itself as the expose or rather the graphical work behind. Whatever it'll be, I do have some great tech to realize it. Hooray!

No comments: