[Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:thread_the_server

no-reply_wiki at metalforge.org no-reply_wiki at metalforge.org
Fri Sep 22 16:48:52 CDT 2006


A page in your DokuWiki was added or changed. Here are the details:



Date        : 2006/09/22 16:48

User        : rednaxela

Edit Summary: Spelling fixes. Link to 'dev_todo:unified event syetem'



@@ -2,15 +2,16 @@

  ===== Plans/Ideas =====

    * Per-map threads and per-player threads

    * Mutex locks in players, and in 'map queues'.

      * 'map queues' are queues of things for a map thread to do, that it 
is told to do by other maps.

-   * One map thread when wanting to do something such as teleport an obje
ct to another map, get a lock on the map's queue and put it in a queue of 
things for ther other map thread to do in it's next tick.

+   * One map thread when wanting to do something such as teleport an obje
ct to another map, get a lock on the map's queue and put it in a queue of 
things for the other map thread to do in it's next tick.

    * In order to avoid all chance of deadlock, do this when processing th
e queue of things other threads told the thread to do:

      - Lock it's queue

-     - Copy it's queue and clear the origional

+     - Copy it's queue and clear the original

      - Unlock it's queue

      - Process the copy of the queue.

      * Otherwise, there is a small chance that two processing queues at t
he same time might want to lock eachother to add to the list.

+   * Perhaps use the proposed [[dev_todo:unified event system]] to implem
ent the per-map queues.

  

  

  ===== Issues to watch out for =====

    * Have to be careful to avoid deadlock circumstances.





IP-Address  : 66.222.158.169

Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:thread_the_serv
er?rev=1158941801

New Revision: http://wiki.metalforge.net/doku.php/dev_todo:thread_the_serv
er



-- 

This mail was generated by DokuWiki at

http://wiki.metalforge.net/





More information about the crossfire-wiki mailing list