diff options
Diffstat (limited to 'omusrmsg.c')
-rw-r--r-- | omusrmsg.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -120,6 +120,8 @@ static void wallmsg(register selector_t *f) return; iovCreate(f); /* init the iovec */ +printf("gen iIovUsed %d\n", f->f_iIovUsed); +printf("iovUsed address: %x, size %d\n",&f->f_iIovUsed, sizeof(selector_t)); /* open the user login file */ setutent(); @@ -179,13 +181,20 @@ static void wallmsg(register selector_t *f) (void) signal(SIGALRM, endtty); (void) alarm(15); /* open the terminal */ +//errno = 0; ttyf = open(p, O_WRONLY|O_NOCTTY); +printf("try tty '%s' open: %d\n", p, ttyf); if (ttyf >= 0) { +printf("tty open!\n"); struct stat statb; if (fstat(ttyf, &statb) == 0 && - (statb.st_mode & S_IWRITE)) - (void) writev(ttyf, f->f_iov, f->f_iIovUsed); + (statb.st_mode & S_IWRITE)) { +int written; + // (void) writev(ttyf, f->f_iov, f->f_iIovUsed); + written = writev(ttyf, f->f_iov, f->f_iIovUsed); +printf("write tty %d bytes, iIovUsed %d\n", written, f->f_iIovUsed); + } close(ttyf); ttyf = -1; } |