pointing at who?

Tim Peters tim.one at home.com
Sat Feb 17 13:47:13 EST 2001


[Ben de Luca]
> hmm i am trying to find out how the assignmnet in this situation would
> occure, is talkingdata[1] the same as
> (talkingTo[CorrectNumber])[1] in this
> situation

I'm doing my best to break this at sentence boundaries, but you didn't make
it easy <wink>.  The answer is probably "yes".

> in essense i want to wait for the switch to flip? can i do this
> other wise i will have to use another message or starve
>
>
> talkingData=[sender,threading.Event(),''] #create working data

Cool.

> data=[] #create final data

You never use this again, so unclear why it's here.

> self.talkingToLock.acquire() #one hand in the cookie jar at a time
> self.talkingTo.append(talkingData) #put in the cookies
> self.talkingToLock.release()#shut the lid

You didn't tell us anything about self.talkingTo.  Assuming it's a list.  If
so, list.append is atomic and you don't really need the acquire/release pair
around it.

> talkingData[1].wait() #wait for response

After list.append(x), and regardless of x,

    list[-1] is x

is true.  So, ya, for some value of i,

    self.talkingTo[i] is talkingData

is true, i.e. they're exactly the same object.

BTW, drop the fiddly list and create a little SharedData (whatever) class so
you can at least *name* these fields.  Meaningless little integers will come
back to bite you some day.

they-breed-in-the-dark-and-some-have-very-sharp-edges-ly y'rs  - tim





More information about the Python-list mailing list