[Devel] [PATCH 09/11] pthread1: Don't close stderr() before opening log
Sukadev Bhattiprolu
sukadev at linux.vnet.ibm.com
Fri Jan 29 12:43:32 PST 2010
From: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
Date: Tue, 26 Jan 2010 22:47:24 -0800
Subject: [PATCH 09/11] pthread1: Don't close stderr() before opening log
If we encounter an error while opening the log file, we write to stderr.
In which case, we need the 'stderr' to remain open at least till the log
file is open.
Signed-off-by: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
---
process-tree/pthread1.c | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/process-tree/pthread1.c b/process-tree/pthread1.c
index fa45127..d1743de 100644
--- a/process-tree/pthread1.c
+++ b/process-tree/pthread1.c
@@ -9,6 +9,10 @@
int num_threads = 5;
FILE *logfp;
+/*
+ * Use LOG_PREFIX with thread index as suffix, if each thread needs a
+ * separate log file. For now, we use a single log
+ */
#define LOG_PREFIX "logs.d/pthread1"
static void usage(char *argv[])
@@ -137,7 +141,6 @@ main(int argc, char *argv[])
pthread_t *tid_list;
char log_file[256];
- for (i=0; i<100; i++) close(i);
sprintf(log_file, "%s.log", LOG_PREFIX);
logfp = fopen(log_file, "w");
@@ -148,6 +151,13 @@ main(int argc, char *argv[])
do_exit(1);
}
+ fprintf(stderr, "Redirecting output to logfile %s\n", log_file);
+
+ for (i=0; i<100; i++) {
+ if (i != fileno(logfp))
+ close(i);
+ }
+
if (test_done()) {
printf("Remove %s before running test\n", TEST_DONE);
do_exit(1);
--
1.6.0.4
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list