summaryrefslogtreecommitdiff
path: root/ACE/performance-tests/Synch-Benchmarks/Perf_Test/Benchmark_Performance.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/performance-tests/Synch-Benchmarks/Perf_Test/Benchmark_Performance.cpp')
-rw-r--r--ACE/performance-tests/Synch-Benchmarks/Perf_Test/Benchmark_Performance.cpp60
1 files changed, 60 insertions, 0 deletions
diff --git a/ACE/performance-tests/Synch-Benchmarks/Perf_Test/Benchmark_Performance.cpp b/ACE/performance-tests/Synch-Benchmarks/Perf_Test/Benchmark_Performance.cpp
new file mode 100644
index 00000000000..48fe88cad2f
--- /dev/null
+++ b/ACE/performance-tests/Synch-Benchmarks/Perf_Test/Benchmark_Performance.cpp
@@ -0,0 +1,60 @@
+// $Id$
+
+#define ACE_BUILD_SVC_DLL
+#include "Benchmark_Performance.h"
+#include "ace/Basic_Types.h"
+
+ACE_RCSID(Synch_Benchmarks, Benchmark_Performance, "$Id$")
+
+#if defined (ACE_HAS_THREADS)
+
+// Global variables (used by the dynamically linked services).
+ACE_Svc_Export int synch_count;
+int buffer;
+
+// Initialize the static variables.
+/* static */
+sig_atomic_t Benchmark_Performance::done_ = 0;
+
+Benchmark_Performance_Test_Base::Benchmark_Performance_Test_Base (void)
+ : Benchmark_Base (Benchmark_Base::PERFORMANCE)
+{
+}
+
+sig_atomic_t
+Benchmark_Performance::done (void)
+{
+ return Benchmark_Performance::done_;
+}
+
+void
+Benchmark_Performance::done (sig_atomic_t d)
+{
+ Benchmark_Performance::done_ = d;
+}
+
+int
+Benchmark_Performance::init (int, ACE_TCHAR **)
+{
+ return 1;
+}
+
+int
+Benchmark_Performance::info (ACE_TCHAR **, size_t) const
+{
+ return -1;
+}
+
+int
+Benchmark_Performance::fini (void)
+{
+ return -1;
+}
+
+void *
+Benchmark_Performance::svc_run (Benchmark_Performance *bp)
+{
+ return (void *) (bp->svc () == -1 ? (intptr_t) -1 : (intptr_t) 0);
+}
+
+#endif /* ACE_HAS_THREADS */