Ignore:
Timestamp:
2019-08-07T09:15:30Z (6 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 moved

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/private/taskman.h

    r780c8ce r012dd8e  
    11/*
    2  * Copyright (c) 2011 Martin Decky
     2 * Copyright (c) 2015 Michal Koutny
    33 * All rights reserved.
    44 *
     
    3333 */
    3434
    35 #ifndef _LIBC_PRIVATE_NS_H_
    36 #define _LIBC_PRIVATE_NS_H_
     35#ifndef LIBC_PRIVATE_TASKMAN_H_
     36#define LIBC_PRIVATE_TASKMAN_H_
    3737
    3838#include <async.h>
    3939
    40 extern async_sess_t *session_primary;
     40extern async_sess_t *session_taskman;
     41
     42void __task_init(async_sess_t *);
     43
     44async_exch_t *taskman_exchange_begin(void);
     45void taskman_exchange_end(async_exch_t *);
     46
     47extern async_sess_t *taskman_connect(void);
     48extern async_sess_t *taskman_session_ns(void);
     49extern async_sess_t *taskman_session_loader(void);
    4150
    4251#endif
Note: See TracChangeset for help on using the changeset viewer.