From af0218b4920aa13c23abd38fcbacfc525b8280a4 Mon Sep 17 00:00:00 2001 From: "Michael I. Bushnell" Date: Tue, 21 Nov 1995 15:01:05 +0000 Subject: (ports_S_interrupt_operation): Set PI->cancel_threshhold if the incoming seqno is greater than the current threshhold. --- libports/interrupt-operation.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libports/interrupt-operation.c b/libports/interrupt-operation.c index 532a3f5e..5867e7c1 100644 --- a/libports/interrupt-operation.c +++ b/libports/interrupt-operation.c @@ -23,11 +23,16 @@ /* Cause a pending request on this object to immediately return. The exact semantics are dependent on the specific object. */ error_t -ports_S_interrupt_operation (mach_port_t port) +ports_S_interrupt_operation (mach_port_t port, + mach_port_seqno_t seqno) { struct port_info *pi = ports_lookup_port (0, port, 0); if (!pi) return EOPNOTSUPP; + mutex_lock (&_ports_lock); + if (pi->cancel_threshhold < seqno) + pi->cancel_threshhold = seqno; + mutex_unlock (&_ports_lock); ports_interrupt_rpc (pi); ports_port_deref (pi); return 0; -- cgit v1.2.3