OK...now this might not be the place to ask this... Oh, well. ;-) Is there anywhere on the great Net (or does anyone know) the symantics of SysV shared memory / interprocess communication? You could try _Advanced Programming in the UNIX Environment_ by W. Richard Stevens. It tells all about that stuff. Reason I want to know is I am toying around with the idea of a "crash proof" world. In my current view of it, I would require a world state file saved every now and again (and at certain times as well). Under the current state of Circle being a monolithic MUD server, I would think it best to have a small daemon sitting around that reads the world's current state and save the state file. (Reasoning: reduce the GOBS of lag this would enduce.) Of course, I need this daemon to see the current world in memory...and I think shared memory would fit the task nicely (unless I'm misunderstanding some key concept here) One excellent alternative would be to get a threads package and do this with threads. Also, anyone know where I can get a non-blocking ident (RFC1413) protocol handler? I think the one I currently have is a blocking type (grrrr.....) and it is slowing things down at login (since I do ban control based on login@site as well as the standard sitebans etc.) Again, I don't believe that you can do this with a single threaded mud. Your only option would be to set a shorter default timeout for the pident thing, risking that the call would not identify the user. There is no way to have it non-blocking and still have it wait until it gets a value. Unless you use threads. Then when a user logs in, you could start a thread that made the call, and while that thread blocked the main one would continue to run the mud with no lag. You can get info on threads at: http://bunny.cs.uiuc.edu/~mjerger/threads/ Check out the "implementation at MIT" at the bottom of that page. -- I love my country, but I fear my government.
This archive was generated by hypermail 2b30 : 12/07/00 PST