diff options
| -rw-r--r-- | ipc/sem.c | 8 |
1 files changed, 8 insertions, 0 deletions
| @@ -2103,6 +2103,14 @@ static int sysvipc_sem_proc_show(struct seq_file *s, void *it) | |||
| 2103 | struct sem_array *sma = it; | 2103 | struct sem_array *sma = it; |
| 2104 | time_t sem_otime; | 2104 | time_t sem_otime; |
| 2105 | 2105 | ||
| 2106 | /* | ||
| 2107 | * The proc interface isn't aware of sem_lock(), it calls | ||
| 2108 | * ipc_lock_object() directly (in sysvipc_find_ipc). | ||
| 2109 | * In order to stay compatible with sem_lock(), we must wait until | ||
| 2110 | * all simple semop() calls have left their critical regions. | ||
| 2111 | */ | ||
| 2112 | sem_wait_array(sma); | ||
| 2113 | |||
| 2106 | sem_otime = get_semotime(sma); | 2114 | sem_otime = get_semotime(sma); |
| 2107 | 2115 | ||
| 2108 | return seq_printf(s, | 2116 | return seq_printf(s, |
