diff --git a/third_party/code.google.com/p/rsc/fuse/fuse.go b/third_party/code.google.com/p/rsc/fuse/fuse.go index 2ad10c93e..e02f4fc3b 100644 --- a/third_party/code.google.com/p/rsc/fuse/fuse.go +++ b/third_party/code.google.com/p/rsc/fuse/fuse.go @@ -708,7 +708,15 @@ func (c *Conn) ReadRequest() (Request, error) { } case opInterrupt: - panic("opInterrupt") + in := (*interruptIn)(m.data()) + if m.len() < unsafe.Sizeof(*in) { + goto corrupt + } + req = &InterruptRequest{ + Header: m.Header(), + Unique: in.Unique, + } + case opBmap: panic("opBmap") @@ -1612,6 +1620,11 @@ func (r *FsyncRequest) Respond() { r.Conn.respond(out, unsafe.Sizeof(*out)) } +type InterruptRequest struct { + Header + Unique uint64 +} + /*{ // A XXXRequest xxx.