In the future, the application itself will be able to handle multiple requests simultaneously. This will be especially emportant if there are requests that consume alot of application time, like indexing large databases. i suppose this mean that with this new version of pcgi, one has to write thread-safe code (although I still have to lean what thread-safe code is :-)). For example, one wouldn't write this:
class MyData: """give access to my data""" def __init__(self): self.curs=db.cursor() # shared data -- bad def request0(self): """list the table0 content""" self.curs.execute("select * from table0") return self.curs.fetchall() def request1(self): """list the table1 content""" self.curs.execute("select * from table1") return self.curs.fetchall() bobo_application=MyData() One would write this instead: class MyData: """give access to my data""" def request0(self): """list the table0 content""" curs=db.cursor() curs.execute("select * from table0") return curs.fetchall() def request1(self): """list the table1 content""" curs=db.cursor() curs.execute("select * from table1") return curs.fetchall() bobo_application=MyData() Am i right? (about the fact that one should write thread-safe code *now* to support the new pcgi way of doing) Of course, this code is just an example, it is not what i intend to do. Also, why do i get each answer twice? I suppose you guy hit the "reply to all" button, which reply both to me and to the list. On another list, they hack the messages in such a way that when you reply to the sender, it gets to the list, not the sender. I don't know how they do it, but it works. Maybe you could do something similar for zope@zope.org ? Regards, Jephte CLAIN Service Informatique CHSR