Mirror of git://xwords.git.sourceforge.net/gitroot/xwords/xwords
Find a file
ehouse 8284799abe Fix crashes resulting from deleting cref instances in one thread while
another wanted to operate on them.  The root problem is that you can't
dispose of a mutex while somebody's blocking on it.  So now the
locking mutexes live inside the cref class.  When the lock owner
realizes the cref needs to die, it sets a flag and it's moved to a
recycled list.  A thread blocking on the mutex will then get it, but
checks the flag and releases it immediately if it's being recycled.
(Also improve the http interface a bit.)  With these changes I've run
31K (and counting) games against the relay without a crash or deadlock
(using sim_real.sh.)  The main problem that remains is that sometimes
two games using the same cookie wind up with two crefs (and so never
connect.)
2009-07-28 05:15:26 +00:00
CVSROOT initial checkin 2003-08-27 19:12:36 +00:00
xwords4 Fix crashes resulting from deleting cref instances in one thread while 2009-07-28 05:15:26 +00:00