]> granicus.if.org Git - pdns/commit
pipe: don't crash on exceptions
authorPieter Lexis <pieter.lexis@powerdns.com>
Mon, 23 Nov 2015 14:21:07 +0000 (15:21 +0100)
committerPieter Lexis <pieter.lexis@powerdns.com>
Wed, 23 Dec 2015 09:56:08 +0000 (10:56 +0100)
commitfd378ba9299a056923efd7c80de6cd2f3010f4f9
treede6de7ccfdca87bed1f30d8b6d5b504438f0112d
parent1220e1d6fad6e9bcbfe3e0a275c04de8d3b16e90
pipe: don't crash on exceptions

This commit cleans up the PipeBackend code so it handles all exceptions
itself. Be it initialization errors (i.e. "file not found", "command not
executable"), or error during runtime ("data not returned in pipe
format"). When these errors occur, we now recycle the coprocess so the
rest of the nameserver keeps running. This behaviour is similar to e.g.
an unavailable database server.

Also, make the error-message for ArgMap::asNum display the value of the
setting.

Closes #2619
modules/pipebackend/pipebackend.cc
modules/pipebackend/pipebackend.hh
pdns/arguments.cc