vm/qubes-rpc: move set_(non)?block to ioall.c as can be used not only in qrexec

This commit is contained in:
Marek Marczykowski 2012-08-25 01:11:22 +02:00
parent e03eab7137
commit 77b2758c93
3 changed files with 13 additions and 12 deletions

View File

@ -109,18 +109,6 @@ int write_stdin(int fd, int client_id, char *data, int len,
}
void set_nonblock(int fd)
{
int fl = fcntl(fd, F_GETFL, 0);
fcntl(fd, F_SETFL, fl | O_NONBLOCK);
}
void set_block(int fd)
{
int fl = fcntl(fd, F_GETFL, 0);
fcntl(fd, F_SETFL, fl & ~O_NONBLOCK);
}
/*
Data feed process has exited, so we need to clear all control structures for
the client. However, if we have buffered data for the client (which is rare btw),

View File

@ -32,6 +32,17 @@ void perror_wrapper(char * msg)
errno=prev;
}
void set_nonblock(int fd)
{
int fl = fcntl(fd, F_GETFL, 0);
fcntl(fd, F_SETFL, fl | O_NONBLOCK);
}
void set_block(int fd)
{
int fl = fcntl(fd, F_GETFL, 0);
fcntl(fd, F_SETFL, fl & ~O_NONBLOCK);
}
int write_all(int fd, void *buf, int size)
{

View File

@ -1,3 +1,5 @@
int write_all(int fd, void *buf, int size);
int read_all(int fd, void *buf, int size);
int copy_fd_all(int fdout, int fdin);
void set_nonblock(int fd);
void set_block(int fd);