Hi.

On 04/20/2015 01:28 PM, Matus Marhefka wrote:
> 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).

Emm, when I was preparing patches:

b681672752634a70ba1bd6b1c6b5ae2967ac13e5 ("Keep the definition of union 
semun in one place")
586b51bf334b189d3e48760676ffeb39ce2a4371 ("sem_comm: pass a semun union 
to semctl()")

I overlooked your patch. Sorry.

It seems the above patches fixes what you were trying to fix with your 
patch, and so it became redundant.

Do you agree?

Sorry again.


>>
>> 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
>

------------------------------------------------------------------------------
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