version 1.13, 1999/11/24 19:53:46 |
version 1.14, 1999/12/06 20:15:26 |
|
|
|
|
/* Flush stdout and stderr buffers. */ |
/* Flush stdout and stderr buffers. */ |
if (buffer_len(&stdout_buffer) > 0) |
if (buffer_len(&stdout_buffer) > 0) |
write(fileno(stdout), |
atomicio(write, fileno(stdout), buffer_ptr(&stdout_buffer), |
buffer_ptr(&stdout_buffer), |
buffer_len(&stdout_buffer)); |
buffer_len(&stdout_buffer)); |
|
if (buffer_len(&stderr_buffer) > 0) |
if (buffer_len(&stderr_buffer) > 0) |
write(fileno(stderr), |
atomicio(write, fileno(stderr), buffer_ptr(&stderr_buffer), |
buffer_ptr(&stderr_buffer), |
buffer_len(&stderr_buffer)); |
buffer_len(&stderr_buffer)); |
|
|
|
leave_raw_mode(); |
leave_raw_mode(); |
|
|
|
|
if (FD_ISSET(fileno(stdout), writeset)) { |
if (FD_ISSET(fileno(stdout), writeset)) { |
/* Write as much data as possible. */ |
/* Write as much data as possible. */ |
len = write(fileno(stdout), buffer_ptr(&stdout_buffer), |
len = write(fileno(stdout), buffer_ptr(&stdout_buffer), |
buffer_len(&stdout_buffer)); |
buffer_len(&stdout_buffer)); |
if (len <= 0) { |
if (len <= 0) { |
if (errno == EAGAIN) |
if (errno == EAGAIN) |
len = 0; |
len = 0; |
|
|
if (FD_ISSET(fileno(stderr), writeset)) { |
if (FD_ISSET(fileno(stderr), writeset)) { |
/* Write as much data as possible. */ |
/* Write as much data as possible. */ |
len = write(fileno(stderr), buffer_ptr(&stderr_buffer), |
len = write(fileno(stderr), buffer_ptr(&stderr_buffer), |
buffer_len(&stderr_buffer)); |
buffer_len(&stderr_buffer)); |
if (len <= 0) { |
if (len <= 0) { |
if (errno == EAGAIN) |
if (errno == EAGAIN) |
len = 0; |
len = 0; |
|
|
/* Output any buffered data for stdout. */ |
/* Output any buffered data for stdout. */ |
while (buffer_len(&stdout_buffer) > 0) { |
while (buffer_len(&stdout_buffer) > 0) { |
len = write(fileno(stdout), buffer_ptr(&stdout_buffer), |
len = write(fileno(stdout), buffer_ptr(&stdout_buffer), |
buffer_len(&stdout_buffer)); |
buffer_len(&stdout_buffer)); |
if (len <= 0) { |
if (len <= 0) { |
error("Write failed flushing stdout buffer."); |
error("Write failed flushing stdout buffer."); |
break; |
break; |
|
|
/* Output any buffered data for stderr. */ |
/* Output any buffered data for stderr. */ |
while (buffer_len(&stderr_buffer) > 0) { |
while (buffer_len(&stderr_buffer) > 0) { |
len = write(fileno(stderr), buffer_ptr(&stderr_buffer), |
len = write(fileno(stderr), buffer_ptr(&stderr_buffer), |
buffer_len(&stderr_buffer)); |
buffer_len(&stderr_buffer)); |
if (len <= 0) { |
if (len <= 0) { |
error("Write failed flushing stderr buffer."); |
error("Write failed flushing stderr buffer."); |
break; |
break; |