summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhunt <hunt>2007-07-16 17:20:31 +0000
committerhunt <hunt>2007-07-16 17:20:31 +0000
commitab3a415066fb4f086a99952012547db468113542 (patch)
treeec228f2037a3ee6d3f698ceea5e1c4a825633663
parent7f9250cd27a07cf41fd6a5cd1dbd45527f475b15 (diff)
downloadsystemtap-steved-ab3a415066fb4f086a99952012547db468113542.tar.gz
systemtap-steved-ab3a415066fb4f086a99952012547db468113542.tar.xz
systemtap-steved-ab3a415066fb4f086a99952012547db468113542.zip
2007-07-16 Martin Hunt <hunt@redhat.com>
* select.c, poll.c: New.
-rw-r--r--testsuite/systemtap.syscall/ChangeLog4
-rw-r--r--testsuite/systemtap.syscall/poll.c35
-rw-r--r--testsuite/systemtap.syscall/select.c34
3 files changed, 73 insertions, 0 deletions
diff --git a/testsuite/systemtap.syscall/ChangeLog b/testsuite/systemtap.syscall/ChangeLog
index e76fb33d..34bdf664 100644
--- a/testsuite/systemtap.syscall/ChangeLog
+++ b/testsuite/systemtap.syscall/ChangeLog
@@ -1,3 +1,7 @@
+2007-07-16 Martin Hunt <hunt@redhat.com>
+
+ * select.c, poll.c: New.
+
2007-07-10 Martin Hunt <hunt@redhat.com>
* uid16.c (main): 16-bit syscalls now have
diff --git a/testsuite/systemtap.syscall/poll.c b/testsuite/systemtap.syscall/poll.c
new file mode 100644
index 00000000..436a56f7
--- /dev/null
+++ b/testsuite/systemtap.syscall/poll.c
@@ -0,0 +1,35 @@
+/* COVERAGE: epoll_create epoll_ctl epoll_wait poll ppoll */
+#define _GNU_SOURCE
+#include <sys/epoll.h>
+#include <poll.h>
+#include <signal.h>
+
+int main()
+{
+ struct epoll_event ev;
+ struct pollfd pfd = {7, 0x23, 0};
+ int fd;
+ struct timespec tim = {.tv_sec=0, .tv_nsec=200000000};
+ sigset_t sigs;
+
+ sigemptyset(&sigs);
+ sigaddset(&sigs,SIGUSR2);
+
+ fd = epoll_create(32);
+ // epoll_create (32)
+
+ epoll_ctl(fd, EPOLL_CTL_ADD, 13, &ev);
+ // epoll_ctl (3, EPOLL_CTL_ADD, 13, XXXX)
+
+ epoll_wait(fd, &ev, 17,0);
+ // epoll_wait (3, XXXX, 17, 0)
+ close(fd);
+
+ poll(&pfd, 1, 0);
+ // poll (XXXX, 1, 0)
+
+ ppoll(&pfd, 1, &tim, &sigs);
+ // ppoll (XXXX, 1, \[0.200000000\], XXXX, 8)
+
+ return 0;
+}
diff --git a/testsuite/systemtap.syscall/select.c b/testsuite/systemtap.syscall/select.c
new file mode 100644
index 00000000..1e0823a4
--- /dev/null
+++ b/testsuite/systemtap.syscall/select.c
@@ -0,0 +1,34 @@
+/* COVERAGE: select pselect6 pselect7 */
+#define _GNU_SOURCE
+#include <unistd.h>
+#include <sys/select.h>
+#include <signal.h>
+
+int main()
+{
+ int fd;
+ struct timespec tim = {0, 200000000};
+ sigset_t sigs;
+ fd_set rfds;
+ struct timeval tv = {0, 117};
+
+ sigemptyset(&sigs);
+ sigaddset(&sigs,SIGUSR2);
+
+ select( 1, &rfds, NULL, NULL, &tv);
+ // select (1, XXXX, 0x[0]+, 0x[0]+, \[0.000117\])
+
+ tv.tv_sec = 0;
+ tv.tv_usec = 113;
+
+ select( 1, NULL, NULL, NULL, &tv);
+ // select (1, 0x[0]+, 0x[0]+, 0x[0]+, \[0.000113\])
+
+ pselect( 1, &rfds, NULL, NULL, &tim, &sigs);
+ //pselect[67] (1, XXXX, 0x[0]+, 0x[0]+, \[0.200000000\], XXXX)
+
+ pselect( 0, NULL, NULL, NULL, &tim, &sigs);
+ // pselect[67] (0, 0x[0]+, 0x[0]+, 0x[0]+, \[0.200000000\], XXXX) =
+
+ return 0;
+}