diff options
Diffstat (limited to 'guts/dup2.c')
-rw-r--r-- | guts/dup2.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/guts/dup2.c b/guts/dup2.c new file mode 100644 index 0000000..360c3ad --- /dev/null +++ b/guts/dup2.c @@ -0,0 +1,19 @@ +/* + * static int + * wrap_dup2(int oldfd, int newfd) { + * int rc = -1; + */ + int save_errno; + + /* close existing one first - this also causes the socket to the + * server to get moved around if someone tries to overwrite it. */ + pseudo_debug(2, "dup2: %d->%d\n", oldfd, newfd); + pseudo_client_op(OP_CLOSE, 0, newfd, -1, 0, 0); + rc = real_dup2(oldfd, newfd); + save_errno = errno; + pseudo_client_op(OP_DUP, 0, oldfd, newfd, 0, 0); + errno = save_errno; + +/* return rc; + * } + */ |