On 10/08/2008 09:54 PM, Vinicius Petrucci wrote: > hi, > > I'm writing a module that needs to modify the elements (workers) of > load balancers. That is, to move workers between different balancers. > > for example, suppose we have two balancers b1 and b2. also, we have a > worker "w" to be moved from "b1" to "b2" > > basically, I do a push in "b2->workers" array: > > new_worker = apr_array_push(b2->workers); > memcpy(new_worker, w, sizeof(proxy_worker)); > > then, I decrement by one the elements from "b1" --- we still need to guarantee > that the positions of "b1->workers" array are fixed (shifted): > > proxy_worker *tmp_w = w++; > for (j = i; j < b1->workers->nelts-1; j++, tmp_w = w, w++) { > memcpy(tmp_w, w, sizeof(proxy_worker)); > } > b1->workers->nelts--; > > the problem is that in my module these changes are made. but when I > use the balancer-manager interface to list the balancer and respective > workers' settings, nothing has changed. this information isn't shared between > the modules?
Correct. So you cannot change the assignment of workers to a balancer during runtime. BTW: What is the goal that rises the need for you to change the assignment of workers to balancers during runtime? Regards RĂ¼diger