Q: Getting the value of a special variable in another process
Does anyone have a good way to get the value of a special variable in an arbitrary process? I've been using process-interrupt with a function to modify the cdr of a cons cell, (once I've determined the process in question isn't the current one) and then sleeping the current process until it is modified with the value, but I'd vastly prefer a way to do this without having to sleep the current process. (I've run into the problem that this code needs to be called in the wait function of yet another process, so the wait function ends up trying to go to sleep which is a no-no). As I recall, Allegro had a special function just to do this, but I haven't found any equivalent in LispWorks. Thanks for any ideas; my alternative will be to promote the variables in question to global space, which plays havoc with the code modularity and means I probably have to do something really ugly like use eval and strings to keep things flexible. (*foo-process-n* instead of *foo* in process n) Best, Brad Miller