2016-12-09 3 views
0

カーネル呼び出しsys_forkからプロセスがforkされたことをユーザーに知らせるメッセージを表示する必要があります。 sys_fork()関数にprintf("process forked\n");というコマンドを追加しましたが、何も起こりませんでした。 これが正しいのですか、他に何かする必要がありますか?どんな助け?Minix sys_fork()print message

コードが

#include "syslib.h" 

PUBLIC int sys_fork(parent, child, child_endpoint, map_ptr, flags, msgaddr) 
endpoint_t parent;  /* process doing the fork */ 
endpoint_t child;  /* which proc has been created by the fork */ 
endpoint_t *child_endpoint; 
struct mem_map *map_ptr; 
u32_t flags; 
vir_bytes *msgaddr; 
{ 
/* A process has forked. Tell the kernel. */ 

    message m; 
    int r; 

    m.PR_ENDPT = parent; 
    m.PR_SLOT = child; 
    m.PR_MEM_PTR = (char *) map_ptr; 
    m.PR_FORK_FLAGS = flags; 
    r = _kernel_call(SYS_FORK, &m); 
    *child_endpoint = m.PR_ENDPT; 
    *msgaddr = (vir_bytes) m.PR_FORK_MSGADDR; 

    printf("process forked\n"); //the modification I made 

    return r; 
} 

答えて

0
CEIDから

こんにちはanna_jenniferです!

あなたはprintfを/kernel/system/do_fork.cの中に入れてからOKに戻る必要があります。

+0

Σεευχαριστώπολύσυνάδελφε!! D = –

+0

Ανκαταφέρειςκαιλύσειςτο3ρίξεκαναチップ:P –

+0

χαχαχλωμοτοβλεπωνατολυνω..:P –