[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r18474 - gnunet/src/util
From: |
gnunet |
Subject: |
[GNUnet-SVN] r18474 - gnunet/src/util |
Date: |
Tue, 6 Dec 2011 19:06:13 +0100 |
Author: grothoff
Date: 2011-12-06 19:06:13 +0100 (Tue, 06 Dec 2011)
New Revision: 18474
Modified:
gnunet/src/util/common_logging.c
Log:
LRN: Ensure that GTK can then do the internal call write(2, message, strlen
(message)); successfully by default.
Modified: gnunet/src/util/common_logging.c
===================================================================
--- gnunet/src/util/common_logging.c 2011-12-06 17:58:40 UTC (rev 18473)
+++ gnunet/src/util/common_logging.c 2011-12-06 18:06:13 UTC (rev 18474)
@@ -546,6 +546,7 @@
int dirwarn;
char *fn;
const char *env_logfile = NULL;
+ int altlog_fd;
min_level = get_type (loglevel);
#if !defined(GNUNET_CULL_LOGGING)
@@ -569,9 +570,34 @@
if (NULL == fn)
return GNUNET_SYSERR;
dirwarn = (GNUNET_OK != GNUNET_DISK_directory_create_for_file (fn));
- altlog = FOPEN (fn, "a");
- if (altlog == NULL)
+ altlog_fd = OPEN (fn, O_APPEND |
+#if WINDOWS
+ O_BINARY |
+#endif
+ O_WRONLY);
+ if (altlog_fd != -1)
{
+ int dup_return;
+ if (GNUNET_stderr != NULL)
+ fclose (GNUNET_stderr);
+ dup_return = dup2 (altlog_fd, 2);
+ close (altlog_fd);
+ if (dup_return != -1)
+ {
+ altlog = fdopen (2, "ab");
+ if (altlog == NULL)
+ {
+ close (2);
+ altlog_fd = -1;
+ }
+ }
+ else
+ {
+ altlog_fd = -1;
+ }
+ }
+ if (altlog_fd == -1)
+ {
GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "fopen", fn);
if (dirwarn)
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
@@ -581,8 +607,6 @@
return GNUNET_SYSERR;
}
GNUNET_free (fn);
- if (GNUNET_stderr != NULL)
- fclose (GNUNET_stderr);
GNUNET_stderr = altlog;
return GNUNET_OK;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r18474 - gnunet/src/util,
gnunet <=