Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/net/adt/module_map.c

    r1bfd3d3 r25d2de69  
    3838#include <task.h>
    3939#include <unistd.h>
    40 #include <errno.h>
     40#include <err.h>
    4141
    4242#include <ipc/services.h>
     
    5959 *                      running.
    6060 * @param[in] connect_module The module connecting function.
    61  * @return              EOK on success.
    62  * @return              ENOMEM if there is not enough memory left.
     61 * @returns             EOK on success.
     62 * @returns             ENOMEM if there is not enough memory left.
    6363 */
    6464int
    65 add_module(module_t **module, modules_t *modules, const char *name,
     65add_module(module_ref *module, modules_ref modules, const char *name,
    6666    const char *filename, services_t service, task_id_t task_id,
    6767    connect_module_t connect_module)
    6868{
    69         module_t *tmp_module;
    70         int rc;
     69        ERROR_DECLARE;
    7170
    72         tmp_module = (module_t *) malloc(sizeof(module_t));
     71        module_ref tmp_module;
     72
     73        tmp_module = (module_ref) malloc(sizeof(module_t));
    7374        if (!tmp_module)
    7475                return ENOMEM;
     
    8283        tmp_module->connect_module = connect_module;
    8384
    84         rc = modules_add(modules, tmp_module->name, 0, tmp_module);
    85         if (rc != EOK) {
     85        if (ERROR_OCCURRED(modules_add(modules, tmp_module->name, 0,
     86            tmp_module))) {
    8687                free(tmp_module);
    87                 return rc;
     88                return ERROR_CODE;
    8889        }
    8990        if (module)
     
    100101 * @param[in] modules   The module map.
    101102 * @param[in] name      The module name.
    102  * @return              The running module found. It does not have to be
     103 * @returns             The running module found. It does not have to be
    103104 *                      connected.
    104  * @return              NULL if there is no such module.
     105 * @returns             NULL if there is no such module.
    105106 */
    106 module_t *get_running_module(modules_t *modules, char *name)
     107module_ref get_running_module(modules_ref modules, char *name)
    107108{
    108         module_t *module;
     109        module_ref module;
    109110
    110111        module = modules_find(modules, name, 0);
     
    126127 *
    127128 * @param[in] fname     The module full or relative path filename.
    128  * @return              The new module task identifier on success.
    129  * @return              Zero if there is no such module.
     129 * @returns             The new module task identifier on success.
     130 * @returns             Zero if there is no such module.
    130131 */
    131132task_id_t spawn(const char *fname)
    132133{
    133         task_id_t id;
    134         int rc;
     134        const char *argv[2];
     135        task_id_t res;
    135136       
    136         rc = task_spawnl(&id, fname, fname, NULL);
    137         if (rc != EOK)
    138                 return 0;
     137        argv[0] = fname;
     138        argv[1] = NULL;
     139        res = task_spawn(fname, argv, NULL);
    139140       
    140         return id;
     141        return res;
    141142}
    142143
Note: See TracChangeset for help on using the changeset viewer.