aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2014-04-29 13:54:19 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2014-04-29 13:54:19 +0000
commit230d2f793b0b8cd6ae94015d545c84cecf80583a (patch)
tree0845d0b5d3825044d53c08e50118117b59a82ad7 /src
parent78991b0944fc0bf27fb66be0b84df0d00b06f334 (diff)
downloadgnunet-230d2f793b0b8cd6ae94015d545c84cecf80583a.tar.gz
gnunet-230d2f793b0b8cd6ae94015d545c84cecf80583a.zip
support for log data directory
Diffstat (limited to 'src')
-rw-r--r--src/ats/gnunet-ats-solver-eval.c31
1 files changed, 26 insertions, 5 deletions
diff --git a/src/ats/gnunet-ats-solver-eval.c b/src/ats/gnunet-ats-solver-eval.c
index 8de573251..87b9110c7 100644
--- a/src/ats/gnunet-ats-solver-eval.c
+++ b/src/ats/gnunet-ats-solver-eval.c
@@ -78,6 +78,7 @@ static int res;
78static void 78static void
79end_now (); 79end_now ();
80 80
81
81static char * 82static char *
82print_generator_type (enum GeneratorType g) 83print_generator_type (enum GeneratorType g)
83{ 84{
@@ -303,7 +304,22 @@ GNUNET_ATS_solver_logging_write_to_disk (struct LoggingHandle *l, int add_time_s
303 char * prefstring; 304 char * prefstring;
304 char * prefstring_tmp; 305 char * prefstring_tmp;
305 int c; 306 int c;
307 int use_dir;
306 308
309 use_dir = GNUNET_NO;
310 if (NULL != output_dir)
311 {
312 if (GNUNET_OK != GNUNET_DISK_directory_create_for_file (output_dir))
313 {
314 fprintf (stderr, "Failed to create directory `%s'\n", output_dir);
315 return;
316 }
317 else
318 {
319 fprintf (stderr, "Created directory `%s'\n", output_dir);
320 use_dir = GNUNET_YES;
321 }
322 }
307 323
308 lf_head = NULL; 324 lf_head = NULL;
309 lf_tail = NULL; 325 lf_tail = NULL;
@@ -328,11 +344,15 @@ GNUNET_ATS_solver_logging_write_to_disk (struct LoggingHandle *l, int add_time_s
328 cur->pid = log_p->id; 344 cur->pid = log_p->id;
329 345
330 if (GNUNET_YES == add_time_stamp) 346 if (GNUNET_YES == add_time_stamp)
331 GNUNET_asprintf (&filename, "%s_%s_%u_%u_%llu.log", 347 GNUNET_asprintf (&filename, "%s%s_%s_%u_%u_%llu.log",
348 (GNUNET_YES == use_dir) ? output_dir : "",
349 (GNUNET_YES == use_dir) ? DIR_SEPARATOR_STR : "",
332 e->log_prefix, opt_solver, 350 e->log_prefix, opt_solver,
333 cur->aid, cur->pid, l->head->timestamp.abs_value_us); 351 cur->aid, cur->pid, l->head->timestamp.abs_value_us);
334 else 352 else
335 GNUNET_asprintf (&filename, "%s_%s_%u_%u.log", 353 GNUNET_asprintf (&filename, "%s%s%s_%s_%u_%u.log",
354 (GNUNET_YES == use_dir) ? output_dir : "",
355 (GNUNET_YES == use_dir) ? DIR_SEPARATOR_STR : "",
336 e->log_prefix, opt_solver, 356 e->log_prefix, opt_solver,
337 cur->aid, cur->pid); 357 cur->aid, cur->pid);
338 358
@@ -1102,6 +1122,7 @@ free_experiment (struct Experiment *e)
1102 1122
1103 GNUNET_free_non_null (e->name); 1123 GNUNET_free_non_null (e->name);
1104 GNUNET_free_non_null (e->log_prefix); 1124 GNUNET_free_non_null (e->log_prefix);
1125 GNUNET_free_non_null (e->log_output_dir);
1105 GNUNET_free_non_null (e->cfg_file); 1126 GNUNET_free_non_null (e->cfg_file);
1106 GNUNET_free (e); 1127 GNUNET_free (e);
1107} 1128}
@@ -2483,7 +2504,7 @@ GNUNET_ATS_solvers_experimentation_load (char *filename)
2483 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Experiment logging prefix: `%s'\n", 2504 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Experiment logging prefix: `%s'\n",
2484 e->log_prefix); 2505 e->log_prefix);
2485 2506
2486 if (GNUNET_SYSERR == GNUNET_CONFIGURATION_get_value_string(cfg, "experiment", 2507 if (GNUNET_SYSERR == GNUNET_CONFIGURATION_get_value_filename (cfg, "experiment",
2487 "log_output_dir", &e->log_output_dir)) 2508 "log_output_dir", &e->log_output_dir))
2488 { 2509 {
2489 e->log_output_dir = NULL; 2510 e->log_output_dir = NULL;
@@ -2495,8 +2516,8 @@ GNUNET_ATS_solvers_experimentation_load (char *filename)
2495 2516
2496 if (GNUNET_SYSERR == (e->log_append_time_stamp = GNUNET_CONFIGURATION_get_value_yesno(cfg, 2517 if (GNUNET_SYSERR == (e->log_append_time_stamp = GNUNET_CONFIGURATION_get_value_yesno(cfg,
2497 "experiment", "log_append_time_stamp"))) 2518 "experiment", "log_append_time_stamp")))
2498 e->log_append_time_stamp = GNUNET_NO; 2519 e->log_append_time_stamp = GNUNET_YES;
2499 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Experiment logging output directory: `%s'\n", 2520 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Experiment logging append timestamp: `%s'\n",
2500 (GNUNET_YES == e->log_append_time_stamp) ? "yes" : "no"); 2521 (GNUNET_YES == e->log_append_time_stamp) ? "yes" : "no");
2501 2522
2502 2523