Subject: CVS commit: syssrc/sys/compat/irix
To: None <source-changes@netbsd.org>
From: Emmanuel Dreyfus <manu@netbsd.org>
List: source-changes
Date: 05/27/2002 00:37:15
Module Name: syssrc
Committed By: manu
Date: Sun May 26 21:37:14 UTC 2002
Modified Files:
syssrc/sys/compat/irix: files.irix irix_usema.c irix_usema.h
Removed Files:
syssrc/sys/compat/irix: irix_usync.c irix_usync.h
Log Message:
- When requested a semamphore count, the userlands expects the kernel to
return the number of processes waiting on the semaphore. We now maintiain
a count of waiting processes.
- Blocked processes are unblocked "first in, first out". We now have a
queue of waiting processes on a asemaphores, so that we can wakeup the
first blocked process.
Problems:
- We now have a lot of dynamic memory allocation, it may be a bit slow.
- Nothing is SMP safe for now. We need to add locks.
- On close, we forget about a semaphore, which is incorrect. One process
can close its fd attached on a semaphore, but other processes would carry
on using it. Since any process can join a shared arena, this is not an
easy thing to solve.
- A lot of usema/usync functionnalities are still to be discovered.
To generate a diff of this commit:
cvs rdiff -r1.22 -r1.23 syssrc/sys/compat/irix/files.irix
cvs rdiff -r1.2 -r1.3 syssrc/sys/compat/irix/irix_usema.c \
syssrc/sys/compat/irix/irix_usema.h
cvs rdiff -r1.2 -r0 syssrc/sys/compat/irix/irix_usync.c \
syssrc/sys/compat/irix/irix_usync.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.