spock@ihlpf.ATT.COM (Weiss) (06/04/89)
I have a litewin that contains some buttons. The following code runs when one of the buttons is pushed: { newprocessgroup /foo bar send } fork waitprocess pop /bar null store /destroy self send the /foo method creates an object with its own event manager. The problem is the window doesn't go away. There must still be a reference to it somewhere. If I make the code look like: /foo bar send /bar null store /destroy self send the window goes away! What am I missing? Where is the extra reference coming from? How does forking a process to invoke the method change things, especially since the process dies? If I make the code look like: { newprocessgroup (foo) pop } fork waitprocess pop /bar null store /destroy self send the window goes away. I'm real confused. -- Ed Weiss "I thought it was generally accepted, sir, that att!ihlpf!spock vulcans are an advanced and most honorable race." "They are, they are. And damn annoying at times."
spock@ihlpf.ATT.COM (Weiss) (06/07/89)
I previously posted an article under this subject that described a problem with creating a process from a window. One thing I learned is that if you want the process to live past the death of the window, you have to put it in its own process group (/destroy of a window does a killprocessgroup). The real problem that I am having is that when this process does live past the death of the window, the process somehow keeps a reference to the window (so the canvases are not garbage collected [and don't get removed from the screen if they are mapped]). Well it appears that my problem is that when you fork a process it gets a copy of its parent's /SendContexts. Why this happens, I have no idea. It seems to me that the child's /SendContext should just be the current object. Am I missing something obvious? If I try to modify the /SendContext I get a invaildaccess. Which is probably a good idea, except if it is wrong. Has anyone else come across this problem? Any fix/workaround? -- Ed Weiss "I thought it was generally accepted, sir, that att!ihlpf!spock vulcans are an advanced and most honorable race." "They are, they are. And damn annoying at times."