# listen() probs?

Jefferson Dubrule (aq299@freenet.carleton.ca)
Tue, 2 Jul 1996 11:15:18 PDT

- Messages sorted by:[ date ][ thread ][ subject ][ author ]

    >In the last 24 hours I've had a weird problem happen on both of my MOOs
    >(which are running on the same machine, a Linux 1.2.11 box).  First last
    >night, the smaller moo (frontier), stopped listening on the primary port
    >(7000).  I happened to be still logged in, just other players told me
    >that they were unable to connect, and I tested it myself - even from the
    >local machine - and couldn't connect either.  ;listeners() still showed
    >up with port 7000 still in the list, but it just wasn't answering.  I
    >was able to correct that one by doing ;unlisten(7000) then ;listen(#0,7000).
    >
    >Has anyone else experienced this, or have any ideas as to why it's
    >happening, and what a fix might be?

    I would suggest, as a quick fix, that you set up a "daemon" on the MOO
    that re-inits the port every hour or so.

    It might look something like this:

    if (task_id() == this.daemon_task)
       fork this.daemon_task (this.port_reinit_interval)
          unlisten(this.port);
          listen(0, this.port);
       endfork
    endif

    This code above has not been tested, if your MOO recycles everything or your
    computer blows up, don't blame me, eh?

    Hope this helps.

    -manta