View Single Post
Old 06-18-2009, 01:34 AM   #12
locke
Banned
 
Join Date: Jan 2009
Home MUD: nimud.divineright.org 5333
Posts: 195
locke is an unknown quantity at this point
Re: The amazing robustness of NiMUD 5

Gth: You realize that it was Noodles who became condescending and I merely responded in kind. Your behavior is a bit irrational and hypocritical.

To further explain the process, descriptors (integers) paired with character names are stored in a file and then reloaded if the file exists during this process. This file is written whenever someone logs in or logs out. NiMUD attaches a handler which executes a shell, calling to the mud to restart on fatal errors (such as SIGSEGV). Other mud-state variables can be set in this file as well.

It is not a perfect system, however, because sometimes file handles (memory, etc) from prior (dead) executions can be left open, and accumulate, which causes an unrecoverable error at some point. The error manifests when a call is never made to restart the mud. However, detaching from the original process alleviates this problem perpetuating the service indefinitely unless there is collision with another process, a forced kill to the process, or the machine reboots or is shut down.

However, this is merely subscript to the overall announcement which was related specifically to NiMUD and its service offering. Many other things can go wrong which cause a MUD to die: such as infinite loops, file corruption, memory corruption, etc. Apparently, NiMUD functions so well that it is never at the whims of any of these reasons.

Last edited by locke : 06-18-2009 at 01:41 AM.
locke is offline