World Evolving

Project news and announcements can be found here, along with site/forum rules. Be sure to read this first!
Locked
User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

World Evolving

Post by John Adams » Mon Oct 05, 2009 6:52 am

From the ChangeLog:
LethalEncounter wrote:Started a major overhaul to the storage and useage of the object containers. They are now all thread safe which allows us to stop using the readlock/writelock support which could lead to deadlocks.
I am pointing this out for 2 reasons.
  • 1. Calling out to all players to log into the TessEQ2 or LethalEncounter servers repeatedly, and beat the holy snot out of them. Do combat, quests, spells, abilities, convos, merchant transactions, etc. Heck, even /who all lists =) We need to know how stable our new code is, and help LE find any remaining locks that have yet to be converted (LE, feel free to correct my lingo, I'm just guessing there ;))

    2. Server Admins - It would be helpful if you actually reported issues with your World, if you have them, instead of just waiting for another patch. Get involved in the process of making our World a better place for all. This is a dramatic change for World intended to reduce our previous issues with deadlocking threads, but it may introduce new issues and unless we know about every single one, we'll not be able to fix them.
If you have questions about the changes, ask here. Otherwise, let us know if you run into any problems by posting in the Server Bugs forum.

Thanks!
John Adams
EQ2Emulator - Project Ghost
"Everything should work now, except the stuff that doesn't" ~Xinux

User avatar
Arremis
Retired
Posts: 388
Joined: Sun Sep 02, 2007 10:11 am
Location: Memphis, TN

Re: World Evolving

Post by Arremis » Mon Oct 05, 2009 10:53 am

What's a readlock, writelock, and deadlock? What does "thread safe" mean?
I am the UI Master...there is no charge for my awesomeness.

erde
Posts: 17
Joined: Mon Jun 16, 2008 7:28 am

Re: World Evolving

Post by erde » Mon Oct 05, 2009 11:03 am

Arremis wrote:What's a readlock, writelock, and deadlock? What does "thread safe" mean?
maybe this helps to understand http://en.wikipedia.org/wiki/Thread_safety

User avatar
Scatman
Retired
Posts: 1688
Joined: Wed Apr 16, 2008 5:44 am
EQ2Emu Server: Scatman's Word
Characters: Scatman
Location: New Jersey

Re: World Evolving

Post by Scatman » Mon Oct 05, 2009 11:04 am

Each zone that gets started up runs on its own thread. There are global lists that sometimes two or more zones need to access. This means two different threads can be trying to access the same list at one tme. If thread A is using the list and thread B wants it, then thread B must wait in line for thread A to be finished. Therefore thread B does not do anything until thread A is finished. That how locks work (very high level).

A deadlock occurs if both threads are waiting on each other to finish, therefore neither finishes and you "freeze" because both threads are waiting forever.

LE wrote up a new kickass way so hopefully, we'll never see a deadlock again :)

User avatar
Arremis
Retired
Posts: 388
Joined: Sun Sep 02, 2007 10:11 am
Location: Memphis, TN

Re: World Evolving

Post by Arremis » Sat Oct 10, 2009 8:29 am

Rock on :)
I am the UI Master...there is no charge for my awesomeness.

Locked

Who is online

Users browsing this forum: No registered users and 0 guests