Changeset fb13b44 in mainline for kernel/generic/src/proc/program.c


Ignore:
Timestamp:
2019-08-06T19:57:27Z (5 years ago)
Author:
Matthieu Riolo <matthieu.riolo@…>
Children:
103939e
Parents:
d89b259
git-author:
Michal Koutný <xm.koutny+hos@…> (2015-08-10 08:35:21)
git-committer:
Matthieu Riolo <matthieu.riolo@…> (2019-08-06 19:57:27)
Message:

Spawned tasks' phone is connected to spawning task

  • Only boot time tasks are connected to hardcoded NS task.
  • First connected phone of other tasks is connected to the task that spawned them (spawn parent).
  • Until further changes, effectively it changes nothing (NS was the ultimate spawn parent).

Conflicts:

kernel/generic/include/proc/program.h
kernel/generic/src/ipc/ipc.c
kernel/generic/src/proc/program.c
kernel/generic/src/proc/task.c

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/proc/program.c

    rd89b259 rfb13b44  
    6464 * @param entry_addr Program entry-point address in program address space.
    6565 * @param name       Name to set for the program's task.
     66 * @param answerbox  Answerbox where box 0 is connected to (may be NULL).
    6667 * @param prg        Buffer for storing program information.
    6768 *
     
    6970 *
    7071 */
    71 errno_t program_create(as_t *as, uspace_addr_t entry_addr, char *name, program_t *prg)
     72errno_t program_create(as_t *as, uspace_addr_t entry_addr, char *name,
     73        struct answerbox *answerbox, program_t *prg)
    7274{
    7375        uspace_arg_t *kernel_uarg = (uspace_arg_t *)
     
    7779
    7880        prg->loader_status = EOK;
    79         prg->task = task_create(as, name);
     81        prg->task = task_create(as, name, answerbox);
    8082        if (!prg->task) {
    8183                free(kernel_uarg);
     
    157159
    158160        return program_create(as, ((elf_header_t *) image_addr)->e_entry,
    159             name, prg);
     161            name, ipc_box_0, prg);
    160162}
    161163
     
    191193
    192194        return program_create(as, ((elf_header_t *) program_loader)->e_entry,
    193             name, prg);
     195            name, &TASK->answerbox, prg);
    194196}
    195197
Note: See TracChangeset for help on using the changeset viewer.