Liblor / advanced_operating_systems_2020

Advanced Operating System Course at ETHZ
MIT License
19 stars 4 forks source link

improve error handling for errors in lmp server callback #84

Closed abertschi closed 4 years ago

abertschi commented 4 years ago

https://github.com/Liblor/advanced_operating_systems_2020/blob/8854ff7cc1ac99a3432e52c18fa683b3ceb4d3c9/usr/init/memoryserver.c#L70-L80

Nothing is done with these returned errors. @leopoldsedev you wrote this. We should print these errors or even better provide a function to notify the server implementation that there was an error in the callback. As the callback cannot return something.

eikendev commented 4 years ago

I think it would be an improvement to print the errors, but originally I've not added any functionality to notify the server of errors, because I could not think about anything the server could do about it. So, what do you suggest should a server respond to such notification? In case we can "properly" handle the errors, I'm fine with adding the required functionality for this.

abertschi commented 4 years ago

I agree there is no straightforward thing to do on an error, apart from printing the error. If the server does not respond with a message and the client is excepting a response, the client waits forever. We currently do not have a timer interrupt feature on the client side to abort the waiting for a response. It is unclear if the server is still capable to reply with a error message if something fails, but this would be a generic thing to do in case there is an error in the callback. 🤔