On Fri, Mar 04, 2011 at 11:33:16AM +0000, Daniel P. Berrange wrote:
On Fri, Mar 04, 2011 at 06:30:56PM +0800, Daniel Veillard wrote:
>
> virLogEmergencyDumpAll() allows to dump the content of the
> debug buffer from within a signal handler. It saves to all
> log file or stderr if none is found
> * src/util/logging.h src/util/logging.c: add the new API
> and cleanup the old virLogDump code
> * src/libvirt_private.syms: exports it as a private symbol
>
> Signed-off-by: Daniel Veillard <veillard(a)redhat.com>
> ---
> src/libvirt_private.syms | 1 +
> src/util/logging.c | 87 +++++++++++++++++++++++++++------------------
> src/util/logging.h | 2 +-
> 3 files changed, 54 insertions(+), 36 deletions(-)
ACK with one small fix....
> +static void virLogDumpAllFD(const char *msg, int len) {
> + int i, found = 0;
> +
> + for (i = 0; i < virLogNbOutputs;i++) {
> + if (virLogOutputs[i].f == virLogOutputToFd) {
> + int fd = (long) virLogOutputs[i].data;
> +
> + if (fd >= 0)
> + ignore_value (safewrite(fd, msg, len));
Need to be:
if (fd >= 0) {
ignore_value (safewrite(fd, msg, len));
found = 1;
}
Oops, right :-)
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/