> Observe:
> 

also observe (as ron noted) this happens mostly on
pipes.  this would tend to cause pipes to shutdown
from right to left.

; 8c -FVTw roman.c && 8l -o roman roman.8
; {roman | dd >/dev/null} & sleep 7; slay dd|rc
write good
write good
; note: sys: write on closed pipe pc=0x0000270a
write: i/o on hungup channel

; roman > roman.out & sleep 7; rm roman.out
write good
write good
; write: phase error -- directory entry not allocated

---

#include <u.h>
#include <libc.h>

void
notary(void*, char *s)
{
        fprint(2, "note: %s\n", s);
        noted(NCONT);
}

void
main(void)
{
        notify(notary);
        for(;;){
                if(write(1, "roman", 5) != 5){
                        fprint(2, "write: %r\n");
                        exits("write");
                }
                fprint(2, "write good\n");
                sleep(5000);
        }
}

Reply via email to