]> granicus.if.org Git - gc/commitdiff
Add API function to set/modify GC log file descriptor (Unix)
authorIvan Maidanski <ivmai@mail.ru>
Sun, 22 Dec 2013 16:42:50 +0000 (20:42 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Sun, 22 Dec 2013 16:42:50 +0000 (20:42 +0400)
* include/gc.h (GC_set_log_fd): New API function declaration.
* misc.c (GC_set_log_fd): New function definition (except for OS/2,
MacOS, Win32/CE and Android).

include/gc.h
misc.c

index 5a793395aecde5f5e06f4ce1385d4b8784b03a0d..ff8ff3293093a1bef18d42b12450517fea316d27 100644 (file)
@@ -1162,6 +1162,9 @@ GC_API GC_warn_proc GC_CALL GC_get_warn_proc(void);
 /* to suppress all warnings (unless statistics printing is turned on).  */
 GC_API void GC_CALLBACK GC_ignore_warn_proc(char *, GC_word);
 
+/* Change file descriptor of GC log.  Unavailable on some targets.      */
+GC_API void GC_CALL GC_set_log_fd(int);
+
 /* abort_func is invoked on GC fatal aborts (just before OS-dependent   */
 /* abort or exit(1) is called).  Must be non-NULL.  The default one     */
 /* outputs msg to stderr provided msg is non-NULL.  msg is NULL if      */
diff --git a/misc.c b/misc.c
index 57307c1aa7355387a533d7436fc617eddd85a3dd..620f686cfbb25309d8ef750bb8e7b9f18e7536a7 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -786,6 +786,11 @@ GC_INNER GC_bool GC_is_initialized = FALSE;
   STATIC int GC_stdout = GC_DEFAULT_STDOUT_FD;
   STATIC int GC_stderr = GC_DEFAULT_STDERR_FD;
   STATIC int GC_log = GC_DEFAULT_STDERR_FD;
+
+  GC_API void GC_CALL GC_set_log_fd(int fd)
+  {
+    GC_log = fd;
+  }
 #endif
 
 STATIC word GC_parse_mem_size_arg(const char *str)