summaryrefslogtreecommitdiff
path: root/examples/Shared_Malloc/test_position_independent_malloc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/Shared_Malloc/test_position_independent_malloc.cpp')
-rw-r--r--examples/Shared_Malloc/test_position_independent_malloc.cpp83
1 files changed, 18 insertions, 65 deletions
diff --git a/examples/Shared_Malloc/test_position_independent_malloc.cpp b/examples/Shared_Malloc/test_position_independent_malloc.cpp
index 843310da32e..1b62b6d184b 100644
--- a/examples/Shared_Malloc/test_position_independent_malloc.cpp
+++ b/examples/Shared_Malloc/test_position_independent_malloc.cpp
@@ -5,29 +5,26 @@
#include "ace/Malloc.h"
#include "ace/Based_Pointer_T.h"
-#include "ace/Get_Opt.h"
#include "ace/Synch.h"
-#include "test_position_independent_malloc.h"
ACE_RCSID(Shared_Malloc, test_multiple_mallocs, "$Id$")
-#if 0
-typedef ACE_Malloc <ACE_MMAP_MEMORY_POOL, ACE_Process_Mutex> MALLOC;
+typedef ACE_Malloc <ACE_MMAP_MEMORY_POOL, ACE_Process_Mutex> MALLOC;
// Default address for memory-mapped files.
static void *base_addr = ACE_DEFAULT_BASE_ADDR;
-#if 0
-// Some dummy data
+// Some dummy data
struct Dummy_Data
{
int i1_;
int i2_;
int i3_;
- // ACE_Based_Pointer<Dummy_Data> next_;
+ ACE_Based_Pointer<Dummy_Data> next_;
};
-struct Long_Test
+#if 0
+struct Long_Test
{
ACE_Based_Pointer<long> bpl_;
long array_[10];
@@ -37,21 +34,17 @@ struct Long_Test
static void
print (Dummy_Data *data)
{
-#if 0
ACE_DEBUG ((LM_DEBUG,
"<<<<\ni1_ = %d, i2_ = %d, i3_ = %d\n",
- data->i1_,
+ data->i1_,
data->i2_,
data->i3_));
ACE_DEBUG ((LM_DEBUG,
"i1_ = %d, i2_ = %d, i3_ = %d\n>>>>\n",
- data->next_->i1_,
+ data->next_->i1_,
data->next_->i2_,
data->next_->i3_));
-#else
- ACE_UNUSED_ARG (data);
-#endif /* 0 */
}
static void *
@@ -63,21 +56,14 @@ initialize (MALLOC *allocator)
0);
Dummy_Data *data1 = new (ptr) Dummy_Data;
- data1->i1_ = 111;
- data1->i2_ = 222;
- data1->i3_ = 333;
-
void *gap = 0;
ACE_ALLOCATOR_RETURN (gap,
allocator->malloc (sizeof (256)),
0);
- allocator->free (gap);
-
ACE_ALLOCATOR_RETURN (ptr,
allocator->malloc (sizeof (Dummy_Data)),
0);
-#if 0
Dummy_Data *data2 = new (ptr) Dummy_Data;
data1->next_ = data2;
@@ -89,6 +75,7 @@ initialize (MALLOC *allocator)
data2->next_->i2_ = -222;
data2->next_->i3_ = -333;
+#if 0
// Test in shared memory using long (array/pointer)
ACE_ALLOCATOR_RETURN (ptr,
allocator->malloc (sizeof (Long_Test)),
@@ -122,35 +109,17 @@ initialize (MALLOC *allocator)
long longCont_lcl4 = lt_lcl->bpl_[4];
#endif /* 0 */
- return data1;
-}
-
-static void
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opt (argc, argv, "a:T");
+ allocator->free (gap);
- for (int c;
- (c = get_opt ()) != -1;
- )
- {
- switch (c)
- {
- case 'a':
- // Override the default base address.
- base_addr = (void *) ACE_OS::atoi (get_opt.optarg);
- break;
- case 'T':
- ACE_Trace::start_tracing ();
- break;
- }
- }
+ return data1;
}
-int
+int
main (int argc, char *argv[])
{
- parse_args (argc, argv);
+ if (argc > 1)
+ // Override the default base address.
+ base_addr = (void *) ACE_OS::atoi (argv[1]);
ACE_MMAP_Memory_Pool_Options options (base_addr);
@@ -161,17 +130,14 @@ main (int argc, char *argv[])
"dummy_lock",
&options),
1);
- void *data = 0;
+ void *data = 0;
// This is the first time in, so we allocate the memory and bind it
// to the name "foo".
if (allocator->find ("foo",
data) == -1)
{
- // data = initialize (allocator);
-
- data = allocator->malloc (sizeof (long));
- *(long *) data = -36;
+ data = initialize (allocator);
if (allocator->bind ("foo",
data) == -1)
@@ -188,10 +154,8 @@ main (int argc, char *argv[])
else
{
// @@ Add a new print statement...
- // print ((Dummy_Data *) data);
- ACE_DEBUG ((LM_DEBUG,
- "data = %d\n",
- *(long *) data));
+ print ((Dummy_Data *) data);
+
allocator->free (data);
allocator->remove ();
ACE_DEBUG ((LM_DEBUG,
@@ -203,17 +167,6 @@ main (int argc, char *argv[])
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
template class ACE_Based_Pointer<Dummy_Data>;
-template class ACE_Based_Pointer_Basic<Dummy_Data>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
#pragma instantiate ACE_Based_Pointer<Dummy_Data>
-#pragma instantiate ACE_Based_Pointer_Basic<Dummy_Data>
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-#else
-int
-main (int, char *[])
-{
- ACE_ERROR_RETURN ((LM_ERROR,
- "sorry, example not finished yet\n"),
- 1);
-}
-#endif /* 0 */