struct pipe_call {
int ret;
int fds[2];
+ bool closed[2];
};
struct read_call {
ssize_t ret;
+ off_t off;
int fd;
void *buf;
size_t count;
int fd;
const void *buf;
size_t count;
+ off_t off;
};
struct fcntl_call {
bool fail;
/* What we set errno to. */
int error;
+ /* How do we clean this up? */
+ void (*cleanup)(void *u);
/* The actual call data. */
union {
struct calloc_call calloc;