From: Carmelo A. <car...@st...> - 2007-05-31 12:11:36
Attachments:
LTP-20070531-shmat1_key.patch
|
Hi Subrata, in the LTP 20070531 a part of my previous shmat1 patch has been missed. The attached patch to fix the usage of shmget/shmat, where the id (returned by shmget), has to be used for all shm operations. The patch is against LTP 20070531. Best regards, Carmelo |
From: Subrata M. <su...@li...> - 2007-05-31 12:14:53
|
Carmelo, Thanks for pointing out the same. I will take care. Regards-- Subrata Carmelo AMOROSO wrote: > Hi Subrata, > in the LTP 20070531 a part of my previous shmat1 patch has been missed. > > The attached patch to fix the usage of shmget/shmat, where the id > (returned by shmget), > has to be used for all shm operations. > > The patch is against LTP 20070531. > > Best regards, > Carmelo > ------------------------------------------------------------------------ > > --- ./ltp-full-20070531/testcases/kernel/mem/mtest06/shmat1.c 2007-05-31 13:50:55.363666000 +0200 > +++ ./ltp-full-20070531-st/testcases/kernel/mem/mtest06/shmat1.c 2007-05-31 13:52:14.044033000 +0200 > @@ -86,10 +86,12 @@ > #define FALSE 0 > #endif > #define prtln() printf(" I AM HERE ==> %s %d\n", __FILE__, __LINE__); > + > #define STR_SHMAT " " > #define STR_WRITER " " > #define STR_READER " " > > + > /* Global Variables */ > void *map_address; /* pointer to file in memory */ > sigjmp_buf jmpbuf; /* argument to setjmp and longjmp */ > @@ -264,11 +266,10 @@ void * > shmat_shmdt(void *args) /* arguments to the thread X function. */ > { > int shm_ndx = 0; /* index to number of shmat/shmdt */ > - key_t shmkey = 0; /* shared memory id */ > + key_t shmkey = 0; /* IPC_PRIVATE (key for shmget) */ > + int shmid; /* shared memory id */ > long *locargs = /* local pointer to arguments */ > (long *)args; > - struct shmid_ds *shmbuf /* info about the segment pointed to by shmkey*/ > - = NULL; > > while (shm_ndx++ < (int)locargs[0]) > { > @@ -279,7 +280,7 @@ shmat_shmdt(void *args) /* arguments to > srand(time(NULL)%100); > fsize = (1 + (int)(1000.0*rand()/(RAND_MAX+1.0))) * 4096; > > - if (shmget(shmkey, fsize, IPC_CREAT | 0666 ) == -1) > + if ((shmid = shmget(shmkey, fsize, IPC_CREAT | 0666)) == -1) > { > perror("shmat_shmdt(): shmget()"); > pthread_exit((void *)-1); > @@ -291,7 +292,7 @@ shmat_shmdt(void *args) /* arguments to > STR_SHMAT, pthread_self(), fsize); > } > > - if ((map_address = shmat(shmkey, (void *)0, SHMLBA)) > + if ((map_address = shmat(shmid, (void *)0, 0)) > == (void *)-1) > { > fprintf(stderr, "shmat_shmat(): map address = %p\n", > @@ -325,7 +326,7 @@ shmat_shmdt(void *args) /* arguments to > perror("shmat_shmdt(): shmdt()"); > pthread_exit((void *)-1); > } > - if (shmctl(shmkey, IPC_RMID, shmbuf)) > + if (shmctl(shmid, IPC_RMID, NULL)) > { > perror("shmat_shmdt(): shmctl()"); > pthread_exit((void *)-1); > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > ------------------------------------------------------------------------ > > _______________________________________________ > Ltp-list mailing list > Ltp...@li... > https://lists.sourceforge.net/lists/listinfo/ltp-list > |
From: Subrata M. <su...@li...> - 2007-06-04 10:44:48
|
Done. Regards- Subrata. Subrata Modak wrote: > Carmelo, > Thanks for pointing out the same. I will take care. > Regards-- > Subrata > > Carmelo AMOROSO wrote: > >> Hi Subrata, >> in the LTP 20070531 a part of my previous shmat1 patch has been missed. >> >> The attached patch to fix the usage of shmget/shmat, where the id >> (returned by shmget), >> has to be used for all shm operations. >> >> The patch is against LTP 20070531. >> >> Best regards, >> Carmelo >> ------------------------------------------------------------------------ >> >> --- ./ltp-full-20070531/testcases/kernel/mem/mtest06/shmat1.c 2007-05-31 13:50:55.363666000 +0200 >> +++ ./ltp-full-20070531-st/testcases/kernel/mem/mtest06/shmat1.c 2007-05-31 13:52:14.044033000 +0200 >> @@ -86,10 +86,12 @@ >> #define FALSE 0 >> #endif >> #define prtln() printf(" I AM HERE ==> %s %d\n", __FILE__, __LINE__); >> + >> #define STR_SHMAT " " >> #define STR_WRITER " " >> #define STR_READER " " >> >> + >> /* Global Variables */ >> void *map_address; /* pointer to file in memory */ >> sigjmp_buf jmpbuf; /* argument to setjmp and longjmp */ >> @@ -264,11 +266,10 @@ void * >> shmat_shmdt(void *args) /* arguments to the thread X function. */ >> { >> int shm_ndx = 0; /* index to number of shmat/shmdt */ >> - key_t shmkey = 0; /* shared memory id */ >> + key_t shmkey = 0; /* IPC_PRIVATE (key for shmget) */ >> + int shmid; /* shared memory id */ >> long *locargs = /* local pointer to arguments */ >> (long *)args; >> - struct shmid_ds *shmbuf /* info about the segment pointed to by shmkey*/ >> - = NULL; >> >> while (shm_ndx++ < (int)locargs[0]) >> { >> @@ -279,7 +280,7 @@ shmat_shmdt(void *args) /* arguments to >> srand(time(NULL)%100); >> fsize = (1 + (int)(1000.0*rand()/(RAND_MAX+1.0))) * 4096; >> >> - if (shmget(shmkey, fsize, IPC_CREAT | 0666 ) == -1) >> + if ((shmid = shmget(shmkey, fsize, IPC_CREAT | 0666)) == -1) >> { >> perror("shmat_shmdt(): shmget()"); >> pthread_exit((void *)-1); >> @@ -291,7 +292,7 @@ shmat_shmdt(void *args) /* arguments to >> STR_SHMAT, pthread_self(), fsize); >> } >> >> - if ((map_address = shmat(shmkey, (void *)0, SHMLBA)) >> + if ((map_address = shmat(shmid, (void *)0, 0)) >> == (void *)-1) >> { >> fprintf(stderr, "shmat_shmat(): map address = %p\n", >> @@ -325,7 +326,7 @@ shmat_shmdt(void *args) /* arguments to >> perror("shmat_shmdt(): shmdt()"); >> pthread_exit((void *)-1); >> } >> - if (shmctl(shmkey, IPC_RMID, shmbuf)) >> + if (shmctl(shmid, IPC_RMID, NULL)) >> { >> perror("shmat_shmdt(): shmctl()"); >> pthread_exit((void *)-1); >> >> ------------------------------------------------------------------------ >> >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by DB2 Express >> Download DB2 Express C - the FREE version of DB2 express and take >> control of your XML. No limits. Just data. Click to get it now. >> http://sourceforge.net/powerbar/db2/ >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> Ltp-list mailing list >> Ltp...@li... >> https://lists.sourceforge.net/lists/listinfo/ltp-list >> >> > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Ltp-list mailing list > Ltp...@li... > https://lists.sourceforge.net/lists/listinfo/ltp-list > |