X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a7729514e277aabe9422a2626541f889ad1af08b..37b98c752fcce79ee0a2acc9e9e52a918fe67b3b:/src/gras/Virtu/rl_process.c diff --git a/src/gras/Virtu/rl_process.c b/src/gras/Virtu/rl_process.c index 10066a6957..d956d2e8f0 100644 --- a/src/gras/Virtu/rl_process.c +++ b/src/gras/Virtu/rl_process.c @@ -1,49 +1,71 @@ /* $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_process_data_t *_gras_process_data; +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; +void gras_process_init() { + _gras_procdata=xbt_new0(gras_procdata_t,1); + gras_procdata_init(); +} +void gras_process_exit() { + gras_procdata_exit(); + free(_gras_procdata); +} - if (!(_gras_process_data=(gras_process_data_t *)malloc(sizeof(gras_process_data_t)))) - RAISE_MALLOC; +const char *xbt_procname(void) { + if(_gras_procname) return _gras_procname; + else return ""; +} - WARNING0("Implement message queue"); - /* - TRY(gras_dynar_new( &(_gras_process_data->msg_queue) )); - TRY(gras_dynar_new( &(_gras_process_data->cbl_list) )); - */ +int gras_os_getpid(void) { +#ifdef _WIN32 + return (long int) GetCurrentProcessId(); +#else + return (long int) getpid(); +#endif +} - _gras_process_data->userdata = NULL; - return no_error; +/* ************************************************************************** + * Process data + * **************************************************************************/ + +gras_procdata_t *gras_procdata_get(void) { + xbt_assert0(_gras_procdata,"Run gras_process_init (ie, gras_init)!"); + + return _gras_procdata; } -gras_error_t gras_process_exit() { - WARNING0("FIXME: not implemented (=> leaking on exit :)"); - return no_error; + +void gras_agent_spawn(const char *name, void *data, + xbt_main_func_t code, int argc, char *argv[], xbt_dict_t properties) { + THROW_UNIMPLEMENTED; } /* ************************************************************************** - * Process data + * Properties * **************************************************************************/ -void *gras_userdata_get(void) { - return _gras_process_data->userdata; +const char* gras_process_property_value(const char* name) { + THROW_UNIMPLEMENTED; +} +xbt_dict_t gras_process_properties(void) { + THROW_UNIMPLEMENTED; } -void *gras_userdata_set(void *ud) { - _gras_process_data->userdata = ud; - return ud; +const char* gras_os_host_property_value(const char* name) { + THROW_UNIMPLEMENTED; +} +xbt_dict_t gras_os_host_properties(void) { + THROW_UNIMPLEMENTED; }