Hai all, 
 
Thanks a lot for your inputs and the mod_shmget source code. 
 
I have tried the apr_shm and apr_rmm api's for shared memory and dynamic 
allocating space for member elements and was working fine.. 
 
I did something like this. 
My struture is. 
 
typedef struct {    char *name; }shared_struct_t;
Where the shared_struct_t is a array of 100. and the name member element have 
to dyanamically malloced on the code flow. 
 
I found it difficult first only by getting a junk of memory from arr_shmcreate 
which i was not able to malloc further for space for the member element. 
 
The rmm (relocated memory management is the apache api which helps to manage 
any junk of memory). So i first create a Junk of memory which is shared and 
then i initialize with the rmm and further i was able to use this Junk of 
memory to allocate memory dyanamically to different elements i want.. 
 
http://apr.apache.org/docs/apr-util/0.9/group__APR__Util__RMM.html
Thanks, 
Jaysingh. 
> Date: Thu, 11 Dec 2008 22:16:42 +0100> From: sor...@gmail.com> To: 
> modules-...@httpd.apache.org> Subject: Re: Load memory dyanamically using 
> handler.> > On Thu, Dec 11, 2008 at 22:08, Sorin Manolache <sor...@gmail.com> 
> wrote:> > On Thu, Dec 11, 2008 at 19:55, Ray Morris <supp...@bettercgi.com> 
> wrote:> >> On 12/10/2008 02:09:19 AM, Sorin Manolache wrote:> >>> >>> I would 
> propose the following approach:> >>>> >>> Hook post_config. This one is 
> executed once by the parent process> >>> before any child is spawned. 
> Therefore, any resource opened there is> >>> inherited by all child 
> processes. Thus, I would create _shared_> >>> memory> >>> structures (see 
> apr_shm.h, not malloc).> >> ...> >>> Next, in child_init, _attach_ to the 
> shared memory segment (see> >> ...> >>> I hope this helps. You can contact me 
> for a code sample> >>> if you want. I don't have it handy for the moment, 
> but> >>> I can find it.> >>> >> I've seen several variations of this same> >> 
> question posted, so any sample code you may be> >> able to locate may be very 
> helpful to a lot of> >> people. I'm sure I'll need it at some point,> >> so 
> I'd file it for future use. With your permission> >> I'd post it somewhere 
> for Google to find when people> >> want to know about ways of sharing data in 
> Apache.> >> > Attached.> > Also, please note that in this example the shared 
> data is trivial> enough (an integer) to not use protection against shared 
> data> corruption through concurrent access.> > For more complicated 
> scenarios, where some sort of protection is> needed, see 
> apr_thread_rwlock.h.> > >>> >> On 12/10/2008 02:09:19 AM, Sorin Manolache 
> wrote:> >>> On Wed, Dec 10, 2008 at 06:00, Jayasingh Samuel> >>> 
> <jayasingh.sam...@hotmail.com> wrote:> >>> >> >>> >> >>> > I have 100's of 
> files stored in different directories and i load> >>> all> >>> these in the 
> memory in arrays and hash table. and i want to reload> >>> the> >>> memory 
> automatically using some handlers. When i do this in only the> >>> particular 
> child thread is having the updated one and the other> >>> request are showing 
> me the old Datas.> >>> >> >>> > 1. The shared memory to store all the 100's 
> of files in array and> >>> hash table which is dynamically malloced and 
> stored will be too> >>> costly> >>> also the synchronization.> >>> > IS there 
> any other way we can overcome this.> >>> >> >>> > 2. Is there any way a 
> handler can directly access the parent> >>> process, updating the memory and 
> removing the child process which has> >>> the old Data and spawning the new 
> child process. Can we use the> >>> mod_balancing technique of blocking the 
> request to the server and> >>> then> >>> update the parent and kill the child 
> and spawn new childrens with the> >>> updated memory.> >>> >> >>> > Please 
> guide me with you ideas.> >>>> >>> Killing processes at each update is not 
> efficient.> >>>> >>> I would propose the following approach:> >>>> >>> Hook 
> post_config. This one is executed once by the parent process> >>> before any 
> child is spawned. Therefore, any resource opened there is> >>> inherited by 
> all child processes. Thus, I would create _shared_> >>> memory> >>> 
> structures (see apr_shm.h, not malloc).> >>>> >>> Beware, post_config is run 
> every time the server configuration is> >>> reloaded. Therefore, such shared 
> memory structures would be created> >>> after each config reload. In order to 
> avoid eating up the system's> >>> resources, you'll have to make sure that 
> each created structure is> >>> also destroyed. In order to do this, 
> _register_ a function (see> >>> apr_pool_register_cleanup) that is called 
> when the conf pool is> >>> destroyed. This function would destroy the shared 
> memory structures.> >>>> >>> Next, in child_init, _attach_ to the shared 
> memory segment (see> >>> apr_shm.h). From then on, the shared memory 
> structures are shared> >>> among all child processes. Each change is visible 
> instantly in all> >>> processes.> >>>> >>> Obviously, think of 
> synchronisation. When not every atomic change> >>> results in a consistent 
> state of the shared data, you'll have to> >>> protect the shared data with 
> mutexes. See apr_thread_mutex.h and> >>> apr_thread_rwlock.h and maybe 
> others. Mutexes should be created in> >>> post_config too.> >>>> >>> I hope 
> this helps. You can contact me for a code sample if you want.> >>> I> >>> 
> don't have it handy for the moment, but I can find it.> >>>> >>> S> >>>> >>>> 
> >>> --> >>> A: Because it reverses the logical flow of conversation.> >>> Q: 
> Why is top-posting frowned upon?> >>> A: Top-posting.> >>> Q: What is the 
> most annoying thing in e-mail?> >>>> >>>> >>> >>> >>> >> >> >> > --> > A: 
> Because it reverses the logical flow of conversation.> > Q: Why is 
> top-posting frowned upon?> > A: Top-posting.> > Q: What is the most annoying 
> thing in e-mail?> >> > > > -- > A: Because it reverses the logical flow of 
> conversation.> Q: Why is top-posting frowned upon?> A: Top-posting.> Q: What 
> is the most annoying thing in e-mail?
_________________________________________________________________
Chose your Life Partner? Join MSN Matrimony FREE
http://in.msn.com/matrimony

Reply via email to