aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/test/estone_SUITE_data/estone_cat.c
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2009-11-20 14:54:40 +0000
committerErlang/OTP <[email protected]>2009-11-20 14:54:40 +0000
commit84adefa331c4159d432d22840663c38f155cd4c1 (patch)
treebff9a9c66adda4df2106dfd0e5c053ab182a12bd /erts/emulator/test/estone_SUITE_data/estone_cat.c
downloadotp-84adefa331c4159d432d22840663c38f155cd4c1.tar.gz
otp-84adefa331c4159d432d22840663c38f155cd4c1.tar.bz2
otp-84adefa331c4159d432d22840663c38f155cd4c1.zip
The R13B03 release.OTP_R13B03
Diffstat (limited to 'erts/emulator/test/estone_SUITE_data/estone_cat.c')
-rw-r--r--erts/emulator/test/estone_SUITE_data/estone_cat.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/erts/emulator/test/estone_SUITE_data/estone_cat.c b/erts/emulator/test/estone_SUITE_data/estone_cat.c
new file mode 100644
index 0000000000..8ed9f8375b
--- /dev/null
+++ b/erts/emulator/test/estone_SUITE_data/estone_cat.c
@@ -0,0 +1,40 @@
+/*
+ * Author: Bjorn Gustavsson
+ * Purpose: Simple portable cat utility for the estone benchmark.
+ *
+ * Compiling instructions:
+ *
+ * Unix: gcc -O2 -o estone_cat estone_cat.c
+ * Windows: cl -Ox estone_cat.c
+ */
+
+#include <sys/types.h>
+#include <fcntl.h>
+#include <errno.h>
+
+#ifdef VXWORKS
+estone_cat(argc, argv)
+#else
+main(argc, argv)
+#endif
+int argc;
+char *argv[];
+{
+ char buf[16384];
+ int n;
+
+#ifdef _O_BINARY
+ _setmode(0, _O_BINARY);
+ _setmode(1, _O_BINARY);
+#endif
+
+ for (;;) {
+ n = read(0, buf, sizeof(buf));
+ if (n <= 0 && errno == EINTR)
+ continue;
+ if (n <= 0)
+ break;
+ write(1, buf, n);
+ }
+ return 0;
+}