shutdown() does not return until the DreamDaemon instance is manually closed.
Numbered Steps to Reproduce Problem:
- Open a game in DreamDaemon through startup()
- shutdown() on the return value of startup()
Code Snippet (if applicable) to Reproduce Problem:
var/running
mob/verb
StartWorld()
if(!running)
running = startup(file("../COCommand/COCommand.dmb"), 4712)
src << "[running ? "The world has been successfully hosted at [running]." : "Failed to host world."]"
StopWorld()
if(running)
src << "Trying to stop world..."
shutdown(running)
src << "World should be down now"
running = null
else
src << "There is currently no word running."
Expected Results:
When invoking StopWorld(), it should display, "Trying to stop world...", then shut down the running game, then display "World should be down now".
Actual Results:
When calling StopWorld(), "Trying to stop world..." is displayed and the verb stops there, until you manually close the DreamDaemon instance, which is when "World should be down now" is displayed.
Does the problem occur:
Every time? Or how often? Everytime
In other user accounts? N/A
On other computers? N/A
Workarounds:
Unknown.
running was tried both as normal return value, as well as text:
running = "[startup(file("../COCommand/COCommand.dmb"), 4712)]"
Edit:
The reason seems to be that the Master flag is not set.
Server:
Client-world:
This returns: "Sorry, you do not have permission for this."
My guess is that the soft-wired default implementation of Del does not return 0 when the Masterflag is 0, like it should to prevent locking the Export up, which would explain shutdown() to silently lock up.
Edit2:
Closes the world, but shutdown() still does not return unless the DreamDaemon instance is closed manually.