]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
Fix a problem where the ack variable can be referenced before being initialized
authorliang_mike <liang_mike>
Fri, 20 Feb 2009 10:06:38 +0000 (10:06 +0000)
committerliang_mike <liang_mike>
Fri, 20 Feb 2009 10:06:38 +0000 (10:06 +0000)
support/sdk/python/tos.py

index bbce96f2dac4989cb2b7e7bec1e5ef98e968204b..a8f008d2818ac14bbb9b855dcf85c0449d566ab6 100644 (file)
@@ -370,6 +370,7 @@ class SimpleAM(object):
     def write(self, packet, amId, timeout=5, blocking=True, inc=1):
         self.seqno = (self.seqno + inc) % 256
         prevTimeout = self._source.getTimeout()
+        ack = None
         end = None
         if timeout: end = time.time() + timeout
         while not end or time.time() < end:
@@ -396,7 +397,7 @@ class SimpleAM(object):
                 break
         self._source.setTimeout(prevTimeout)
         #print 'SimpleAM:write: got an ack:', ack, ack.seqno == self.seqno
-        return ack.seqno == self.seqno
+        return (ack != None and ack.seqno == self.seqno)
 
     def setOobHook(self, oobHook):
         self.oobHook = oobHook