Allocate poolData table

This commit is contained in:
Glenn Y. Rolland 2019-09-17 14:20:59 +02:00
parent 4b9ddb3187
commit 5e7e151965

View file

@ -72,7 +72,7 @@ msgSpace * msgSpaceCreate(
return NULL;
}
printf( "Map addr is 0x%08x\n", (int)mSAddr );
printf( "msgSpace map addr is 0x%08x\n", (int)mSAddr );
/* on ferme le descripteur du fichier */
close(mSFd);
@ -97,21 +97,45 @@ msgSpace * msgSpaceCreate(
strerror( errno ) );
return NULL;
}
/* TODO:allocation de la bonne zone mémoire pour le poolData */
/* allocation de la bonne zone mémoire pour le poolData */
if (ftruncate(mSFd, poolNb*sizeof(* msgPoolData)) == -1){
fprintf( stderr, "msgSpace resizing failed: %s\n",
strerror( errno ) );
return NULL;
}
/* TODO: on ajoute spaceId a la liste des msgSpace connus */
/* TODO: attacher chacun des msgPoolData :
* - y écrire les informations passées en param
* - creer les zones mémoires de chacune des pool
*/
mSPoolDataAddr = mmap( 0, sizeof( *mSAddr ),
PROT_READ | PROT_WRITE,
MAP_SHARED, mSFd, 0 );
if( mSPoolDataAddr == MAP_FAILED ) {
fprintf( stderr, "mmap failed: %s\n",
strerror( errno ) );
return NULL;
}
/* TODO: on crée queueNb files de messages */
printf( "msgPoolData map addr is 0x%08x\n", (int)mSPoolDataFd );
/* on créer poolNb pool de buffers */
/* et on "attache" tout ce beau monde au spaceId */
for (i=0;i<poolNb;i++){
for (i=0;i<poolNb;i++){
// creation d'une pool
// mSAddr->
}
/* TODO: on ajoute spaceId a la liste des msgSpace connus */
/* TODO: on crée queueNb files de messages */
/* on renvoie un pointeur sur le bon spaceId */
return mSAddr;