*** empty log message ***

This commit is contained in:
glenux 2004-02-25 18:33:06 +00:00 committed by Glenn Y. Rolland
parent 4c185ba7ef
commit 8b13ef50ef
5 changed files with 52 additions and 12 deletions

View file

@ -93,7 +93,7 @@ int msgSpaceListClose(msgSpaceList *list);
/* spaceListElemClose.c */ /* spaceListElemClose.c */
int msgSpaceListElemClose(msgSpaceListElem *listElem); int msgSpaceListElemClose(msgSpaceListElem *listElem);
/* spaceListElemCreate.c */ /* spaceListElemCreate.c */
int msgSpaceListElemCreate(msgSpaceListElemId elemenListId, msgSpace *space); int msgSpaceListElemCreate(msgSpaceListElemId listElemId, msgSpace *space);
/* spaceListElemLink.c */ /* spaceListElemLink.c */
/* spaceListElemOpen.c */ /* spaceListElemOpen.c */
void *msgSpaceListElemOpen(msgSpaceListElemId listElemId); void *msgSpaceListElemOpen(msgSpaceListElemId listElemId);
@ -105,6 +105,7 @@ int msgSpaceListUnlock(void);
/* spaceListOpen.c */ /* spaceListOpen.c */
void *msgSpaceListOpen(void); void *msgSpaceListOpen(void);
/* spaceListRem.c */ /* spaceListRem.c */
int msgSpaceListRem(msgSpaceListElemId oldElemId);
/* spaceOpen.c */ /* spaceOpen.c */
msgSpace *msgSpaceOpen(msgSpaceId externId); msgSpace *msgSpaceOpen(msgSpaceId externId);
/* state.c */ /* state.c */

View file

@ -131,6 +131,7 @@ msgSpace * msgSpaceCreate(
} }
/* on crée queueNb files de messages */
printf("Creating queues:\n"); printf("Creating queues:\n");
for (i=0; i<queueNb;i++){ for (i=0; i<queueNb;i++){
printf("- queue %i...",i); fflush(stdout); printf("- queue %i...",i); fflush(stdout);
@ -143,9 +144,15 @@ msgSpace * msgSpaceCreate(
} }
msgPoolDataTabClose(space,poolDataTabAddr); msgPoolDataTabClose(space,poolDataTabAddr);
/* TODO: on ajoute spaceId a la liste des msgSpace connus */ /* TODO: on ajoute spaceId a la liste des msgSpace connus */
/* TODO: on crée queueNb files de messages */ msgSpaceListElemId listElemId;
msgSpaceListInit();
msgSpaceListLock();
msgSpaceListElemCreate(listElemId,space);
msgSpaceListAdd(listElemId);
msgSpaceListUnlock();
/* on renvoie un pointeur sur le bon spaceId */ /* on renvoie un pointeur sur le bon spaceId */
msgPoolDataTabUnlock(space); msgPoolDataTabUnlock(space);
return space; return space;
ERROR: ERROR:
return NULL; return NULL;

View file

@ -16,11 +16,11 @@ int msgSpaceListAdd(msgSpaceListElemId newElemId){
} }
strcpy(listNewTailElem->next,newElemId); strcpy(listNewTailElem->next,newElemId);
if (msgSpaceListElemClose(listNewTailElem) <0 ){ if (msgSpaceListElemClose(listNewTailElem) <0 ){
NZG_ERROR("msgQueueElemClose",newElemId); NZG_ERROR("msgSpaceListElemClose",newElemId);
goto ERROR; goto ERROR;
} }
/* TODO: verifier si la liste n'est pas vide... */ /* verifier si la liste n'est pas vide... */
if((strcmp(list->headId,list->id)==0) if((strcmp(list->headId,list->id)==0)
&& (strcmp(list->tailId,list->id)==0)) { && (strcmp(list->tailId,list->id)==0)) {
printf("- premier elem de queue -\n"); printf("- premier elem de queue -\n");
@ -31,19 +31,18 @@ int msgSpaceListAdd(msgSpaceListElemId newElemId){
/* on informe son prédecesseur qu'il a un suivant */ /* on informe son prédecesseur qu'il a un suivant */
listOldTailElem=msgSpaceListElemOpen(list->tailId); listOldTailElem=msgSpaceListElemOpen(list->tailId);
if (listOldTailElem == NULL){ if (listOldTailElem == NULL){
NZG_ERROR("msgQueueElemOpen",list->tailId); NZG_ERROR("msgSpaceListElemOpen",list->tailId);
goto ERROR; goto ERROR;
} }
strcpy(listOldTailElem->next,newElemId); strcpy(listOldTailElem->next,newElemId);
if (msgSpaceListElemClose(listOldTailElem) < 0){ if (msgSpaceListElemClose(listOldTailElem) < 0){
NZG_ERROR("msgQueueElemClose",list->tailId); NZG_ERROR("msgSpaceListElemClose",list->tailId);
goto ERROR; goto ERROR;
} }
// on donne a la queue l'id du dernier element // on donne a la queue l'id du dernier element
strcpy(list->tailId,newElemId); strcpy(list->tailId,newElemId);
} }
// on incremente elemCounter // on incremente elemCounter
list->elemCounter++;
msgSpaceListClose(list); msgSpaceListClose(list);
return 0; return 0;
ERROR: ERROR:

View file

@ -3,12 +3,10 @@
// cree un nouvel elemen // cree un nouvel elemen
int msgSpaceListElemCreate( int msgSpaceListElemCreate(
msgSpaceListElemId elemenListId, msgSpaceListElemId listElemId,
msgSpace * space) msgSpace * space)
{ {
msgSpaceId listElemId;
strcpy(listElemId,space->id); strcpy(listElemId,space->id);
int listElemFd; int listElemFd;

View file

@ -1,6 +1,41 @@
#include "libnazgul.h" #include "libnazgul.h"
int msgSpaceListRem(msgSpaceListElemId oldElemId){
msgSpaceListElem * listOldHeadElem;
msgSpaceList * list=NULL;
int msgSpaceListRem(msgSpaceListElemId spaceId); list=msgSpaceListOpen();
if (strcmp(list->headId,list->id)==0){
NZG_ERROR("msgSpaceListElemRem : Empty list",list->id);
goto ERROR;
}
strcpy(oldElemId,list->headId);
listOldHeadElem=msgSpaceListElemOpen(oldElemId);
if (listOldHeadElem == NULL){
NZG_ERROR("msgSpaceListElemOpen",oldElemId);
goto ERROR;
}
// on indique à la list le nouveau premier element
strcpy(list->headId,listOldHeadElem->next);
// on fait en sorte que l'element ne connaisse plus
// ses voisins (utile pour le Delete)
strcpy(listOldHeadElem->next,listOldHeadElem->id);
if (msgSpaceListElemClose(listOldHeadElem)<0 ){
NZG_ERROR("msgSpaceListElemClose",oldElemId);
goto ERROR;
}
msgSpaceListClose(list);
return 0;
ERROR:
return -1;
}