Re: [Pyobjc-dev] Never mind ;-) (was Threading behavior .xcode vs buildapp.py)
Brought to you by:
ronaldoussoren
From: Steve S. <st...@sp...> - 2004-10-28 04:06:10
|
OK.. I found the problem. Doh! I had left in the bit that started the Application using buildapp.py when I switched back to xcode. How that affects xmlrpclib.loads I have no idea... but the code at least works now. -steve On Oct 27, 2004, at 3:30 PM, Steve Spicklemire wrote: > Hi Folks, > > I'm just getting started with PyObjC.. and I love it so far... but > I've run into my first show-stopper. > > I have a Thread subclass (see below) that gets null-delimited data > from a socket. Each 'packet' is really just an XMLRPC 'pickle' that is > decoded and pushed to a client queue after it's parsed. I'm using > xmlrpclib to parse the packets. The strange thing is, when I run this > code from the command line, or inside an app built with buildapp.py, > it works fine. If, however, I use it in an app built as an xcode > project, the parser never returns! (?). I'm at a bit of a loss.... I > haven't figured out how to run pdb in an xcode project... Has anyone > ever seen this kind of weird behavior? Any thoughts on what I might > look for? > > thanks! > -steve > > class XML_Monitor( Thread ): > > running = 0 > > def __init__(self, client): > Thread.__init__(self) > self.client = client > > def run(self): > """ > wait on xml... > """ > self.running = 1 > self.currData = '' > > pool = None > while 1: > pool = NSAutoreleasePool.alloc().init() > > try: > data = self.client.sck.recv(BUFSIZE) # collect a > chunk of the response > if not data: break # if we got an > empty string, that's all there is. > except timeout: > if self.running: > continue > else: > break > > self.currData += data > if '\0' in self.currData: > items = self.currData.split('\0') > item = items[0] > self.currData = '\0'.join(items[1:]) > dList = loads(item) > self.client.queue.put(dList[0]) > > del pool > pool = None > > if pool is not None: > del pool > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: > Sybase ASE Linux Express Edition - download now for FREE > LinuxWorld Reader's Choice Award Winner for best database on Linux. > http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click > _______________________________________________ > Pyobjc-dev mailing list > Pyo...@li... > https://lists.sourceforge.net/lists/listinfo/pyobjc-dev > |