Quote:
so it could very well be that two updates to the same var are processed by the networking thread (so the var is updated twice, if you are correct), before the script/engine thread is able to process the events -> lost update.
according to Murphy's law this will happen
it's still hypothetic, you have to know how directplay is embedded.
i.e. GSTNet is queued, the queue is processed per polling. with one poll you get 0 packet from 0 client or 10 packets from 6 clients. events were raised only during the poll. so there should be NO wait instruction in the event function, which would cause a new queue poll.
try to handle an event like interrupt on a cpu - push registers on stack - keep interrupt routine lean and short - pop your stack before you quit the interrupt routine ;-)
Andreas GSTools - Home of GSTScript 0.9.8: lua scripting for A6/7/8 GSTNet 0.7.9.20: network plugin for A6/7/8 GSTsqlite 1.3.7: sql database plugin for A6/7/8 3DGS Codebase: 57 snippets || 3DGS Downloads: 248 files
|