diff options
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/sem.c | 2 | ||||
-rw-r--r-- | ipc/shm.c | 4 |
2 files changed, 3 insertions, 3 deletions
@@ -309,7 +309,7 @@ static void update_queue (struct sem_array * sma) for (q = sma->sem_pending; q; q = q->next) { if (q->status == 1) - return; /* wait for other process */ + continue; /* this one was woken up before */ error = try_atomic_semop(sma, q->sops, q->nsops, q->undo, q->pid, q->alter); @@ -925,9 +925,9 @@ static struct page * shm_nopage(struct vm_area_struct * shmd, unsigned long addr swap_free(entry); if ((shp != shm_lock(shp->id)) && (is_shmzero == 0)) BUG(); - if (is_shmzero) shm_swp--; + if (is_shmzero == 0) shm_swp--; } - if (is_shmzero) shm_rss++; + if (is_shmzero == 0) shm_rss++; pte = pte_mkdirty(mk_pte(page, PAGE_SHARED)); SHM_ENTRY(shp, idx) = pte; } else |