*** 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 */
int msgSpaceListElemClose(msgSpaceListElem *listElem);
/* spaceListElemCreate.c */
int msgSpaceListElemCreate(msgSpaceListElemId elemenListId, msgSpace *space);
int msgSpaceListElemCreate(msgSpaceListElemId listElemId, msgSpace *space);
/* spaceListElemLink.c */
/* spaceListElemOpen.c */
void *msgSpaceListElemOpen(msgSpaceListElemId listElemId);
@ -105,6 +105,7 @@ int msgSpaceListUnlock(void);
/* spaceListOpen.c */
void *msgSpaceListOpen(void);
/* spaceListRem.c */
int msgSpaceListRem(msgSpaceListElemId oldElemId);
/* spaceOpen.c */
msgSpace *msgSpaceOpen(msgSpaceId externId);
/* state.c */

View file

@ -131,6 +131,7 @@ msgSpace * msgSpaceCreate(
}
/* on crée queueNb files de messages */
printf("Creating queues:\n");
for (i=0; i<queueNb;i++){
printf("- queue %i...",i); fflush(stdout);
@ -143,9 +144,15 @@ msgSpace * msgSpaceCreate(
}
msgPoolDataTabClose(space,poolDataTabAddr);
/* 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 */
msgPoolDataTabUnlock(space);
msgPoolDataTabUnlock(space);
return space;
ERROR:
return NULL;

View file

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

View file

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

View file

@ -1,6 +1,41 @@
#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;
}