It probably matters which OS. I would advise running ktrace/ktruss to
see which syscalls are made. Coda has the notion of opening a file
for write, writes, and then a store. Offhand, I don't know why
suspend would be an issues. A process may be in the kernel waiting on
the venus pioctl for venus to respond to an operation, and that may
fail to be interrupted.
Also, I don't know if cp behaves well if some of the read/write
syscalls return EINTR, or if it just gives up. It is unclear to me
how and to what extent a good program is supposed to cope with this
and retry.
On BSD, grok sys/coda/*.c, the VFS rules, and signal delivery. After
several weeks of just reading code, you will be enlightened and able
to fix any issues that are present :-)
--
Greg Troxel <[EMAIL PROTECTED]>