View Single Post
Old 07-25-2009, 10:35 PM
Tiron Tiron is offline
Join Date: Apr 2007
Posts: 77
Gist of a Deadlock, 'cause I know some will be too lazy to click...

When a complex computer program, such as SWGEMU, runs multiple processes or multiple processing threads...basically, not all one monolithic thing, but divided up into smaller chunks that are processed individually and separately, two of those processes/threads will get into such a state where quite literally two of them are waiting for each other to finish something in order to continue.

It's as if Bob and Lisa were both writing a report, and both need numbers from each other's reports in order to finish theirs. When they get to the point where they need the other's numbers, they stop and cannot continue until the other finishes. Since both are in this state, this never happens. And when they try to call each other to get the numbers, they both get a busy signal because each is calling the other.

So the server grinds to a halt while Bob and Lisa are twiddling their thumbs waiting for something that will never come.