initial check-in, version 0.5.0

This commit is contained in:
Rich Felker
2011-02-12 00:22:29 -05:00
commit 0b44a0315b
1021 changed files with 45711 additions and 0 deletions

12
src/select/poll.c Normal file
View File

@ -0,0 +1,12 @@
#include <poll.h>
#include "syscall.h"
#include "libc.h"
int poll(struct pollfd *fds, nfds_t n, int timeout)
{
int r;
CANCELPT_BEGIN;
r = syscall3(__NR_poll, (long)fds, n, timeout);
CANCELPT_END;
return r;
}

15
src/select/pselect.c Normal file
View File

@ -0,0 +1,15 @@
#include <sys/select.h>
#include "syscall.h"
#include "libc.h"
int pselect(int n, fd_set *rfds, fd_set *wfds, fd_set *efds, const struct timespec *ts, const sigset_t *mask)
{
int r;
long data[2] = { (long)mask, 8 };
struct timespec ts_tmp;
if (ts) ts_tmp = *ts;
CANCELPT_BEGIN;
r = syscall6(__NR_pselect6, n, (long)rfds, (long)wfds, (long)efds, ts ? (long)&ts_tmp : 0, (long)data);
CANCELPT_END;
return r;
}

12
src/select/select.c Normal file
View File

@ -0,0 +1,12 @@
#include <sys/select.h>
#include "syscall.h"
#include "libc.h"
int select(int n, fd_set *rfds, fd_set *wfds, fd_set *efds, struct timeval *tv)
{
int r;
CANCELPT_BEGIN;
r = syscall5(__NR__newselect, n, (long)rfds, (long)wfds, (long)efds, (long)tv);
CANCELPT_END;
return r;
}