#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <misc/debug.h>
#include <core/tx.h>
#include <core/config.h>
#include <core/koa.h>
#include <core/buffer.h>
#include <core/txdesc.h>
#include <core/stats.h>
#include <libc/syscalls.h>
#include <xcalls/xcalls.h>
Go to the source code of this file.
Classes | |
struct | x_pipe_undo_args_s |
Typedefs | |
typedef x_pipe_undo_args_s | x_pipe_undo_args_t |
Functions | |
int XCALL_DEF() | x_pipe (int fildes[2], int *result) |
Creates a pipe. |
Definition in file x_pipe.c.
int XCALL_DEF() x_pipe | ( | int | fildes[2], | |
int * | result | |||
) |
Creates a pipe.
Creates a pair of file descriptors, pointing to a pipe inode.
Execution : in-place
Asynchronous failures : abort
[in,out] | fildes | Array where to place the new file descriptors. |
[out] | result | Where to store any asynchronous failures. |
Definition at line 79 of file x_pipe.c.
References x_pipe_undo_args_s::fd, x_pipe_undo_args_s::koa, txc_buffer_linear_malloc(), txc_g_koamgr, TXC_INTERNALERROR, txc_koa_attach_fd(), txc_koa_create(), TXC_KOA_CREATE_UNDO_ACTION_ORDER, txc_koa_get_sentinel(), TXC_KOA_IS_PIPE_READ_END, TXC_KOA_IS_PIPE_WRITE_END, txc_koa_lock_fd(), txc_koa_unlock_fd(), TXC_R_SUCCESS, txc_sentinel_tryacquire(), txc_stats_txstat_increment, txc_tx_get_txd(), txc_tx_get_xactstate(), txc_tx_register_undo_action(), and x_pipe().