April 2001
- Camelot Beta 3 Dave Rickey
- Camelot Beta 3 Daniel.Harman@barclayscapital.com
- Camelot Beta 3 Vincent Archer
- Camelot Beta 3 Derek Licciardi
- Camelot Beta 3 Darrin Hyrup
- Camelot Beta 3 Vincent Archer
- Camelot Beta 3 Dave Rickey
- Camelot Beta 3 Darrin Hyrup
- Camelot Beta 3 Auli
- Room Searching Jared
- Room Searching shren
- Room Searching Travis Casey
- Room Searching Eli Stevens
- Room Searching Derek Licciardi
- Room Searching Adam Martin
- Room Searching Hans-Henrik Staerfeldt
- Room Searching Daniel.Harman@barclayscapital.com
- Room Searching David Bennett
- Sims Online -- WAS: MUD-Dev digest, Vol 1 #301 - 15 msgs Zak Jarvis
- Mera '01 report Cassandra
- Mera '01 report Jake Song
- Mera '01 report J C Lawrence
- Mera '01 report Jake Song
- Mera '01 report J C Lawrence
- Mera '01 report Cassandra
- Learning about MUDs (was: MUD-Dev digest, Vol 1 #301 - 15 msgs) Brian 'Psychochild' Green
- Learning about MUDs (was: MUD-Dev digest, V ol 1 #301 - 15 msgs) McQuaid, Brad
- Learning about MUDs (was: MUD-Dev digest, Vol 1 #301 - 15 msgs) Derek Licciardi
- Learning about MUDs (was: MUD-Dev digest, Vol 1 #301 - 15 msgs) Brian 'Psychochild' Green
- Learning about MUDs (was: MUD-Dev digest, V ol 1 #301 - 15 msgs) Daniel.Harman@barclayscapital.com
- Learning about MUDs (was: MUD-Dev digest, Vol 1 #301 - 15 msgs) Jim S
- Learning about MUDs (was: MUD-Dev digest, V ol 1 #301 - 15 msgs) Freeman, Jeff
- Learning about MUDs (was: MUD-Dev digest, V ol 1 #301 - 15 msgs) Daniel.Harman@barclayscapital.com
- Learning about MUDs (was: MUD-Dev digest, V ol 1 #301 - 15 msgs) Vincent Archer
- www.innbetweenworlds.com Klimon, Ian
- MERA '01 followup: Success critera Zak Jarvis
- MUD-Dev digest, Vol 1 #303 - 17 msgs Dr. Cat
- MUD-Dev digest, Vol 1 #303 - 17 msgs Baron, Jonathan
- MUD-Dev digest, Vol 1 #303 - 17 msgs John Buehler
- MUD-Dev digest, Vol 1 #303 - 17 msgs Baron, Jonathan
- ADMIN: HTML email, the reasons against J C Lawrence
- Need for a departure from reality? Matt Mihaly
- Broken Economies (was Learning about MUDs) geoffrey@yorku.ca
- Broken Economies (was Learning about MUDs) Koster, Raph
- Broken Economies (was Learning about MUDs) Timothy Dang
- Broken Economies (was Learning about MUDs) Koster, Raph
- Broken Economies (was Learning about MUDs) Timothy Dang
- Broken Economies (was Learning about MUDs) Madman Across the Water
- Broken Economies (was Learning about MUDs) Derek Licciardi
- Broken Economies (was Learning about MUDs) Vincent Archer
- Broken Economies (was Learning about MUDs) Sellers, Michael
- Balancing Melee vs Ranged Combat in Games Which Model Space Daniel.Harman@barclayscapital.com
- Balancing Melee vs Ranged Combat in Games Which Model Space Zak Jarvis
- Balancing Melee vs Ranged Combat in Games Which Model Space Brian Hook
- Balancing Melee vs Ranged Combat in Games Which Model Space Jerrith
- Balancing Melee vs Ranged Combat in Games Which Model Space Brian Hook
- Balancing Melee vs Ranged Combat in Games Which Model Space Jerrith
- Balancing Melee vs Ranged Combat in Games Which Model Space Brian Hook
- Balancing Melee vs Ranged Combat in Games Which Mod el Space Daniel.Harman@barclayscapital.com
- Balancing Melee vs Ranged Combat in Games Which Model Space shren
- Balancing Melee vs Ranged Combat in Games Which Model Space shren
- Balancing Melee vs Ranged Combat in Games Which Model Space Philip
- Balancing Melee vs Ranged Combat in Games Which Model Space Hal Bonnin
- Balancing Melee vs Ranged Combat in Games Which Model Space Kwon Ekstrom
- Balancing Melee vs Ranged Combat in Games Which Model Space rayzam
- RE:The Sims Online (was MUD-Dev digest, Vol 1 #301 - 15 msgs) Sellers, Michael
- Sv: Balancing Melee vs Ranged Combat in Games Which Model Space Nicolai Hansen
- ADMIN: Subject header maintenance (was: Broken currencies) J C Lawrence
- Broken currencies Matt Mihaly
- Broken currencies Jim S
- Broken currencies Koster, Raph
- Broken currencies Lars Duening
- Broken currencies Matt Mihaly
- Broken currencies Lars Duening
- Broken currencies Brian 'Psychochild' Green
- Broken currencies Matt Mihaly
- Broken currencies Timothy Dang
- Broken currencies Phillip Lenhardt
- Broken currencies Matt Mihaly
- Broken currencies Phillip Lenhardt
- Broken currencies John Buehler
- Broken currencies Derek Licciardi
- Broken currencies Ben Sizer
- Broken currencies Adam Martin
- Broken currencies Ben Sizer
- Broken currencies Matt Mihaly
- Broken currencies Timothy Dang
- Broken currencies Michael Dekker
- Broken currencies Miroslav Silovic
- Broken currencies Matt Mihaly
- Broken currencies Timothy Dang
- [DGN] Balancing Melee vs Ranged Combat in Games Which Model Space Ananda Dawnsinger
- Broken currencies Matt Mihaly
- The Sims Online (was MUD-Dev digest, Vol 1 #301 - 15 msgs) Baron, Jonathan
- The Sims Online (was MUD-Dev digest, Vol 1 #301 - 15 msgs) Sellers, Michael
- The Sims Online (was MUD-Dev digest, Vol 1 #301 - 15 msgs) Baron, Jonathan
- The Sims Online (was MUD-Dev digest, Vol 1 #301 - 15 msgs) Dave Rickey
- The Sims Online (was MUD-Dev digest, Vol 1 #301 - 15 msgs) F. Randall Farmer
- The Sims Online (was MUD-Dev digest, Vol 1 #301 - 15 msgs) Lee Sheldon
- The Monad (was: Broken Economies) shren
- The Monad (was: Broken Economies) Matt Mihaly
- The Monad (was: Broken Economies) John Buehler
- The Monad (was: Broken Economies) Matt Mihaly
- A User's Guide to TCP Windows J C Lawrence
- Balance J C Lawrence
- Economic & Derek Licciardi
- Economic & Matt Mihaly
- Economic & Timothy Dang
- Money supply in game economies (formerly Broken economies) Matt Mihaly
- Money supply in game economies (formerly Brokeneconomies) geoffrey@yorku.ca
- Money supply in game economies (formerly Broken eco nomies) Koster, Raph
- Money supply in game economies (formerly Broken economies) Timothy Dang
- [DGN] Balancing Melee/Ranged Combat Kwon Ekstrom
- Room Searching - how about doors? Gavin Doughtie
- Tracking Hulbert, Leland
- Online Games get an overview Koster, Raph
- [DGN] Money supply in game economies (formerly Brok en economies) Daniel.Harman@barclayscapital.com
- [DSG] Concrete idea behind currency (was: The Monad and Broken Economies) Paul Schwanz
- Majestic (was The Sims Online) Matt Mihaly
- Majestic (was The Sims Online) Baron, Jonathan
- Majestic (was The Sims Online) Matt Mihaly
- Majestic (was The Sims Online) Baron, Jonathan
- Majestic (was The Sims Online) Sellers, Michael
- Majestic (was The Sims Online) Matt Mihaly
- Majestic (was The Sims Online) Matt Mihaly
- Identity and Economies [was Money supply in game economies (formerly Broken eco nomies) ] Joe Andrieu
- Virtual Suicide (Was: Money supply in game economies) Dave Rickey
- Virtual Suicide (Was: Money supply in game economie s) Daniel.Harman@barclayscapital.com
- Virtual Suicide (Was: Money supply in game economies) Dave Rickey
- Virtual Suicide (Was: Money supply in game economie s) Daniel.Harman@barclayscapital.com
- The Sims Online (was MUD-Dev digest, Vol 1 #301 - 15 msgs) Baron, Jonathan
- Distributed Muds Jim Craig
- [DSG] Money supply in game economies (was: Broken Economies) Paul Schwanz
- TECH DGN: (was Broken currencies) Nathan F.Yospe
- [DESIGN] Economic & Marian Griffith
- [DESIGN] Economic & Derek Licciardi
- [DESIGN] Economic & Marian Griffith
- [DESIGN] Economic & John Buehler
- [DESIGN] Economic & Travis Nixon
- [DESIGN] Economic & Travis Casey
- [DESIGN] Economic & Matt Mihaly
- [DESIGN] Economic & Travis Nixon
- [DESIGN] Economic & Matt Mihaly
- Author Unknown (was: Money supply in game economies) Emil Eifrém
- TECH: Distributed Muds Emil Eifrém
- TECH: Distributed Muds Jim Craig
- TECH: Distributed Muds Frank Crowell
- TECH: Distributed Muds Colin Coghill
- TECH: Distributed Muds Vincent Archer
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds Vincent Archer
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Bruce
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Vincent Archer
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds Brian Hook
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds Brian Hook
- TECH: Distributed Muds Adam Martin
- Shattered World's economy John W Pierce
- Shattered World's economy Erik Jarvi
- [BIZ] Advertising sprawl (yahoo) J C Lawrence
- [BIZ] Advertising sprawl (yahoo) Frank Crowell
- [BIZ] Advertising sprawl (yahoo) Lars Duening
- [BIZ] Advertising sprawl (yahoo) Vincent Archer
- [BIZ] Advertising sprawl (yahoo) Dave Rickey
- [BIZ] Advertising sprawl (yahoo) Matt Mihaly
- [BIZ] Advertising sprawl (yahoo) Vincent Archer
- [BIZ] Advertising sprawl (yahoo) shren
- [BIZ] Advertising sprawl (yahoo) John Buehler
- [BIZ] Advertising sprawl (yahoo) Ian Macintosh
- [BIZ] Advertising sprawl (yahoo) Daniel.Harman@barclayscapital.com
- [BIZ] Advertising sprawl (yahoo) Matt Mihaly
- [BIZ] Advertising sprawl (yahoo) Caliban Tiresias Darklock
- [BIZ] Advertising sprawl (yahoo) Matt Mihaly
- [BIZ] Advertising sprawl (yahoo) J C Lawrence
- [BIZ] Advertising sprawl (yahoo) Travis Casey
- [BIZ] Advertising sprawl (yahoo) Daniel.Harman@barclayscapital.com
- [BIZ] Advertising sprawl (yahoo) Matt Mihaly
- [BIZ] Advertising sprawl (yahoo) Vincent Archer
- [BIZ] Advertising sprawl (yahoo) Matt Mihaly
- RG Interview Cassandra
- NEWS DGN Wired News article about EQ Zak Jarvis
- [DESIGN] Economy goals (was: Broken currencies) Vincent Archer
- [DESIGN] Economy goals (was: Broken currencies) shren
- [DESIGN] Economy goals (was: Broken currencies) Freeman, Jeff
- [DESIGN] Economy goals (was: Broken currencies) Derek Licciardi
- [DESIGN] Economy goals (was: Broken currencies) Vincent Archer
- [DESIGN] Economy goals (was: Broken currencies) Freeman, Jeff
- [DESIGN] Economy goals (was: Broken currencies) Adam Martin
- Curtailing the 'Super-Rich Effect' Bob McFakename
- Curtailing the 'Super-Rich Effect' Lynx
- Curtailing the 'Super-Rich Effect' Matt Mihaly
- Curtailing the 'Super-Rich Effect' Bob McFakename
- Curtailing the 'Super-Rich Effect' Matt Mihaly
- Curtailing the 'Super-Rich Effect' Phillip Lenhardt
- Curtailing the 'Super-Rich Effect' Matt Mihaly
- Curtailing the 'Super-Rich Effect' Travis Casey
- Curtailing the 'Super-Rich Effect' Mordengaard
- Curtailing the 'Super-Rich Effect' Michael Tresca
- Curtailing the 'Super-Rich Effect' Trump
- Curtailing the 'Super-Rich Effect' Daniel.Harman@barclayscapital.com
- Curtailing the 'Super-Rich Effect' Dave Rickey
- Curtailing the 'Super-Rich Effect' Michael Tresca
- Movie grosses Matt Mihaly
- Movie grosses Brian 'Psychochild' Green
- Movie grosses Koster, Raph
- Movie grosses Matt Mihaly
- Movie grosses Myschyf
- Movie grosses Matt Mihaly
- StarPeace (was Money supply in game economies) Michael Dekker
- TECH: Distributed Muds Bobby Martin
- TECH: Distributed Muds Adam Martin
- TECH: Distributed Muds Bruce
- TECH: Distributed Muds Vincent Archer
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds Brian Hook
- TECH: Distributed Muds Nick Walker
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds Brian Hook
- TECH: Distributed Muds shren
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Brian Hook
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds shren
- TECH: Distributed Muds Eli Stevens
- TECH: Distributed Muds John Buehler
- TECH: Distributed Muds Kevin Littlejohn
- TECH: Distributed Muds John Buehler
- TECH: Distributed Muds Ola Fosheim Grøstad
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Matthew D. Fuller
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds Vincent Archer
- TECH: Distributed Muds Ola Fosheim Grøstad
- TECH: Distributed Muds Christopher Kohnert
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds Caliban Tiresias Darklock
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds Jon Lambert
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds Caliban Tiresias Darklock
- TECH: Distributed Muds Jon Lambert
- TECH: Distributed Muds Matthew D. Fuller
- TECH: Distributed Muds Owen
- TECH: Distributed Muds Jon Lambert
- TECH: Distributed Muds Caliban Tiresias Darklock
- TECH: Distributed Muds shren
- TECH: Distributed Muds Jon Lambert
- TECH: Distributed Muds Caliban Tiresias Darklock
- TECH: Distributed Muds Jon Leonard
- TECH: Distributed Muds Bruce
- TECH: Distributed Muds Kevin Littlejohn
- TECH: Distributed Muds Bruce
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Kwon Ekstrom
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds Bruce
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds Bruce
- TECH: Distributed Muds Kwon Ekstrom
- TECH: Distributed Muds Bruce
- TECH: Distributed Muds Neil Brown
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Caliban Tiresias Darklock
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Bruce
- TECH: Distributed Muds Caliban Tiresias Darklock
- TECH: Distributed Muds Derek Snider
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds shren
On Fri, 27 Apr 2001, J C Lawrence wrote:
> On Fri, 27 Apr 2001 12:57:43 -0400
> Derek Snider <derek@idirect.com> wrote:
>> Threaded/multi-process MUDs are a completely different story. It's
>> like comparing apples and oranges.
> Given a threaded IO setup with only two threads (IO gathering and
> game process), the delta really isn't that large.
I concurr. Designing entire architectures that have 30,000 threads
dancing in harmony is very, very tricky. But threading is very useful
when you are making a thread to solve a reasonably modularized problem
that has to happen (or would be better happening) independantly from
the rest of execution.
The classic example is sound. If you're writing some code that deals
with sound buffers directly, then you can either check the sound
buffers constantly in your code, to make sure your 2 second sound
buffer stays full with new sound, or you can push it off in a seperate
thread. (I'd swear that Ultima 9 had sound in the main thread. I'm
not *certain*, but the way things would skip sometimes, it seemed very
likely.)
I find the key to working with threads is state diagrams. Your
threads have to clearly be in one state or another, to make a coherent
design.
Since I've recently been told that long posts are ok, I'll dump some
code here that I wrote to do simple interaction with threads. I'm not
saying it's the best code, but I get by with it. (Actually, I'm not
even sure this is the best version of my code.)
Note : this is windows code, but the principles are similar in the
UNIX world.
This is far from the best code you'll find. Books big enough to do
mugging in Central Park are introductions to the subject. The reason
I think it will be interesting for those who don't know threads is
that it is the smallest modular implementation of threading I could
come up with. We never launched a project that *uses* this code,
however, so I can't guarantee stability. It served, however, all the
way up to the point where we realized that our product would draw
lawsuits like flies and abandoned it. I look back now and see some
things I'd change, but all code is like that.
I've got some other thread code that is object based, developed from
this code, where you can make an object have it's own thread by having
it inherit the "runnable" class, but I think this older code is better
for a c sample, as it abuses the c++ class structure for it's
advantages to essentially write c style code.
Here's how you might use this code. As for communicating between the
thread and the outside world, the best thing to do is to make your
favorite queue class threadsafe and then put instances of it inside y,
below. Since the queues are threadsafe, the thread can push things
onto them and you can pop things outside outside of the thread.
Below, three functions are declared. Init, loop, and end. These
functions are passed as pointers to the object. The first is run
once. The second is run as a loop when hGo is set. The third is
triggered when CThread goes out of scope (x is deleted).
CThread *x;
void init(void *) {//this function is run once at the beginning}
void loop(void *) {//this function is run as the main loop}
void end(void *) {//this function is run at the end}
struct something y;
x = new CThread("blah", // an arbitrary (should be unique) thread name
&y, // this pointer is passed to init, loop, and end
init,loop,end // function pointers
);
//init(y) is run in the thread at this point
// tell it to start - these three statements should be a method of
// CThread and *not* accessed externally. Thing one I'd change -
// making a start method and a stop method inside the class.
// Exercise to the reader, and all that.
HANDLE hGo;
OpenEvent(NULL,FALSE,"blah_go");
SetEvent(hGo);
//do other stuff here. while you do,
//loop(y) is run repeatedly untill....
delete x;
//loop(y) finishes if it is currently running.
//end(y) is run.
//here's the 4 source files.
/* Thread.h begin */
#include "stdafx.h"
#include "threadproc.h"
#ifndef _thread_class_h_
#define _thread_class_h_
unsigned __stdcall threadproc(void *lpThreadParameter);
class CThread
{
friend unsigned __stdcall threadproc(void *lpThreadParameter);
protected:
HANDLE hIdle,hEnd,hEndAck,hChild;
HANDLE hGo;
char szIdle[16],szEnd[16],szEndAck[16];
char szWait[16];
unsigned int id;
void *pass;
void (*start)(void *);
void (*loop)(void *);
void (*end)(void *);
struct threadinfo ti;
public:
CThread();
CThread(char *name, void *data,
void(*a)(void *),void(*b)(void *),void(*c)(void *));
virtual ~CThread();
};
#endif
/* Thread.h end */
/* Threadproc.h begin */
#ifndef _threadproc_h_
#define _threadproc_h_
unsigned int __stdcall threadproc(void *x);
struct threadinfo {
char szIdle[16];
char szEnd[16];
char szEndAck[16];
char szGo[16];
void (*start)(void *);
void (*loop)(void *);
void (*end)(void *);
void *data;
};
#endif
/* Threadproc.h end */
/* Thread.cpp begin */
#include "stdafx.h"
#include "Thread.h"
#include "threadproc.h"
CThread::CThread()
{
}
CThread::CThread(char *name, void *data, void(*a)(void *),
void(*b)(void *),void(*c)(void *))
{
ODS("thread constructor\n");
pass = data;
// store the function pointers and the data pointer.
ti.start = a;
ti.loop = b;
ti.end = c;
ti.data = data;
// create the event names.
sprintf(ti.szIdle,"%s_idle",name);
sprintf(ti.szEnd,"%s_end",name);
sprintf(ti.szEndAck,"%s_end_ack",name);
sprintf(ti.szGo,"%s_go",name);
// create the thread running threadproc()
hChild = (HANDLE)(
_beginthreadex(NULL,0,threadproc,(void *)&ti,CREATE_SUSPENDED,&id)
);
// events
// this indicates that the thread is idle when set.
// if you want to modify the data outside the class,
// then you can, outside the class, Reset the go
// event then wait for the Idle event.
hIdle = CreateEvent(0,TRUE,FALSE,ti.szIdle);
ResetEvent(hIdle);
// end and endack are used for synchronous shutdown
hEnd = CreateEvent(0,TRUE,FALSE,ti.szEnd);
ResetEvent(hEnd);
hEndAck = CreateEvent(0,TRUE,FALSE,ti.szEndAck);
ResetEvent(hEndAck);
// to execute the loop or not execute the loop?
hGo = CreateEvent(0,TRUE,FALSE,ti.szGo);
ResetEvent(hGo);
// make the thread start
ResumeThread(hChild);
}
CThread::~CThread()
{
ODS("destructor\n");
WaitForSingleObject(hIdle,INFINITE);
ODS("thread is idle\n");
SetEvent(hEnd);
WaitForSingleObject(hEndAck,INFINITE);
ODS("thread is terminated\n");
}
/* Thread.cpp end */
/* Threadproc.cpp begin */
#include "stdafx.h"
#include "Thread.h"
#include "threadproc.h"
unsigned int __stdcall threadproc(void *in)
{
HANDLE hIdle, hEnd, hEndAck, hGo;
HRESULT hr;
struct threadinfo *pass;
pass = (struct threadinfo *)in;
// open copies of the events made inside the class.
hIdle = OpenEvent(EVENT_MODIFY_STATE,FALSE,pass->szIdle);
if (hIdle == 0) {ODS("dead idle handle!\n");}
hEnd = OpenEvent(EVENT_MODIFY_STATE,FALSE,pass->szEnd);
if (hEnd == 0) {ODS("dead end handle!\n");}
hEndAck = OpenEvent(EVENT_MODIFY_STATE,FALSE,pass->szEndAck);
if (hEndAck == 0) {ODS("dead endack handle!\n");}
hGo = OpenEvent(EVENT_MODIFY_STATE,FALSE,pass->szGo);
if (hGo == 0) {ODS("dead wait handle!\n");}
// run the start function the user passed us
pass->start(pass->data);
while (0==0)
{
// if we can go, run the main loop once
hr = WaitForSingleObject(hGo,0);
if (hr == WAIT_OBJECT_0)
{
pass->loop(pass->data);
}
// we are idle
SetEvent(hIdle);
// let the other processes have some time
Sleep(0);
// check if we've been instructed to terminate
hr = WaitForSingleObject(hEnd,0);
if (hr == WAIT_OBJECT_0)
{
SetEvent(hEndAck);
pass->end(pass->data);
_endthreadex(0);
}
// we are no longer idle
ResetEvent(hIdle);
}
return 0;
}
/* Threadproc.cpp end */
--
Give a man a fish, and you feed him for a day.
Teach a man to fish, and you've created competition.
Competition keeps you on your toes. - TECH: Distributed Muds John Buehler
- TECH: Distributed Muds shren
- TECH: Distributed Muds Steven Fleischaker
- TECH: Distributed Muds Jon Lambert
- TECH: Distributed Muds Daniel.Harman@barclayscapital.com
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds Daniel.Harman@barclayscapital.com
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Caliban Tiresias Darklock
- TECH: Distributed Muds Christopher Kohnert
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Chris Gray
- TECH: Distributed Muds Kwon Ekstrom
- TECH: Distributed Muds Bruce
- TECH: Distributed Muds Vincent Archer
- TECH: Distributed Muds Brad Roberts
- TECH: Distributed Muds Vincent Archer
- [DESIGN] Economic & Currency Solutions Phillip Lenhardt
- Curtailing the 'Super-Rich' Effect Bob McFakename
- Curtailing the 'Super-Rich' Effect Daniel.Harman@barclayscapital.com
- TECH: Flash Crowds and overflow control Gavin Doughtie
- TECH: Flash Crowds and overflow control Marc Bowden
- TECH: Flash Crowds and overflow control Vincent Archer
- TECH: Flash Crowds and overflow control Koster, Raph
- TECH: Flash Crowds and overflow control J C Lawrence
- TECH: Flash Crowds and overflow control Marc Bowden
- TECH: Flash Crowds and overflow control Justin Rogers
- BUSINESS: I need Online Gaming Revenue Projections. F. Randall Farmer
- [DESIGN] Economic & Currency Solutions Vincent Archer
- [DESIGN] Economic & Currency Solutions Timothy Dang
- [DESIGN] Economic & Currency Solutions Taylor Daynes
- [DESIGN] Economic & Currency Solutions Vincent Archer
- ADMIN: Moving... J C Lawrence
- UO and eBay figures Koster, Raph
- MUD for sale Chris Gray
- MUD for sale Caliban Tiresias Darklock
- MUD for sale Dave Rickey
- MUD for sale Bruce
- MUD for sale Chris Gray
- MUD for sale Kevin Littlejohn
- ADMIN: The move and current status J C Lawrence
- Virtual Suicide (Was: Money supply in game economies) Martin Burke
- TECH: Java ARMI Bobby Martin
- TECH: AmigaMud DB questions Bruce
- TECH: AmigaMud DB questions Chris Gray
- TECH: AmigaMud DB questions Bruce
- TECH: AmigaMud DB questions Chris Gray
- TECH: AmigaMud DB questions Jon Lambert
- Kuro5hin: What can games teach us about human-computer interaction? J C Lawrence
- Review of Galactic Emperor: Succession in LumTheMad's Forums Christopher Allen
- [BIZ] New EQ Expansion Daniel.Harman@barclayscapital.com
- Twisted Python J C Lawrence
- [TECH] Distributed MUD Kwon Ekstrom
- [TECH] Distributed MUD Jeremy Noetzelman
- [TECH] Distributed MUD Kwon Ekstrom
- [TECH] Distributed MUD J C Lawrence
- EQ: what makes a zone interesting? Frank Crowell
- EQ: what makes a zone interesting? J C Lawrence
- EQ: what makes a zone interesting? shren
- EQ: what makes a zone interesting? J C Lawrence
- EQ: what makes a zone interesting? Elia Morling
- Imaginary Realities - April 2001 David Bennett
- [BIZ][TECH] worlds.com gets patent bruce@puremagic.com
- [BIZ][TECH] worlds.com gets patent Jessica Mulligan
- [BIZ][TECH] worlds.com gets patent Bruce
- [BIZ][TECH] worlds.com gets patent Frank Crowell
- [BIZ][TECH] worlds.com gets patent Kwon Ekstrom
- [BIZ][TECH] worlds.com gets patent John Robert Arras
- [BIZ][TECH] worlds.com gets patent Jon Lambert
- [BIZ][TECH] worlds.com gets patent John Buehler
- [BIZ][TECH] worlds.com gets patent Frank Crowell
- [BIZ][TECH] worlds.com gets patent Travis Nixon
- [BIZ][TECH] worlds.com gets patent Marian Griffith
- [BIZ][TECH] worlds.com gets patent John Buehler
- [BIZ][TECH] worlds.com gets patent Dave Rickey
- [BIZ][TECH] worlds.com gets patent Derek Licciardi
- called shots Josh Rollyson
- called shots Matt Mihaly
- called shots Mordengaard
- called shots Ling Lo
- called shots shren
- called shots John Buehler
- called shots Kwon Ekstrom
- called shots Travis Casey
- called shots Travis Casey
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Brad Roberts
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Dominic J. Eidson
- TECH: reliablity (was: Distributed Muds) Bruce
- TECH: reliablity (was: Distributed Muds) Derek Snider
- TECH: reliablity (was: Distributed Muds) Bruce
- TECH: reliablity (was: Distributed Muds) Derek Snider
- TECH: reliablity (was: Distributed Muds) Alex
- TECH: reliablity (was: Distributed Muds) shren
- TECH: reliablity (was: Distributed Muds) Ola Fosheim Grøstad
- TECH: reliablity (was: Distributed Muds) Derek Snider
- TECH: reliablity (was: Distributed Muds) Ola Fosheim Grøstad
- TECH: reliablity (was: Distributed Muds) John Buehler
- TECH: reliablity (was: Distributed Muds) Ola Fosheim Grøstad
- TECH: reliablity (was: Distributed Muds) John Buehler
- TECH: reliablity (was: Distributed Muds) Kwon Ekstrom
- TECH: reliablity (was: Distributed Muds) Derek Licciardi
- TECH: reliablity (was: Distributed Muds) Ola Fosheim Grøstad
- TECH: reliablity (was: Distributed Muds) John Buehler
- TECH: reliablity (was: Distributed Muds) Ola Fosheim Grøstad
- TECH: reliablity (was: Distributed Muds) John Buehler
- TECH: reliablity (was: Distributed Muds) Kwon Ekstrom
- TECH: prefetching/madvise (was: Distributed Muds) Bruce
- TECH: prefetching/madvise (was: Distributed Muds) Matthew D. Fuller
- TECH: Distributed Muds J C Lawrence
- TECH: Distributed Muds Scion Altera
- Re:called shots Eric Lamy
- Where are we now? Greg Munt
- Where are we now? Ronan Farrell
- Where are we now? Matt Mihaly
- Where are we now? Greg Munt
- Where are we now? Ronan Farrell
- Where are we now? Adam Martin
- Where are we now? Bryce Harrington
- Where are we now? Deidril
- Where are we now? Bryce Harrington
- Where are we now? Elia Morling
- Where are we now? Matt Mihaly
- Where are we now? McManus, Susan
- Where are we now? Matt Mihaly
- Where are we now? Kwon Ekstrom
- Where are we now? Brian Hook
- Where are we now? Kwon Ekstrom
- Where are we now? Michael Tresca
- Where are we now? S. Patrick Gallaty
- Where are we now? Greg Munt
- Where are we now? S. Patrick Gallaty
- Where are we now? Matt Mihaly
- Where are we now? Koster, Raph
- Where are we now? Greg Munt
- Where are we now? Matt Mihaly
- Where are we now? Greg Munt
- Where are we now? Matt Mihaly
- Where are we now? Bruce
- Where are we now? Ola Fosheim Grøstad
- Where are we now? Koster, Raph
- Where are we now? Richard A. Bartle
- Where are we now? Ola Fosheim Grøstad
- Where are we now? Bruce
- Where are we now? Greg Munt
- Where are we now? Koster, Raph
- Where are we now? rayzam
- Where are we now? Madman Across the Water
- Where are we now? Bryce Harrington
- Where are we now? Madman Across the Water
- Where are we now? Freeman, Jeff
- TECH: DBM vs BDB speeds (was: AmigaMud DB questions) Bruce
- fault tolerance and character files Steven Fleischaker
- fault tolerance and character files Kwon Ekstrom
- fault tolerance and character files Bruce
- fault tolerance and character files Kwon Ekstrom
- fault tolerance and character files Vincent Archer