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
> [email protected]
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to