empserver/include
Markus Armbruster 536ef0b0a2 Add sequence numbers to game state
This oopses on output dependency violations, e.g. two threads doing a
read-modify-write without synchronization, or the one thread nesting
several read-modify-writes.  Such bugs are difficult to spot, and tend
to be abusable.  I figure we have quite a few of them.

New struct emptypedstr member seqno.  Make sure all members of unit
empobj_storage share it.  Initialize it in files: main() and
file_sct_init().  Set it in ef_blank() and new ef_set_uid() by calling
new get_seqno().  Use ef_set_uid() when copying objects: swaps(),
doland(), doship(), doplane(), dounit(), delete_old_news().  Step it
in ef_write() by calling new new_seqno().

Factor do_read() out of fillcache() to make it available for
get_seqno().
2008-05-17 22:50:30 +02:00
..
budg.h Update copyright notice 2008-01-19 10:15:37 +01:00
com.h Update copyright notice 2008-01-19 10:15:37 +01:00
combat.h Update copyright notice 2008-01-19 10:15:37 +01:00
commands.h Update copyright notice 2008-01-19 10:15:37 +01:00
commodity.h Add sequence numbers to game state 2008-05-17 22:50:30 +02:00
damage.h Update copyright notice 2008-01-19 10:15:37 +01:00
distribute.h Update copyright notice 2008-01-19 10:15:37 +01:00
econfig-spec.h Remove option FUEL 2008-05-12 09:25:20 +02:00
empio.h Update copyright notice 2008-01-19 10:15:37 +01:00
empobj.h Add sequence numbers to game state 2008-05-17 22:50:30 +02:00
empthread.h Update copyright notice 2008-01-19 10:15:37 +01:00
file.h Add sequence numbers to game state 2008-05-17 22:50:30 +02:00
game.h Add sequence numbers to game state 2008-05-17 22:50:30 +02:00
ioqueue.h Update copyright notice 2008-01-19 10:15:37 +01:00
item.h Replace some typedef names by enum tags. 2008-03-14 20:25:42 +01:00
journal.h Journal the PRNG seed 2008-03-17 19:08:34 +01:00
land.h Add sequence numbers to game state 2008-05-17 22:50:30 +02:00
loan.h Add sequence numbers to game state 2008-05-17 22:50:30 +02:00
lost.h Add sequence numbers to game state 2008-05-17 22:50:30 +02:00
lwp.h Semaphores are no longer used, remove: 2007-02-08 12:29:16 +00:00
map.h Get rid of src/lib/gen/copy.c 2008-02-03 07:44:20 +01:00
match.h Update copyright notice 2008-01-19 10:15:37 +01:00
misc.h Move oops actions from log.c up to application 2008-04-25 22:06:13 +02:00
mission.h Update copyright notice 2008-01-19 10:15:37 +01:00
nat.h Add sequence numbers to game state 2008-05-17 22:50:30 +02:00
news.h Add sequence numbers to game state 2008-05-17 22:50:30 +02:00
nsc.h Make xundump oops on virtual selectors 2008-05-12 11:26:41 +02:00
nuke.h Add sequence numbers to game state 2008-05-17 22:50:30 +02:00
optlist.h Update known contributors comments 2008-03-14 20:25:44 +01:00
path.h Update copyright notice 2008-01-19 10:15:37 +01:00
plague.h Update copyright notice 2008-01-19 10:15:37 +01:00
plane.h Add sequence numbers to game state 2008-05-17 22:50:30 +02:00
player.h Update copyright notice 2008-01-19 10:15:37 +01:00
power.h Update copyright notice 2008-01-19 10:15:37 +01:00
product.h Update copyright notice 2008-01-19 10:15:37 +01:00
proto.h Update copyright notice 2008-01-19 10:15:37 +01:00
prototypes.h Fix crash bug in satellite maps 2008-05-13 08:36:06 +02:00
queue.h New emp_searchque() 2008-03-14 21:00:29 +01:00
retreat.h Update copyright notice 2008-01-19 10:15:37 +01:00
sect.h Add sequence numbers to game state 2008-05-17 22:50:30 +02:00
server.h New post_crash_dump_hook 2008-04-25 22:12:22 +02:00
service.h Update copyright notice 2008-01-19 10:15:37 +01:00
ship.h Add sequence numbers to game state 2008-05-17 22:50:30 +02:00
tel.h Update copyright notice 2008-01-19 10:15:37 +01:00
trade.h Add sequence numbers to game state 2008-05-17 22:50:30 +02:00
treaty.h Add sequence numbers to game state 2008-05-17 22:50:30 +02:00
types.h Update copyright notice 2008-01-19 10:15:37 +01:00
unit.h Update copyright notice 2008-01-19 10:15:37 +01:00
update.h Update copyright notice 2008-01-19 10:15:37 +01:00
version.h Update copyright notice 2008-01-19 10:15:37 +01:00
xdump.h Implement human-readable dialect for xdump 2008-03-14 20:25:42 +01:00
xy.h Fix XNORM() and YNORM() 2008-05-12 18:45:11 +02:00