Re: copy_process() help
From: Dan Smith (dsmith_at_NOSPAM-danplanet.com)
Date: 02/26/04
- Previous message: Nick Landsberg: "Re: User/Kernel Level Threads"
- In reply to:(deleted message) Andi Kleen: "Re: copy_process() help"
- Next in thread: Dan Smith: "Re: copy_process() help"
- Reply: Dan Smith: "Re: copy_process() help"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Wed, 25 Feb 2004 18:14:40 -0500
> Assuming you mean on i386:
Yes, sorry. Classic mistake ;)
> ((struct pt_regs *)(current->thread.esp0))-1
This is exactly what I needed, thanks. However, it appears to not have
solved all of my problems.
After I make this call:
| shadow_task = copy_process(CLONE_FS | CLONE_FILES | CLONE_PARENT,
| current_task->thread.esp, tmp,
| 0, NULL, NULL);
(tmp is my new struct pt_regs*)
And then this:
| wake_up_forked_process(shadow_task);
I see that the new process (shadow_task) gets scheduled once (I put some
printk's in the scheduler), but never again. It dies quietly, and
disappears from the process list. In addition, after the syscall, each
process should make a call to printf() with their PID, but only the
original process actually does it.
Can you see anything else that I'm doing wrong? Any help would be
appreciated.
--Dan
- Previous message: Nick Landsberg: "Re: User/Kernel Level Threads"
- In reply to:(deleted message) Andi Kleen: "Re: copy_process() help"
- Next in thread: Dan Smith: "Re: copy_process() help"
- Reply: Dan Smith: "Re: copy_process() help"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|