From: MERC::"uunet!CRVAX.SRI.COM!RELAY-INFO-VAX" 7-APR-1993 18:09:37.97 To: "info-vax" CC: Subj: RE: Interrupt Based Inter Process Communications In article <1993Apr6.172150.1@kean.ucs.mun.ca>, wpearson@kean.ucs.mun.ca wrote: > I wish to implement interrupt based communications between several > processes on a VAX 8250 running VMS version 5.1. A signalling process > would generate an interrupt causing several other processes to retrieve > and process data from a common global section. > > However, I wish to implement a one way handshake only. ie. The signalling > process would generate an interrupt and then clear it - this would cause > the receiving processes to enter their corresponding interrupt service > routines. > > I don't care about missing a few interrupts - my data is time stamped > However my signalling process must generate an interrupt *every* time > a data sample is ready - it must not wait for a return handshake from > the receiving process(es). Also I do not wish to have interrupts queued. Have you considered using locks, with blocking ASTs? 1) Have all your processes hold a lock at CR (concurrent read) state. 2) Your signaller converts the lock from CR to EX (exclusive). 3) Your signallees' blocking ASTs trip; they drop the lock to NL, and queue a request (asynchronously) for the lock to go from NL to CR with a blocking AST again. 4) Your signallees do their work. 5) Your signaller converts the lock back to CR after getting the EX lock. This is a "broad brush" description and not complete. I implemented somthing like this using 2 locks with data being carried back in forth in the lock value block of one of them. You also have to determine if you signallees will have ASTs disabled or unavailable for any length of time -- no signal can be sent during that time. (There are ways around this, too, but they're pretty convoluted, and I'm not willing to describe them off the top of my head and incur the wrath of Ehud, et. al. :-) ) As someone else pointed out, you will probably require a minimal amount of handshaking in order to get the thing to work at all. Eric Richards richarde@eglin.af.mil TYBRIN Corp Eglin AFB, FL 904/882-9795