#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
#include "syscall.h"

int dup2(int old, int new) {
  int r;
#ifdef SYS_dup2
  while ((r = __syscall(SYS_dup2, old, new)) == -EBUSY)
    ;
#else
  if (old == new) {
    r = __syscall(SYS_fcntl, old, F_GETFD);
    if (r >= 0)
      return old;
  } else {
    while ((r = __syscall(SYS_dup3, old, new, 0)) == -EBUSY)
      ;
  }
#endif
  return __syscall_ret(r);
}
