aboutsummaryrefslogtreecommitdiffhomepage
path: root/io.cpp
diff options
context:
space:
mode:
authorGravatar Łukasz Niemier <lukasz@niemier.pl>2012-11-18 11:23:22 +0100
committerGravatar Łukasz Niemier <lukasz@niemier.pl>2012-11-18 11:23:22 +0100
commit47df1ae40adecd0a02fc7dd06ab0745cb18c3fe0 (patch)
tree13bf3e8fdcae60fdfb5fa5e26c95818dc7a49790 /io.cpp
parentb79854ad1aa814d9d35d76a1929b4726fa4bffa5 (diff)
Remove trailing whitespaces and change tabs to spaces
Diffstat (limited to 'io.cpp')
-rw-r--r--io.cpp172
1 files changed, 86 insertions, 86 deletions
diff --git a/io.cpp b/io.cpp
index a956bbbc..525f438b 100644
--- a/io.cpp
+++ b/io.cpp
@@ -1,7 +1,7 @@
/** \file io.c
Utilities for io redirection.
-
+
*/
#include "config.h"
@@ -53,105 +53,105 @@ Utilities for io redirection.
void io_buffer_read( io_data_t *d )
{
- exec_close(d->param1.pipe_fd[1] );
-
- if( d->io_mode == IO_BUFFER )
- {
-/* if( fcntl( d->param1.pipe_fd[0], F_SETFL, 0 ) )
- {
- wperror( L"fcntl" );
- return;
- } */
- debug( 4, L"io_buffer_read: blocking read on fd %d", d->param1.pipe_fd[0] );
- while(1)
- {
- char b[4096];
- long l;
- l=read_blocked( d->param1.pipe_fd[0], b, 4096 );
- if( l==0 )
- {
- break;
- }
- else if( l<0 )
- {
- /*
- exec_read_io_buffer is only called on jobs that have
- exited, and will therefore never block. But a broken
- pipe seems to cause some flags to reset, causing the
- EOF flag to not be set. Therefore, EAGAIN is ignored
- and we exit anyway.
- */
- if( errno != EAGAIN )
- {
- debug( 1,
- _(L"An error occured while reading output from code block on file descriptor %d"),
- d->param1.pipe_fd[0] );
- wperror( L"io_buffer_read" );
- }
-
- break;
- }
- else
- {
- d->out_buffer_append( b, l );
- }
- }
- }
+ exec_close(d->param1.pipe_fd[1] );
+
+ if( d->io_mode == IO_BUFFER )
+ {
+/* if( fcntl( d->param1.pipe_fd[0], F_SETFL, 0 ) )
+ {
+ wperror( L"fcntl" );
+ return;
+ } */
+ debug( 4, L"io_buffer_read: blocking read on fd %d", d->param1.pipe_fd[0] );
+ while(1)
+ {
+ char b[4096];
+ long l;
+ l=read_blocked( d->param1.pipe_fd[0], b, 4096 );
+ if( l==0 )
+ {
+ break;
+ }
+ else if( l<0 )
+ {
+ /*
+ exec_read_io_buffer is only called on jobs that have
+ exited, and will therefore never block. But a broken
+ pipe seems to cause some flags to reset, causing the
+ EOF flag to not be set. Therefore, EAGAIN is ignored
+ and we exit anyway.
+ */
+ if( errno != EAGAIN )
+ {
+ debug( 1,
+ _(L"An error occured while reading output from code block on file descriptor %d"),
+ d->param1.pipe_fd[0] );
+ wperror( L"io_buffer_read" );
+ }
+
+ break;
+ }
+ else
+ {
+ d->out_buffer_append( b, l );
+ }
+ }
+ }
}
io_data_t *io_buffer_create( bool is_input )
{
bool success = true;
- io_data_t *buffer_redirect = new io_data_t;
- buffer_redirect->out_buffer_create();
- buffer_redirect->io_mode = IO_BUFFER;
- buffer_redirect->is_input = is_input ? true : false;
- buffer_redirect->fd=is_input?0:1;
-
- if( exec_pipe( buffer_redirect->param1.pipe_fd ) == -1 )
- {
- debug( 1, PIPE_ERROR );
- wperror (L"pipe");
- success = false;
- }
- else if( fcntl( buffer_redirect->param1.pipe_fd[0],
- F_SETFL,
- O_NONBLOCK ) )
- {
- debug( 1, PIPE_ERROR );
- wperror( L"fcntl" );
- success = false;
- }
-
+ io_data_t *buffer_redirect = new io_data_t;
+ buffer_redirect->out_buffer_create();
+ buffer_redirect->io_mode = IO_BUFFER;
+ buffer_redirect->is_input = is_input ? true : false;
+ buffer_redirect->fd=is_input?0:1;
+
+ if( exec_pipe( buffer_redirect->param1.pipe_fd ) == -1 )
+ {
+ debug( 1, PIPE_ERROR );
+ wperror (L"pipe");
+ success = false;
+ }
+ else if( fcntl( buffer_redirect->param1.pipe_fd[0],
+ F_SETFL,
+ O_NONBLOCK ) )
+ {
+ debug( 1, PIPE_ERROR );
+ wperror( L"fcntl" );
+ success = false;
+ }
+
if (! success)
{
delete buffer_redirect;
buffer_redirect = NULL;
}
-
- return buffer_redirect;
+
+ return buffer_redirect;
}
void io_buffer_destroy( io_data_t *io_buffer )
{
- /**
- If this is an input buffer, then io_read_buffer will not have
- been called, and we need to close the output fd as well.
- */
- if( io_buffer->is_input )
- {
- exec_close(io_buffer->param1.pipe_fd[1] );
- }
-
- exec_close( io_buffer->param1.pipe_fd[0] );
-
- /*
- Dont free fd for writing. This should already be free'd before
- calling exec_read_io_buffer on the buffer
- */
- delete io_buffer;
+ /**
+ If this is an input buffer, then io_read_buffer will not have
+ been called, and we need to close the output fd as well.
+ */
+ if( io_buffer->is_input )
+ {
+ exec_close(io_buffer->param1.pipe_fd[1] );
+ }
+
+ exec_close( io_buffer->param1.pipe_fd[0] );
+
+ /*
+ Dont free fd for writing. This should already be free'd before
+ calling exec_read_io_buffer on the buffer
+ */
+ delete io_buffer;
}
void io_chain_t::remove(const io_data_t *element)
@@ -216,7 +216,7 @@ void io_print(const io_chain_t &chain)
fprintf(stderr, "Empty chain %p\n", &chain);
return;
}
-
+
fprintf(stderr, "Chain %p (%ld items):\n", &chain, (long)chain.size());
for (size_t i=0; i < chain.size(); i++) {
const io_data_t *io = chain.at(i);
@@ -247,7 +247,7 @@ void io_duplicate_prepend( const io_chain_t &src, io_chain_t &dst )
return dst.duplicate_prepend(src);
}
-void io_chain_destroy(io_chain_t &chain)
+void io_chain_destroy(io_chain_t &chain)
{
chain.destroy();
}