summaryrefslogtreecommitdiff
path: root/ACE/tests/Bug_3500_Regression_Test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/tests/Bug_3500_Regression_Test.cpp')
-rw-r--r--ACE/tests/Bug_3500_Regression_Test.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/ACE/tests/Bug_3500_Regression_Test.cpp b/ACE/tests/Bug_3500_Regression_Test.cpp
new file mode 100644
index 00000000000..ccb285f22c4
--- /dev/null
+++ b/ACE/tests/Bug_3500_Regression_Test.cpp
@@ -0,0 +1,54 @@
+/**
+ * @file Bug_3500_Regression_Test.cpp
+ *
+ * $Id$
+ *
+ * Reproduces the problems reported in bug 3500:
+ * http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=3500
+ *
+ * @author Bill Rizzi <rizzi@softserv.com>
+ */
+
+#include "ace/OS_NS_sys_mman.h"
+#include "ace/SString.h"
+#include "test_config.h"
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Bug_3500_Regression_Test"));
+
+ int ret = 0;
+
+#if defined(ACE_WIN32) && !defined (ACE_LACKS_MMAP)
+ ACE_HANDLE handle = ACE_INVALID_HANDLE;
+ ACE_TString name(ACE_TEXT ("Bug3500"));
+
+ void *mmap =
+ ACE_OS::mmap(0, // addr
+ 28, // len
+ PAGE_READWRITE, // prot
+ MAP_SHARED, // flags
+ ACE_INVALID_HANDLE, // file_handle
+ 0, // off
+ &handle, // file_mapping
+ 0, // sa
+ name.c_str()); // shared memory name
+
+ if (mmap == MAP_FAILED)
+ {
+ ret = -1;
+ }
+#endif
+
+ if (0 != ret)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("ACE_OS::mmap() %p\n"),
+ ACE_TEXT ("failed")));
+ }
+
+ ACE_END_TEST;
+
+ return 0;
+}