diff options
Diffstat (limited to 'examples/Shared_Malloc/test_position_independent_malloc.cpp')
-rw-r--r-- | examples/Shared_Malloc/test_position_independent_malloc.cpp | 83 |
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 */ |