Changeset 012dd8e in mainline for uspace/srv/taskman/task.c


Ignore:
Timestamp:
2019-08-07T09:15:30Z (5 years ago)
Author:
Matthieu Riolo <matthieu.riolo@…>
Children:
e8747bd8
Parents:
780c8ce
git-author:
Michal Koutný <xm.koutny+hos@…> (2015-11-01 00:08:04)
git-committer:
Matthieu Riolo <matthieu.riolo@…> (2019-08-07 09:15:30)
Message:

taskman: Handle INIT_TASKS as tasks spawned by loader

  • everyone is connected to its spawner, except for INIT_TASKS, they are connected to taskman (first binary)
  • taskman is now aware even of INIT_TASKS and taskman itself
  • refactored taskman handshake — NS session is created lazily
  • refactored async.c with usage of create_session
  • changed EINVAL to EINTR on lost waits
  • removed TODOs from taskman and related libc TODOs

Conflicts:

abi/include/abi/ipc/methods.h
boot/Makefile.common
uspace/lib/c/generic/async.c
uspace/lib/c/generic/libc.c
uspace/lib/c/generic/loader.c
uspace/lib/c/generic/ns.c
uspace/lib/c/generic/private/async.h
uspace/lib/c/generic/private/taskman.h
uspace/lib/c/generic/task.c
uspace/lib/c/include/async.h
uspace/lib/c/include/task.h
uspace/srv/loader/main.c
uspace/srv/ns/ns.c

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/taskman/task.c

    r780c8ce r012dd8e  
    109109}
    110110
    111 int task_intro(ipc_call_t *call, bool check_unique)
     111int task_intro(task_id_t id)
    112112{
    113113        int rc = EOK;
     
    115115        fibril_rwlock_write_lock(&task_hash_table_lock);
    116116
    117         task_t *t = task_get_by_id(call->in_task_id);
     117        task_t *t = task_get_by_id(id);
    118118        if (t != NULL) {
    119119                rc = EEXISTS;
     
    130130         * Insert into the main table.
    131131         */
    132         t->id = call->in_task_id;
     132        t->id = id;
    133133        t->exit = TASK_EXIT_RUNNING;
    134134        t->failed = false;
Note: See TracChangeset for help on using the changeset viewer.