ehouse
7ca629a2f5
don't log socket closing as an error
2009-09-04 11:02:09 +00:00
ehouse
95a70862be
Lock cref before calling method that assumes lock.
2009-08-30 15:18:40 +00:00
ehouse
2a569df97f
For privacy, don't show host IP unless connection is local.
2009-08-30 15:16:06 +00:00
ehouse
b15665e041
serve http view from cached data and make cache refresh rate
...
configurable. Should make it harder to attack the relay on http port.
2009-08-21 12:32:57 +00:00
ehouse
dbf9daf71b
Fix problems reconnecting hosts where some but not all received the
...
ALLHERE message and connName: change relay protocol so cookie is
included in RECONNECT message, and hostIDs are not assigned until
ALLHERE, and change host-to-game matching to use connName first but
fall back to cookie. This fixes nearly all cases failing to reconnect
after relay goes down.
2009-08-21 12:00:09 +00:00
ehouse
493d3c226f
log when crash
2009-08-20 12:12:43 +00:00
ehouse
53133839a4
don't log list of sockets by default
2009-08-20 03:50:40 +00:00
ehouse
e96becb05f
variable name change only (for clarity)
2009-08-13 12:59:55 +00:00
ehouse
47d6d53419
make log file location configurable; remember start time as used for
...
permenent IDs on spawn rather than overall boot to avoid duplicating
cids.
2009-07-31 13:02:05 +00:00
ehouse
7077a11af6
pass .css file
2009-07-31 12:58:47 +00:00
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
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
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
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
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
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
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
9b29e45ea4
plug valgrind-found leak; prefer localtime_r.
2009-06-29 12:58:30 +00:00
ehouse
4a308f4f8e
Don't use unitialized variables (thanks valgrind :-)
2009-04-05 18:47:45 +00:00
ehouse
fbe95478ba
rename now() as uptime(); drop NTHREADS to 1 for now; include time of
...
server boot in connName and keep counter in memory rather than a file.
2009-03-10 12:52:17 +00:00
ehouse
1b49a26736
do loglevel and ports via the general-purpose config mech. No special
...
cases remain.
2009-03-05 13:49:01 +00:00
ehouse
3469dc7bf3
Make refresh interval configurable.
2009-03-02 05:29:06 +00:00
ehouse
6b3265ac47
Change config class from having a method for every configurable value
...
to returing values for string keys so adding a new config doesn't mean
modifying that class. Then add new config for addr passed to bind so
relay can be run to accept http connections from remote machines.
2009-03-02 01:50:14 +00:00
ehouse
9a8abb770d
in web console list hosts present rather than just the count
2009-02-28 19:35:32 +00:00
ehouse
3bf116c936
Add an http interface (read-only web console).
2009-02-28 16:15:59 +00:00
ehouse
03c806e961
add tarball target to help
2009-02-21 17:15:09 +00:00
ehouse
644dc3b5ad
detect duplicate initial connect packets by checking what socket they're on.
2009-02-07 18:17:17 +00:00
ehouse
53b27c96c9
Helps to compile platforms too before checking in...
2009-02-01 16:20:18 +00:00
ehouse
1ac4ef3bc6
Attempt to detect connections that are duplicates by checking if that
...
socket is already in a connection. This doesn't seem to always work,
and I may be leaking cref instances when it does, so needs debugging
still.
2009-02-01 16:00:20 +00:00
ehouse
6ba2032187
clean up event logging
2009-02-01 15:55:45 +00:00
ehouse
552f6350f9
tweaks to stop/start script to run on an ISP's server better
2008-12-31 04:26:37 +00:00