summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-07-05 20:53:22 +0200
committerRobin Gareus <robin@gareus.org>2014-07-05 20:53:22 +0200
commitc9b0f0fcb7626de7afef2f3fca1b0c1dbd01bd5b (patch)
tree077715ccc2f8a486bb04868a02eee0591949a8ba
parent63d81d2419e08b357af2e9d94d077eb1556a72a6 (diff)
debug info to trace down "cannot rename temp session file" errors
..but actually, the real error may be concurrent calls to Session::save_state()
-rw-r--r--libs/pbd/xml++.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/libs/pbd/xml++.cc b/libs/pbd/xml++.cc
index 69187995a1..5fb777bdc7 100644
--- a/libs/pbd/xml++.cc
+++ b/libs/pbd/xml++.cc
@@ -155,6 +155,20 @@ XMLTree::write() const
xmlSetDocCompressMode(doc, _compression);
writenode(doc, _root, doc->children, 1);
result = xmlSaveFormatFileEnc(_filename.c_str(), doc, "UTF-8", 1);
+#ifndef NDEBUG
+ if (result == -1) {
+ xmlErrorPtr xerr = xmlGetLastError ();
+ if (!xerr) {
+ std::cerr << "unknown XML error during xmlSaveFormatFileEnc()." << std::endl;
+ } else {
+ std::cerr << "xmlSaveFormatFileEnc: error"
+ << " domain: " << xerr->domain
+ << " code: " << xerr->code
+ << " msg: " << xerr->message
+ << std::endl;
+ }
+ }
+#endif
xmlFreeDoc(doc);
if (result == -1) {