Re: apache shared memory
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] >>> >>> > >
Re: apache shared memory
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
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
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]