Commit graph

2553 commits

Author SHA1 Message Date
ehouse
acbf8180ef add missing lock(); track and display uptime of daemon child as well as parent 2009-07-31 12:56:04 +00:00
ehouse
80ccdd6d04 spelling... 2009-07-31 12:47:58 +00:00
ehouse
f537169db5 Assign 0 not NULL to pthread variables. 2009-07-31 12:43:04 +00:00
ehouse
bcc887c0b1 Need to remove before inserting. Todo: is there a replace? 2009-07-31 12:39:47 +00:00
ehouse
503db9cc6f up copyright 2009-07-30 12:54:17 +00:00
ehouse
f35f2fe696 add css file path 2009-07-30 12:52:05 +00:00
ehouse
ba97f096dc make css file for http interface configurable; fix bug where
connections arriving too close together would wind up with different
crefs (using new mutex).
2009-07-30 12:49:21 +00:00
ehouse
631bf4b179 write to named file for use on ISP from cron 2009-07-30 12:46:40 +00:00
ehouse
2641ab6430 bug fix: mark after locking so will unlock in destructor 2009-07-30 12:39:45 +00:00
ehouse
7338a706cb option to randomly kill xwords instances 2009-07-29 04:31:23 +00:00
ehouse
192fb50bf8 add SIGINT handler that calls quit (to save files). Listen for errors in poll. 2009-07-29 04:29:29 +00:00
ehouse
4a5d74a0af rename state to take up less space in browser; add number of respawns
to status display.
2009-07-29 04:25:21 +00:00
ehouse
8be31357ad track per-cref lifetime and display it via http 2009-07-28 05:41:15 +00:00
ehouse
9ab746d8ac Include strerror output in a few socket-related error messages. 2009-07-28 05:17:44 +00:00
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
ehouse
0d03ed71bb cleanup 2009-07-28 05:09:24 +00:00
ehouse
6b1cf247bf Don't alloc storage for fds and log buffer each time through poll
loop; instead reuse and realloc when needs to grow.
2009-07-28 05:08:15 +00:00
ehouse
8c7c457a54 shorten state names so they take up less webpage space. 2009-07-28 05:06:25 +00:00
ehouse
62b7d3c3a4 Clean up gtk case and fix post-game log checking. 2009-07-28 05:02:09 +00:00
ehouse
3b62e04d07 don't use -lmcheck. It causes a lot of crashes in places where it
certainly looks as if nothing is wrong.
2009-07-28 05:00:18 +00:00
ehouse
dddd5e1dd8 clean up logging. I got some cores that suggest overflow. This fixes
that if indeed it was happening.  Problems with sockets disappearing
while in poll may remain.
2009-07-16 04:43:33 +00:00
ehouse
19cff0f7c5 make all game ids (cookies) unique; fix success test 2009-07-16 04:36:30 +00:00
ehouse
0a0d4804dd store keys and values as const char* instead of string since the
string code was involved in a lot of crashes.
2009-07-16 04:23:02 +00:00
ehouse
8a0d963c95 include abbreviated uptime in stat row 2009-07-16 02:56:25 +00:00
ehouse
c5e73fd725 Add to http display number of games currently being hosted. 2009-07-13 03:01:22 +00:00
ehouse
582eb88f9a int->bool 2009-07-13 02:58:16 +00:00
ehouse
fed0458f2e various improvements. Runs games forever now, though exit is clumsy. 2009-07-13 02:57:41 +00:00
ehouse
d7cd277893 Add option to close stdin on startup, which seems required to run
curses version from script.  There's probably a better way...
2009-07-12 01:32:14 +00:00
ehouse
df293db349 script to run lots of games with events at more natural intervals against relay. 2009-07-12 01:18:09 +00:00
ehouse
0b65198027 ignore core files 2009-07-10 05:04:57 +00:00
ehouse
4c523b628c Make slow-robot work for curses client too. 2009-07-10 05:04:04 +00:00
ehouse
184a154c52 New feature, meant for testing relay, makes robot skip random number
of seconds within specified range before making a move.  Working only
on gtk so far, and will probably never be used other than on linux
clients.
2009-07-09 12:43:51 +00:00
ehouse
854b3d9349 use synchronized method to add map entries 2009-07-06 02:02:59 +00:00
ehouse
2ef16d44ca Include number of games played in html output; don't report closed
sockets found while reporting closed sockets (to avoid deadlock);
remove sockets from crefmgr's map when closing them so new connections
using same (re-used) socket aren't treated as belonging to open games.
2009-07-06 01:50:51 +00:00
ehouse
a680a6e5fe Always close sockets we're done with. Otherwise they leak -- don't get reused. 2009-07-06 01:32:30 +00:00
ehouse
37dc9b7b88 running under valgrind I need to handle SIGPIPE. 2009-07-06 01:31:16 +00:00
ehouse
7893c2066a get rid of gratuitous echo 2009-07-05 01:46:27 +00:00
ehouse
c0073183ba improve relay test script to better run in a loop. 2009-07-03 14:55:20 +00:00
ehouse
f4db39f490 synchronize reads of std::map to fix crash due to memory corruption.
Apparently containers aren't thread-safe even for reads.
2009-07-03 14:54:21 +00:00
ehouse
a954286960 avoid mempool assertions by cleaning up on way out 2009-06-30 12:55:47 +00:00
ehouse
9b29e45ea4 plug valgrind-found leak; prefer localtime_r. 2009-06-29 12:58:30 +00:00
ehouse
c347bbd963 tweak new game dialog 2009-05-01 04:36:58 +00:00
ehouse
e19e8411cb fix compilation error 2009-05-01 04:29:13 +00:00
ehouse
927c363edf Move more (hopefully this is it) strings into resources; make sure all
three .rc files have all strings.
2009-04-30 04:25:17 +00:00
ehouse
ce09a83b12 script to check that .rc files have all expected ids defined 2009-04-30 04:20:30 +00:00
ehouse
ee2e1e1234 Move another string from code into resources. 2009-04-26 20:21:21 +00:00
ehouse
0c5088192d remove logging 2009-04-26 20:20:14 +00:00
ehouse
e4977e2c5f Add ability to scroll dialogs by dragging. Works only on
touchscreens, and has no sense of momentum.
2009-04-26 20:10:28 +00:00
ehouse
eb5ee8431b check string ids back in rather than generating; move macro from .rc
file into new .h all can include; use XWCOMBO more; build shippable
files in new built directory within obj_*; don't tell windres that
french is english.
2009-04-24 05:36:31 +00:00
ehouse
6638b251e0 Give all labels real IDs so can be moved; flesh out locale picker
dialog; add macro to replace listbox/combo triplet; rename some ids.
2009-04-23 12:37:07 +00:00