On Sun, 17 Dec 1995, Pink Floyd wrote: > idname = ident_id (desc, 5); /* this attempts to get the username */ > > Just curious, will this statement bring the mud to a halt until it has > connected to the remote host and acquired the username? > If so, this is another example of a great way to apply the generic events > queue, in combination with a fork'd process, to prevent that lag. (Just fork > the ident_id thing and have the queue check every, say, 1 second, until it > gets a return value of some kind. Meanwhile, the game proceeds uninterrupted!) Yes, but how do you get data from your forked child? The only things I see are shared memory, via sockets (child binds a port... seems rather silly tho) and files. So how do you do it? And how do you use shared mem? Well, I hadn't really thought about it, but surely there is a way. Perhaps you could modify the environment...? Or, if you don't have some way to share memory (maybe by compiling the fork'd process into a shared object) then in worst case scenario, have the mud allocate the necessary memory and pass a pointer to the fork? Would that work? Are the values of pointers absolute memory addresses or relative to the program they are in? There is apparently a way to pass information from a daemon to the server, I wonder how that is done.
This archive was generated by hypermail 2b30 : 12/07/00 PST