[omniORB] [Fwd: omniORB on Tru64 - problem with stack size]

Lazar Stricevic lucky at uns.ns.ac.yu
Mon Nov 19 17:02:06 GMT 2007


Hi everyone,

We encountered a problem with stack size of omniORB on Tru64 v5.1. It 
turned out that stack is too small for us (it is only 32768 bytes), so 
we had to increase it. Stack size was increased to 1MB (since it seems 
to be stack size on Windows) and omniORB has been running fine with it 
for some time now.
Change was made to omniORB-4.1.1/src/lib/omnithread/posix.cc Patch file 
for omniORB 4.1.1 is attached and patch files for older versions are 
available upon request.

Regards,
Lazar


-------------- next part --------------
diff -cr omniORB-4.1.1/src/lib/omnithread/posix.cc src/lib/omnithread/posix.cc
*** omniORB-4.1.1/src/lib/omnithread/posix.cc	Fri Jul  8 19:04:58 2005
--- src/lib/omnithread/posix.cc	Mon Jul  9 17:00:46 2007
***************
*** 281,289 ****
  static int highest_priority;
  #endif
  
! #if defined(__osf1__) && defined(__alpha__) || defined(__VMS)
  // omniORB requires a larger stack size than the default (21120) on OSF/1
  static size_t stack_size = 32768;
  #elif defined(__rtems__)
  static size_t stack_size = ThreadStackSize;
  #elif defined(__aix__)
--- 281,291 ----
  static int highest_priority;
  #endif
  
! #if defined(__osf1__) && defined(__alpha__) && (__OSVERSION__ < 5) || defined(__VMS)
  // omniORB requires a larger stack size than the default (21120) on OSF/1
  static size_t stack_size = 32768;
+ #elif defined(__osf1__) && defined(__alpha__) && (__OSVERSION__ >= 5)
+ static size_t stack_size = 1048576; //Added by Vladislav Vrtunski, DMS Gruop. It is 1MB to be the same as on WinNT.
  #elif defined(__rtems__)
  static size_t stack_size = ThreadStackSize;
  #elif defined(__aix__)
***************
*** 943,949 ****
  unsigned long
  omni_thread::stacksize()
  {
!   return stack_size;
  }
  
  //
--- 945,952 ----
  unsigned long
  omni_thread::stacksize()
  {
!   return stack_size
! ;
  }
  
  //



More information about the omniORB-list mailing list