Enhance error handling in client-server programs to drive-off of LOC() machinery.
Opened this issue · 0 comments
gapisback commented
The core error handling in the client-server programs inherited from Michael Kerrisk's sample client-server program site have a consistent interface for reporting errors which is quite amenable to be extended to use LOC() encoding.
In error_functions.c
we have functions defined as:
88 void
89 errMsg(const char *format, ...)
106 void
107 errExit(const char *format, ...)
There could be multiple callers to such error functions, like in svmsg_file_client.c
:
60 if (msgctl(clientId, IPC_RMID, NULL) == -1) {
61 errExit("msgctl clientId");
91 if (serverId == -1) {
92 errExit("msgget - server message queue");
96 if (clientId == -1) {
97 errExit("msgget - client message queue");
This is a very natural use-case where we can drop-in one of LOC() or LOC-ELF() encoding schemes behind the scenes of these function calls.
Implement this integration so it can be demo'ed as a real-life use-case for LOC techniques.