From: mquinson Date: Fri, 10 Dec 2004 06:43:28 +0000 (+0000) Subject: A proper gras_init function X-Git-Tag: v3.3~4763 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/61e1171d003c55b170bfaf4ae845a5cf7f107bbd?ds=sidebyside A proper gras_init function git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@587 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/src/gras/gras.c b/src/gras/gras.c new file mode 100644 index 0000000000..01fdc190b7 --- /dev/null +++ b/src/gras/gras.c @@ -0,0 +1,45 @@ +/* $Id$ */ + +/* gras.c -- generic functions not fitting anywhere else */ + +/* Copyright (c) 2003, 2004 Martin Quinson. */ +/* All rights reserved. */ + +/* This program is free software; you can redistribute it and/or modify it + * under the terms of the license (GNU LGPL) which comes with this package. */ + +#include "xbt/log.h" +#include "xbt/module.h" /* xbt_init/exit */ + +#include "gras_modinter.h" /* module init/exit */ +#include "xbt_modinter.h" /* module init/exit */ + +#include "gras/core.h" +#include "gras/process.h" /* FIXME: killme and put process_init in modinter */ + +XBT_LOG_NEW_DEFAULT_CATEGORY(gras,"All GRAS categories"); +static int gras_running_process = 0; + +void gras_init(int *argc,char **argv, const char *defaultlog) { + + INFO0("Initialize GRAS"); + xbt_init_defaultlog(argc,argv,defaultlog); + gras_process_init(); /* calls procdata_init, which calls dynar_new */ + /** init other submodules */ + if (gras_running_process++ == 0) { + gras_msg_init(); + gras_trp_init(); + gras_datadesc_init(); + } +} + +void gras_exit(void) { + INFO0("Exiting GRAS"); + gras_process_exit(); + if (--gras_running_process == 0) { + gras_msg_exit(); + gras_trp_exit(); + gras_datadesc_exit(); + } + xbt_exit(); +}