X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f63a1f846bd0dee20becfd6f655789420849fafd..b697365d2d5d7ac1558cfba04c50b0024a966808:/src/gras/Virtu/rl_process.c diff --git a/src/gras/Virtu/rl_process.c b/src/gras/Virtu/rl_process.c index d53d778ae2..4f542afe29 100644 --- a/src/gras/Virtu/rl_process.c +++ b/src/gras/Virtu/rl_process.c @@ -1,32 +1,40 @@ /* $Id$ */ -/* process_rl - GRAS process handling on real life */ +/* process_rl - GRAS process handling on real life */ -/* Authors: Martin Quinson */ -/* Copyright (C) 2003,2004 da GRAS posse. */ +/* 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. */ + * under the terms of the license (GNU LGPL) which comes with this package. */ -#include "Virtu/virtu_rl.h" +#include "gras_modinter.h" /* module initialization interface */ +#include "gras/Virtu/virtu_rl.h" +#include "portable.h" -GRAS_LOG_NEW_DEFAULT_SUBCATEGORY(process,GRAS); - /* globals */ static gras_procdata_t *_gras_procdata = NULL; +XBT_EXPORT_NO_IMPORT(char const *) _gras_procname = NULL; -gras_error_t gras_process_init() { - gras_error_t errcode; - - if (!(_gras_procdata=(gras_procdata_t *)malloc(sizeof(gras_procdata_t)))) - RAISE_MALLOC; - - TRY(gras_procdata_init()); - return no_error; +void gras_process_init() { + _gras_procdata=xbt_new0(gras_procdata_t,1); + gras_procdata_init(); } -gras_error_t gras_process_exit() { +void gras_process_exit() { gras_procdata_exit(); - return no_error; + free(_gras_procdata); +} + +const char *xbt_procname(void) { + if(_gras_procname) return _gras_procname; + else return ""; +} + +int gras_os_getpid(void) { +#ifdef _WIN32 + return (long int) GetCurrentProcess(); +#else + return (long int) getpid(); +#endif } /* ************************************************************************** @@ -34,7 +42,12 @@ gras_error_t gras_process_exit() { * **************************************************************************/ gras_procdata_t *gras_procdata_get(void) { - gras_assert0(_gras_procdata,"Run gras_process_init!"); + xbt_assert0(_gras_procdata,"Run gras_process_init (ie, gras_init)!"); return _gras_procdata; } + +void gras_agent_spawn(const char *name, void *data, + xbt_main_func_t code, int argc, char *argv[]) { + THROW_UNIMPLEMENTED; +}