# suspend() and read()

Matthew Sanderson (m.sanderson@student.anu.edu.au)
Thu, 9 May 1996 14:25:21 PDT

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

    >From 'help read()':

    `Read()' may only be called by a wizard, and,
    unless <player> is given explicitly, only in a command task that has never
    been suspended by a call to `suspend()'.  Otherwise, `E_PERM' is
    returned.

    But:

    ;;suspend(1); return read();
    foo                   /* <- this is obviously getting trapped by the read() */
    => "foo"
    [used 14954 ticks, 2 seconds.]
    ;;suspend(10); return read();
    foo                   /* <- this must be being interpreted as a command... */
    I don't understand that.     /* <- no surprise here */
    #-1:Input to EVAL, line 4:  Permission denied
    ... called from built-in function eval()
    ... called from #57:eval_cmd_string (this == #141), line 18
    ... called from #57:eval*-d (this == #141), line 10
    (End of traceback)

    ...and only here do we have the raised E_PERM.

    What'm I missing here? :)

    The server's a 1.8.0p4, FUP and a few other things, but otherwise fairly
    vanilla.
    Yours wonderingly,

    Matthew Sanderson
    m.sanderson@student.anu.edu.au
    The Australian National University, Canberra
    ===================================
    "Cotenda mea, delenda est Carthago"
    ===================================