[java-1.7.0-openjdk/f19] Added missing file abrt_friendly_hs_log_jdk7.patch

jiri vanek jvanek at fedoraproject.org
Thu Apr 4 11:28:19 UTC 2013


commit 7ed4fce5cc5d9ddce03ebad079bf34b4115e29b9
Author: Jiri Vanek <jvanek at jvanek.redhat>
Date:   Thu Apr 4 13:28:51 2013 +0200

    Added missing file abrt_friendly_hs_log_jdk7.patch

 abrt_friendly_hs_log_jdk7.patch |   35 +++++++++++++++++++++++++++++++++++
 1 files changed, 35 insertions(+), 0 deletions(-)
---
diff --git a/abrt_friendly_hs_log_jdk7.patch b/abrt_friendly_hs_log_jdk7.patch
new file mode 100644
index 0000000..6e0afa6
--- /dev/null
+++ b/abrt_friendly_hs_log_jdk7.patch
@@ -0,0 +1,35 @@
+--- openjdk/hotspot/src/share/vm/utilities/vmError.cpp	2012-02-02 16:17:24.476664897 +0100
++++ openjdk/hotspot/src/share/vm/utilities/vmError.cpp	2012-02-02 16:17:24.476664897 +0100
+@@ -929,6 +929,7 @@
+         }
+       }
+ 
++      /*
+       if (fd == -1) {
+         const char *cwd = os::get_current_directory(buffer, sizeof(buffer));
+         size_t len = strlen(cwd);
+@@ -938,6 +939,24 @@
+                      os::file_separator(), os::current_process_id());
+         fd = open(buffer, O_RDWR | O_CREAT | O_TRUNC, 0666);
+       }
++      */
++
++      if (fd == -1) {
++        const char * tmpdir = os::get_temp_directory();
++        // try temp directory if it exists.
++        if (tmpdir != NULL && tmpdir[0] != '\0') {
++          jio_snprintf(buffer, sizeof(buffer), "%s%sjvm-%u",
++                       tmpdir, os::file_separator(), os::current_process_id());
++          // if mkdir() failed, hs_err will be created in temporary directory
++          if (!mkdir(buffer, 0700)) { // only read+execute flags are needed
++                                      // but we need to write into the directory too
++            jio_snprintf(buffer, sizeof(buffer), "%s%sjvm-%u%shs_error.log",
++                           tmpdir, os::file_separator(), os::current_process_id(),
++                           os::file_separator());
++            fd = open(buffer, O_WRONLY | O_CREAT | O_TRUNC, 0444); // read-only file 
++          }
++        }
++      }
+ 
+       if (fd == -1) {
+         const char * tmpdir = os::get_temp_directory();


More information about the scm-commits mailing list