Thread View: comp.os.mach
1 messages
1 total messages
Started by SARRAF
Tue, 15 Dec 1992 00:09
task_self() returns invalid port!
Author: SARRAF
Date: Tue, 15 Dec 1992 00:09
Date: Tue, 15 Dec 1992 00:09
39 lines
1894 bytes
1894 bytes
Hi Everyone, I am experiencing a peculiar problem. What I am trying to do is restore the state of a task as saved previously on secondary storage. This is done by having a task perform a unix_fork and then using the child task as a "template" for the virtual memory information that was previously stored to disk. (Note that the state of the task is also saved using a child task as a virtual memory template in a similar way.) Once the parent task has recopied the virtual memory from disk to the child task (using vm_region,vm_allocate, vm_protect, vm_inherit) it kills itself and lets the child continue. This works fine except for when I try to do anything dealing with the port space. The problem is that after restoring the state into the child , I try to perform a port_allocate but it doesn't work. I pinpointed the error to the fact that task_self() is returning an invalid port. I have no idea why. Is there something I should watch out for when deallocating the child's memory to give room for the new virtual memory? There is a paper in the October 1990 Usenix conference called "Transparent Recovery of Mach Applications" by Goldberg, Gopal, Li, Strom, and Bacon. This paper discusses a similar scenario. Does anyone have any information of what I may be doing wrong? Any help would be GREATLY appreciated. Alain PS. Could you please send any replies to alain@cs.concordia.ca as I don't usually get a chance to read news. Thanks again
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads