Improve the way we currently log assertions and malfunctions in mod_dav_svn.
Improve the way we currently log assertions and malfunctions in mod_dav_svn.

Prior to this changeset we were delegating this to the default malfunction
handler, svn_error_abort_on_malfunction().  If a malfunction happens, this
handler outputs the information about it to STDERR.  Apache usually replaces
STDERR with what the ErrorLog directive points to, but there are a couple
of caveats:

- First of all, doing so bypasses existing error log hooks installed via
  ap_hook_error_log().  There might be existing installations that happen to
  use custom error log hooks as an addition to the main error log or even as
  a complete replacement for it — think ErrorLog /dev/null, but with a custom
  logging module doing all the work.  In the latter case, the information
  about the malfunction would be completely lost.

- Secondly, the error message contains an unnecessary "svn:" prefix, and this
  is inconsistent with other Subversion errors that can appear in the Apache
  error log.

Avoid them by installing a custom malfunction handler.  Related discussion
can be found in http://svn.haxx.se/dev/archive-2015-02/0268.shtml
(Subject: "Handling assertions and malfunctions in mod_dav_svn")

* subversion/mod_dav_svn/mod_dav_svn.c
  (malfunction_handler): New function that logs the malfunction details with
   ap_log_error() and aborts the current process.
  (init_dso): Install new malfunction_handler in this APR_HOOK_REALLY_FIRST
   pre_config hook.


git-svn-id: f8a4e5e023278da1e04e203c7fe051e3c4285d88@1660480 13f79535-47bb-0310-9956-ffa450edef68

YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion