Re: apache shared memory

2008-12-03 Thread Michael Sutter
Hello,

I already have enabled the Axis2GlobalPoolSize parameter and I have
implemented
the service. The problem is, that the service works only every third
call and I think this
is a very strange behavior and I don't see what I have done wrong. Maybe
I have a small
error, but why it works with the simple server?

Kind regards
Michael

Manjula Peiris wrote:
 You can enable Shared memory for mod_axis2 by adding Axis2GlobalPoolSize
 parameter in the httpd.conf. And when accessing that shared variable you
 need to switch to global pool. Please see axutil_allocator.h for
 details.


 On Tue, 2008-12-02 at 11:53 +0100, Michael Sutter wrote:
   
 Hello list,

 I have a strange behavior and hopefully someone can help me. I have
 implemented a simple service and I want
 to access the shared memory of the apache daemon. The service stores a
 object, which can perform some basic
 mathematical operations and store a value.

 In the first call of the service the shared variable is initialized and
 stored with a value in the shared
 memory. Every following call should get the shared variable, add two
 numbers and store it in the shared variable
 (setLaenge(int a) in myadd.cpp). The result should look like this: first
 call 10, second call 19, third call 28 and so on,
 increasing with nine for every following call.

 The problem know is that I only get the correct value from the service
 every third call, but then the right value. For the
 other calls I always got the same, invalid value. It looks like first
 call 10, second call -1211088511, third call -1211088511,
 fourth call 19 and so on. I tested it on two servers with an older and
 newer apache, having the same behavior, but other
 incorrect values. If I test the service with the axis simple server
 everything works fine, but I don't know if I can test the
 shared memory with the simple server?

 My question now is: Does anybody knew this behavior? Maybe I have
 implemented something wrong and attached
 the service. It would be very nice, if someone can have a look inside my
 code.

 Kind regards
 Michael
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 

   


Re: apache shared memory

2008-12-03 Thread Manjula Peiris
In your code are you switching to global pool before accessing the
shared variable?
Honestly speaking I have no time to look at your code.

Thanks
-Manjula.

On Wed, 2008-12-03 at 09:07 +0100, Michael Sutter wrote:
 Hello,
 
 I already have enabled the Axis2GlobalPoolSize parameter and I have
 implemented
 the service. The problem is, that the service works only every third
 call and I think this
 is a very strange behavior and I don't see what I have done wrong.
 Maybe I have a small
 error, but why it works with the simple server?
 
 Kind regards
 Michael
 
 Manjula Peiris wrote: 
  You can enable Shared memory for mod_axis2 by adding Axis2GlobalPoolSize
  parameter in the httpd.conf. And when accessing that shared variable you
  need to switch to global pool. Please see axutil_allocator.h for
  details.
  
  
  On Tue, 2008-12-02 at 11:53 +0100, Michael Sutter wrote:

   Hello list,
   
   I have a strange behavior and hopefully someone can help me. I have
   implemented a simple service and I want
   to access the shared memory of the apache daemon. The service stores a
   object, which can perform some basic
   mathematical operations and store a value.
   
   In the first call of the service the shared variable is initialized and
   stored with a value in the shared
   memory. Every following call should get the shared variable, add two
   numbers and store it in the shared variable
   (setLaenge(int a) in myadd.cpp). The result should look like this: first
   call 10, second call 19, third call 28 and so on,
   increasing with nine for every following call.
   
   The problem know is that I only get the correct value from the service
   every third call, but then the right value. For the
   other calls I always got the same, invalid value. It looks like first
   call 10, second call -1211088511, third call -1211088511,
   fourth call 19 and so on. I tested it on two servers with an older and
   newer apache, having the same behavior, but other
   incorrect values. If I test the service with the axis simple server
   everything works fine, but I don't know if I can test the
   shared memory with the simple server?
   
   My question now is: Does anybody knew this behavior? Maybe I have
   implemented something wrong and attached
   the service. It would be very nice, if someone can have a look inside my
   code.
   
   Kind regards
   Michael
   -
   To unsubscribe, e-mail: [EMAIL PROTECTED]
   For additional commands, e-mail: [EMAIL PROTECTED]
   
  



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: apache shared memory

2008-12-03 Thread Michael Sutter
Yes, I make
axutil_allocator_switch_to_global_pool(env-allocator);
try to get the variable or create and store and
and then
axutil_allocator_switch_to_local_pool(env-allocator);

So I think this is the right way, as every third call confirm.

Kind regards
Michael

Manjula Peiris wrote:
 In your code are you switching to global pool before accessing the
 shared variable?
 Honestly speaking I have no time to look at your code.

 Thanks
 -Manjula.

 On Wed, 2008-12-03 at 09:07 +0100, Michael Sutter wrote:
   
 Hello,

 I already have enabled the Axis2GlobalPoolSize parameter and I have
 implemented
 the service. The problem is, that the service works only every third
 call and I think this
 is a very strange behavior and I don't see what I have done wrong.
 Maybe I have a small
 error, but why it works with the simple server?

 Kind regards
 Michael

 Manjula Peiris wrote: 
 
 You can enable Shared memory for mod_axis2 by adding Axis2GlobalPoolSize
 parameter in the httpd.conf. And when accessing that shared variable you
 need to switch to global pool. Please see axutil_allocator.h for
 details.


 On Tue, 2008-12-02 at 11:53 +0100, Michael Sutter wrote:
   
   
 Hello list,

 I have a strange behavior and hopefully someone can help me. I have
 implemented a simple service and I want
 to access the shared memory of the apache daemon. The service stores a
 object, which can perform some basic
 mathematical operations and store a value.

 In the first call of the service the shared variable is initialized and
 stored with a value in the shared
 memory. Every following call should get the shared variable, add two
 numbers and store it in the shared variable
 (setLaenge(int a) in myadd.cpp). The result should look like this: first
 call 10, second call 19, third call 28 and so on,
 increasing with nine for every following call.

 The problem know is that I only get the correct value from the service
 every third call, but then the right value. For the
 other calls I always got the same, invalid value. It looks like first
 call 10, second call -1211088511, third call -1211088511,
 fourth call 19 and so on. I tested it on two servers with an older and
 newer apache, having the same behavior, but other
 incorrect values. If I test the service with the axis simple server
 everything works fine, but I don't know if I can test the
 shared memory with the simple server?

 My question now is: Does anybody knew this behavior? Maybe I have
 implemented something wrong and attached
 the service. It would be very nice, if someone can have a look inside my
 code.

 Kind regards
 Michael
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]