summaryrefslogtreecommitdiff
path: root/main/db.c
diff options
context:
space:
mode:
authorMatt Jordan <mjordan@digium.com>2015-12-13 13:13:55 -0600
committerMatt Jordan <mjordan@digium.com>2015-12-13 13:26:29 -0600
commit9a96a86e2d95645f05b160d2efc942c1a3c129d2 (patch)
treef0db0feb896228e5a63e8622b30bfde4307418b9 /main/db.c
parentceebdfce40d278d17ecfb82afdffc41a8cc1cc94 (diff)
main/utils: Don't emit an ERROR message if the read end of a pipe closes
An ERROR or WARNING message should generally indicate that something has gone wrong in Asterisk. In the case of writing to a file descriptor, Asterisk is not in control of when the far end closes its reading on a file descriptor. If the far end does close the file descriptor in an unclean fashion, this isn't a bug or error in Asterisk, particularly when the situation can be gracefully handled in Asterisk. Currently, when this happens, a user would see the following somewhat cryptic ERROR message: "utils.c: write() returned error: Broken pipe" There's a few problems with this: (1) It doesn't provide any context, other than 'something broke a pipe' (2) As noted, it isn't actually an error in Asterisk (3) It can get rather spammy if the thing breaking the pipe occurs often, such as a FastAGI server (4) Spammy ERROR messages make Asterisk appear to be having issues, or can even mask legitimate issues This patch changes ast_carefulwrite to only log an ERROR if we actually had one that was reasonably under our control. For debugging purposes, we still emit a debug message if we detect that the far side has stopped reading. Change-Id: Ia503bb1efcec685fa6f3017bedf98061f8e1b566
Diffstat (limited to 'main/db.c')
0 files changed, 0 insertions, 0 deletions