mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-18 23:12:15 +08:00
Cygwin: rename pipe.cc to fhandler_pipe.cc
move pipe syscalls to syscalls.cc Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
9db7f4d1dd
commit
91ca95ae4a
@ -287,6 +287,7 @@ DLL_OFILES:= \
|
|||||||
fhandler_floppy.o \
|
fhandler_floppy.o \
|
||||||
fhandler_netdrive.o \
|
fhandler_netdrive.o \
|
||||||
fhandler_nodevice.o \
|
fhandler_nodevice.o \
|
||||||
|
fhandler_pipe.o \
|
||||||
fhandler_proc.o \
|
fhandler_proc.o \
|
||||||
fhandler_process.o \
|
fhandler_process.o \
|
||||||
fhandler_process_fd.o \
|
fhandler_process_fd.o \
|
||||||
@ -349,7 +350,6 @@ DLL_OFILES:= \
|
|||||||
passwd.o \
|
passwd.o \
|
||||||
path.o \
|
path.o \
|
||||||
pinfo.o \
|
pinfo.o \
|
||||||
pipe.o \
|
|
||||||
poll.o \
|
poll.o \
|
||||||
posix_ipc.o \
|
posix_ipc.o \
|
||||||
pseudo-reloc.o \
|
pseudo-reloc.o \
|
||||||
|
@ -436,73 +436,3 @@ fhandler_pipe::fstatvfs (struct statvfs *sfs)
|
|||||||
set_errno (EBADF);
|
set_errno (EBADF);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __reg3
|
|
||||||
pipe_worker (int filedes[2], unsigned int psize, int mode)
|
|
||||||
{
|
|
||||||
fhandler_pipe *fhs[2];
|
|
||||||
int res = fhandler_pipe::create (fhs, psize, mode);
|
|
||||||
if (!res)
|
|
||||||
{
|
|
||||||
cygheap_fdnew fdin;
|
|
||||||
cygheap_fdnew fdout (fdin, false);
|
|
||||||
char buf[sizeof ("/proc/self/fd/pipe:[9223372036854775807]")];
|
|
||||||
__small_sprintf (buf, "/proc/self/fd/pipe:[%D]", fhs[0]->get_plain_ino ());
|
|
||||||
fhs[0]->pc.set_posix (buf);
|
|
||||||
__small_sprintf (buf, "pipe:[%D]", fhs[1]->get_plain_ino ());
|
|
||||||
fhs[1]->pc.set_posix (buf);
|
|
||||||
fdin = fhs[0];
|
|
||||||
fdout = fhs[1];
|
|
||||||
filedes[0] = fdin;
|
|
||||||
filedes[1] = fdout;
|
|
||||||
}
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
extern "C" int
|
|
||||||
_pipe (int filedes[2], unsigned int psize, int mode)
|
|
||||||
{
|
|
||||||
int res = pipe_worker (filedes, psize, mode);
|
|
||||||
int read, write;
|
|
||||||
if (res != 0)
|
|
||||||
read = write = -1;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
read = filedes[0];
|
|
||||||
write = filedes[1];
|
|
||||||
}
|
|
||||||
syscall_printf ("%R = _pipe([%d, %d], %u, %y)", res, read, write, psize, mode);
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
extern "C" int
|
|
||||||
pipe (int filedes[2])
|
|
||||||
{
|
|
||||||
int res = pipe_worker (filedes, DEFAULT_PIPEBUFSIZE, O_BINARY);
|
|
||||||
int read, write;
|
|
||||||
if (res != 0)
|
|
||||||
read = write = -1;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
read = filedes[0];
|
|
||||||
write = filedes[1];
|
|
||||||
}
|
|
||||||
syscall_printf ("%R = pipe([%d, %d])", res, read, write);
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
extern "C" int
|
|
||||||
pipe2 (int filedes[2], int mode)
|
|
||||||
{
|
|
||||||
int res = pipe_worker (filedes, DEFAULT_PIPEBUFSIZE, mode);
|
|
||||||
int read, write;
|
|
||||||
if (res != 0)
|
|
||||||
read = write = -1;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
read = filedes[0];
|
|
||||||
write = filedes[1];
|
|
||||||
}
|
|
||||||
syscall_printf ("%R = pipe2([%d, %d], %y)", res, read, write, mode);
|
|
||||||
return res;
|
|
||||||
}
|
|
@ -4959,3 +4959,73 @@ unlinkat (int dirfd, const char *pathname, int flags)
|
|||||||
__endtry
|
__endtry
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int __reg3
|
||||||
|
pipe_worker (int filedes[2], unsigned int psize, int mode)
|
||||||
|
{
|
||||||
|
fhandler_pipe *fhs[2];
|
||||||
|
int res = fhandler_pipe::create (fhs, psize, mode);
|
||||||
|
if (!res)
|
||||||
|
{
|
||||||
|
cygheap_fdnew fdin;
|
||||||
|
cygheap_fdnew fdout (fdin, false);
|
||||||
|
char buf[sizeof ("/proc/self/fd/pipe:[9223372036854775807]")];
|
||||||
|
__small_sprintf (buf, "/proc/self/fd/pipe:[%D]", fhs[0]->get_plain_ino ());
|
||||||
|
fhs[0]->pc.set_posix (buf);
|
||||||
|
__small_sprintf (buf, "pipe:[%D]", fhs[1]->get_plain_ino ());
|
||||||
|
fhs[1]->pc.set_posix (buf);
|
||||||
|
fdin = fhs[0];
|
||||||
|
fdout = fhs[1];
|
||||||
|
filedes[0] = fdin;
|
||||||
|
filedes[1] = fdout;
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" int
|
||||||
|
_pipe (int filedes[2], unsigned int psize, int mode)
|
||||||
|
{
|
||||||
|
int res = pipe_worker (filedes, psize, mode);
|
||||||
|
int read, write;
|
||||||
|
if (res != 0)
|
||||||
|
read = write = -1;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
read = filedes[0];
|
||||||
|
write = filedes[1];
|
||||||
|
}
|
||||||
|
syscall_printf ("%R = _pipe([%d, %d], %u, %y)", res, read, write, psize, mode);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" int
|
||||||
|
pipe (int filedes[2])
|
||||||
|
{
|
||||||
|
int res = pipe_worker (filedes, DEFAULT_PIPEBUFSIZE, O_BINARY);
|
||||||
|
int read, write;
|
||||||
|
if (res != 0)
|
||||||
|
read = write = -1;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
read = filedes[0];
|
||||||
|
write = filedes[1];
|
||||||
|
}
|
||||||
|
syscall_printf ("%R = pipe([%d, %d])", res, read, write);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" int
|
||||||
|
pipe2 (int filedes[2], int mode)
|
||||||
|
{
|
||||||
|
int res = pipe_worker (filedes, DEFAULT_PIPEBUFSIZE, mode);
|
||||||
|
int read, write;
|
||||||
|
if (res != 0)
|
||||||
|
read = write = -1;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
read = filedes[0];
|
||||||
|
write = filedes[1];
|
||||||
|
}
|
||||||
|
syscall_printf ("%R = pipe2([%d, %d], %y)", res, read, write, mode);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user