summaryrefslogtreecommitdiff
path: root/vxi11_server.c
diff options
context:
space:
mode:
authordaniel <danieruru@gmail.com>2013-01-11 13:45:39 +0900
committerdaniel <danieruru@gmail.com>2013-01-11 13:45:39 +0900
commitcacd8ba78d2c17286507d0bae498c136dba19c9c (patch)
tree116604403bc1ffa2c38cebe5b5e091de828987cd /vxi11_server.c
parent939ce4d4b67c068055be6e2ab27cc6144a53d546 (diff)
testing interrupt channel, works
Diffstat (limited to 'vxi11_server.c')
-rw-r--r--vxi11_server.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/vxi11_server.c b/vxi11_server.c
index 2382966..0f684c4 100644
--- a/vxi11_server.c
+++ b/vxi11_server.c
@@ -324,6 +324,13 @@ device_unlock_1_svc(Device_Link *argp, struct svc_req *rqstp) {
return &result;
}
+void fireinterrupt() {
+ Device_SrqParms params;
+ params.handle.handle_val = inthandler;
+ params.handle.handle_len = strlen(inthandler);
+ device_intr_srq_1(&params, intclient);
+}
+
Device_Error *
device_enable_srq_1_svc(Device_EnableSrqParms *argp, struct svc_req *rqstp) {
static Device_Error result;
@@ -342,6 +349,7 @@ device_enable_srq_1_svc(Device_EnableSrqParms *argp, struct svc_req *rqstp) {
#ifdef DEBUG
printf("Interrupt handle set to %s\n", inthandler);
#endif
+ fireinterrupt();
}
}
result.error = 0;