X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ff021a73f0cd26b2f27ca729783aa486393f9b3a..75ffa801579aeb214b8d95290b76c96a605a2422:/src/gras/SG/gras_sg.c diff --git a/src/gras/SG/gras_sg.c b/src/gras/SG/gras_sg.c index 4159c9c3a8..cd24c8a725 100644 --- a/src/gras/SG/gras_sg.c +++ b/src/gras/SG/gras_sg.c @@ -15,103 +15,6 @@ GRAS_LOG_DEFAULT_CATEGORY(GRAS); -gras_error_t -gras_process_init() { - gras_hostdata_t *hd=(gras_hostdata_t *)MSG_host_get_data(MSG_host_self()); - grasProcessData_t *pd; - int i; - - if (!(pd=(grasProcessData_t *)malloc(sizeof(grasProcessData_t)))) { - fprintf(stderr,"grasInit: out of memory\n"); - return malloc_error; - } - pd->grasMsgQueueLen=0; - pd->grasMsgQueue = NULL; - - pd->grasCblListLen = 0; - pd->grasCblList = NULL; - - if (MSG_process_set_data(MSG_process_self(),(void*)pd) != MSG_OK) { - return unknown_error; - } - - if (!hd) { - if (!(hd=(gras_hostdata_t *)malloc(sizeof(gras_hostdata_t)))) { - fprintf(stderr,"grasInit: out of memory\n"); - return malloc_error; - } - hd->portLen = 0; - hd->port=NULL; - hd->port2chan=NULL; - for (i=0; iproc[i]=0; - } - - if (MSG_host_set_data(MSG_host_self(),(void*)hd) != MSG_OK) { - return unknown_error; - } - } - - /* take a free channel for this process */ - for (i=0; iproc[i]; i++); - if (i == MAX_CHANNEL) { - fprintf(stderr, - "GRAS: Can't add a new process on %s, because all channel are already in use. Please increase MAX CHANNEL (which is %d for now) and recompile GRAS\n.", - MSG_host_get_name(MSG_host_self()),MAX_CHANNEL); - return system_error; - } - pd->chan = i; - hd->proc[ i ] = MSG_process_self_PID(); - - /* take a free channel for this process */ - for (i=0; iproc[i]; i++); - if (i == MAX_CHANNEL) { - fprintf(stderr, - "GRAS: Can't add a new process on %s, because all channel are already in use. Please increase MAX CHANNEL (which is %d for now) and recompile GRAS\n.", - MSG_host_get_name(MSG_host_self()),MAX_CHANNEL); - return system_error; - } - pd->rawChan = i; - hd->proc[ i ] = MSG_process_self_PID(); - - /* - fprintf(stderr,"GRAS: Creating process '%s' (%d)\n", - MSG_process_get_name(MSG_process_self()),MSG_process_self_PID()); - */ - return no_error; -} - -gras_error_t -gras_process_finalize() { - gras_hostdata_t *hd=(gras_hostdata_t *)MSG_host_get_data(MSG_host_self()); - grasProcessData_t *pd=(grasProcessData_t *)MSG_process_get_data(MSG_process_self()); - int myPID=MSG_process_self_PID(); - int i; - - gras_assert0(hd && pd,"Run gras_process_init!!\n"); - - - fprintf(stderr,"GRAS: Finalizing process '%s' (%d)\n", - MSG_process_get_name(MSG_process_self()),MSG_process_self_PID()); - if (pd->grasMsgQueueLen) { - fprintf(stderr,"GRAS: Warning: process %d terminated, but some queued messages where not handled\n",MSG_process_self_PID()); - } - - for (i=0; i< MAX_CHANNEL; i++) - if (myPID == hd->proc[i]) - hd->proc[i] = 0; - - for (i=0; iportLen; i++) { - if (hd->port2chan[ i ] == pd->chan) { - memmove(&(hd->port[i]), &(hd->port[i+1]), (hd->portLen -i -1) * sizeof(int)); - memmove(&(hd->port2chan[i]), &(hd->port2chan[i+1]), (hd->portLen -i -1) * sizeof(int)); - hd->portLen--; - i--; /* counter the effect of the i++ at the end of the iteration */ - } - } - - return no_error; -} /* ************************************************************************** * Openning/Maintaining/Closing connexions (private functions for both raw * and regular sockets)