Hi,

please consider pushing this reviewed patch.

Thanks,
Matus Marhefka


----- Original Message -----
From: "Jan Stancek" <jstan...@redhat.com>
To: "Matus Marhefka" <mmarh...@redhat.com>
Cc: ltp-list@lists.sourceforge.net
Sent: Thursday, February 26, 2015 2:22:24 PM
Subject: Re: [LTP] [PATCH v2] containers: semctl replaced with semop in 
sysvipc/sem_comm.c





----- Original Message -----
> From: "Matus Marhefka" <mmarh...@redhat.com>
> To: ltp-list@lists.sourceforge.net
> Sent: Thursday, 26 February, 2015 1:57:41 PM
> Subject: [LTP] [PATCH v2] containers: semctl replaced with semop in   
> sysvipc/sem_comm.c
> 
> semctl call replaced with semop call for setting up semaphores initial
> values because semctl needs non-standard type (not in sys/sem.h).
> 
> Signed-off-by: Matus Marhefka <mmarh...@redhat.com>

Looks good to me.
Reviewed-by: Jan Stancek <jstan...@redhat.com>

Regards,
Jan

> ---
>  testcases/kernel/containers/sysvipc/sem_comm.c | 24 ++++++++++++++----------
>  1 file changed, 14 insertions(+), 10 deletions(-)
> 
> diff --git a/testcases/kernel/containers/sysvipc/sem_comm.c
> b/testcases/kernel/containers/sysvipc/sem_comm.c
> index b44be6d..fba6767 100644
> --- a/testcases/kernel/containers/sysvipc/sem_comm.c
> +++ b/testcases/kernel/containers/sysvipc/sem_comm.c
> @@ -59,14 +59,17 @@ int chld1_sem(void *arg)
>       int id;
>       struct sembuf sm;
>  
> -     id = semget(TESTKEY, 1, IPC_CREAT);
> +     id = semget(TESTKEY, 1, IPC_CREAT|S_IRUSR|S_IWUSR|IPC_EXCL);
>       if (id == -1) {
>               perror("semget");
>               return 2;
>       }
>  
> -     if (semctl(id, 0, SETVAL, 1) == -1) {
> -             perror("semctl");
> +     sm.sem_num = 0;
> +     sm.sem_op = 1;
> +     sm.sem_flg = IPC_NOWAIT;
> +     if (semop(id, &sm, 1) == -1) {
> +             perror("semop");
>               semctl(id, 0, IPC_RMID);
>               return 2;
>       }
> @@ -74,9 +77,7 @@ int chld1_sem(void *arg)
>       /* tell child2 to continue and wait for it to create the semaphore */
>       TST_SAFE_CHECKPOINT_WAKE_AND_WAIT(NULL, 0);
>  
> -     sm.sem_num = 0;
>       sm.sem_op = -1;
> -     sm.sem_flg = IPC_NOWAIT;
>       if (semop(id, &sm, 1) == -1) {
>               perror("semop");
>               semctl(id, 0, IPC_RMID);
> @@ -101,14 +102,19 @@ int chld2_sem(void *arg)
>       /* wait for child1 to create the semaphore */
>       TST_SAFE_CHECKPOINT_WAIT(NULL, 0);
>  
> -     id = semget(TESTKEY, 1, IPC_CREAT);
> +     /* IPC_EXCL is excluded because we do not want semget call to fail
> +      * if namespaces logic doesn't work correctly */
> +     id = semget(TESTKEY, 1, IPC_CREAT|S_IRUSR|S_IWUSR);
>       if (id == -1) {
>               perror("semget");
>               return 2;
>       }
>  
> -     if (semctl(id, 0, SETVAL, 1) == -1) {
> -             perror("semctl");
> +     sm.sem_num = 0;
> +     sm.sem_op = 1;
> +     sm.sem_flg = IPC_NOWAIT;
> +     if (semop(id, &sm, 1) == -1) {
> +             perror("semop");
>               semctl(id, 0, IPC_RMID);
>               return 2;
>       }
> @@ -116,9 +122,7 @@ int chld2_sem(void *arg)
>       /* tell child1 to continue and wait for it to lock the semaphore */
>       TST_SAFE_CHECKPOINT_WAKE_AND_WAIT(NULL, 0);
>  
> -     sm.sem_num = 0;
>       sm.sem_op = -1;
> -     sm.sem_flg = IPC_NOWAIT;
>       if (semop(id, &sm, 1) == -1) {
>               if (errno == EAGAIN) {
>                       rval = 1;
> --
> 1.8.3.1
> 

------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to