summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/unix/posix/shmsupp/intr.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1995-08-11 14:27:23 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1995-08-11 14:27:23 +0000
commitaa9f19454a6912a337752fee5e0f98414de3e8a5 (patch)
tree19f558b8763cda168b1ea2d047c0270297147c2f /c/src/lib/libbsp/unix/posix/shmsupp/intr.c
parentclean up -- interrupt support is in place (diff)
downloadrtems-aa9f19454a6912a337752fee5e0f98414de3e8a5.tar.bz2
Initialization of semaphores was incorrect. It did not force
the count to "1" to indicate availability. Interrupt support was added. Problem where newlib's errno "overrides" that set by system calls was addressed. Fixed bug which resulted in all nodes using the same semaphore although an array of semaphores was allocated.
Diffstat (limited to 'c/src/lib/libbsp/unix/posix/shmsupp/intr.c')
-rw-r--r--c/src/lib/libbsp/unix/posix/shmsupp/intr.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/unix/posix/shmsupp/intr.c b/c/src/lib/libbsp/unix/posix/shmsupp/intr.c
index 44259479db..2f8cd6db11 100644
--- a/c/src/lib/libbsp/unix/posix/shmsupp/intr.c
+++ b/c/src/lib/libbsp/unix/posix/shmsupp/intr.c
@@ -23,9 +23,14 @@
#include <shm.h>
#include <stdio.h>
-
+#include <signal.h>
+
void Shm_Cause_interrupt_unix(
rtems_unsigned32 node
)
{
+ Shm_Interrupt_information *intr;
+ intr = &Shm_Interrupt_table[node];
+
+ kill((pid_t) intr->address, intr->value);
}