<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 04-Aug-2010, at 9:46 AM, Daniel da Silva wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Please post approximate code that actually works and displays the problem. <br><br><div class="gmail_quote">On Tue, Aug 3, 2010 at 9:00 PM, Navkirat Singh <span dir="ltr"><<a href="mailto:navkirats@gmail.com">navkirats@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex; position: static; z-index: auto; ">Hey guys,<br>
<br>
I am using a multiprocessing program, where the new process is supposed to change a variable in the main class that it branches out from. This is somehow not working, following is an approximate code. Would really appreciate any insight into this matter:<br>

<br>
<br>
var = {}<br>
<br>
class Something():<br>
<br>
        def set_var(self):<br>
                global var<br>
                var = somevalue<br>
<br>
        def get_var(self):<br>
                return var<br>
<br>
        def newprocess(self):<br>
                self.set_var()<br>
<br>
        def do_multiprocessing(self):<br>
                while true:<br>
                        self.get_var()<br>
                        new_process = process(target=newprocess)<br>
                        new_process.start()<br>
<br>
<br>
I am really confused here !<br>
<br>
Any help would be awesome : )<br>
<br>
Regards,<br>
Nav<br>
<font color="#888888"><br>
--<br>
<a href="http://mail.python.org/mailman/listinfo/python-list" target="_blank">http://mail.python.org/mailman/listinfo/python-list</a><br>
</font></blockquote></div><br>
</blockquote><br></div><div>This is a working code, streamlined, but it is where the problem is:</div><div><br></div><div><div>from multiprocessing import * </div><div><br></div><div>dicts = 0</div><div>print('global ', dicts)</div><div><br></div><div>class WebServer():</div><div><span class="Apple-tab-span" style="white-space:pre">   </span></div><div><span class="Apple-tab-span" style="white-space:pre">     </span>def set_sessionInfo(self):</div><div><span class="Apple-tab-span" style="white-space:pre">           </span>global dicts</div><div><span class="Apple-tab-span" style="white-space:pre">         </span>dicts = dicts + 1</div><div><span class="Apple-tab-span" style="white-space:pre">    </span></div><div><span class="Apple-tab-span" style="white-space:pre">     </span>def get_sessionInfo(self):</div><div><span class="Apple-tab-span" style="white-space:pre">           </span>return dicts<span class="Apple-tab-span" style="white-space:pre">        </span></div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">    </span>def handle_connection(self):</div><div><span class="Apple-tab-span" style="white-space:pre">         </span>self.set_sessionInfo()</div><div><span class="Apple-tab-span" style="white-space:pre">       </span></div><div><span class="Apple-tab-span" style="white-space:pre">     </span>def serve_forever(self):</div><div><span class="Apple-tab-span" style="white-space:pre">             </span>for x in range(10):</div><div><span class="Apple-tab-span" style="white-space:pre">                  </span>p = Process(target=self.handle_connection)</div><div><span class="Apple-tab-span" style="white-space:pre">                   </span>p.start()</div><div><span class="Apple-tab-span" style="white-space:pre">                    </span>print(self.get_sessionInfo())</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span></div><div>ws = WebServer()</div><div>ws.serve_forever()</div><div>print(dicts)</div><div><br></div></div><br></body></html>