> This is not correct. Any users of these functions that wish to inspect
> the return values can certainly do so, and there are places in the
> source tree that do so already.

The specified four functions will always return zero if the macro 
"DO_THREAD_CRASH" results in a program abort (core dump) after an error code 
was received from a Pthread function. => No return value need to be checked at 
those call sites.

There are other places (e. g. agent_read, agent_sendtext, odbc_log, 
odbc_unload_module or ast_replace_sigchld) where error checking was 
intentionally omitted so far.

I suggest to consider the different design choices that are activated by the 
symbol "DEBUG_THREADS".


> Instead of just posting bugs and questions about things that might
> possibly be relevant, it might be more appropriate for you to find
> specific examples of things that you think are wrong/incorrect and ask
> for opinions or assistance on those examples.

Well, I'll try another wording.

An useless and dangerous option is provided by the preprocessor symbol 
"THREAD_CRASH" in the current file "lock.h" for test purposes.
If this or the symbol "DEBUG_THREADS" are not defined, no abort will be 
performed in the error case. But such return values will be ignored by a couple 
of function calls. It will not be noticed that something unexpected happened if 
error codes will not be checked.

I propose to use abnormal program termination consistently.
Can you see the relevance now?
Does my alternative description show the opportunities for the requested 
corrections?

Regards,
Markus
_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to