*** empty log message ***
This commit is contained in:
parent
4c185ba7ef
commit
8b13ef50ef
5 changed files with 52 additions and 12 deletions
|
@ -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 */
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue