Ignore:
Timestamp:
2010-03-13T12:17:02Z (14 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
6ba20a6b
Parents:
d0febca (diff), 2070570 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mainline changes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/structures/module_map.c

    rd0febca r7715994  
    4747#include "module_map.h"
    4848
    49 GENERIC_CHAR_MAP_IMPLEMENT( modules, module_t )
     49GENERIC_CHAR_MAP_IMPLEMENT(modules, module_t)
    5050
    51 int add_module( module_ref * module, modules_ref modules, char * name, char * filename, services_t service, task_id_t task_id, connect_module_t connect_module ){
     51int add_module(module_ref * module, modules_ref modules, const char * name, const char * filename, services_t service, task_id_t task_id, connect_module_t connect_module){
    5252        ERROR_DECLARE;
    5353
    54         module_ref      tmp_module;
     54        module_ref tmp_module;
    5555
    56         tmp_module = ( module_ref ) malloc( sizeof( module_t ));
    57         if( ! tmp_module ) return ENOMEM;
     56        tmp_module = (module_ref) malloc(sizeof(module_t));
     57        if(! tmp_module){
     58                return ENOMEM;
     59        }
    5860        tmp_module->task_id = task_id;
    5961        tmp_module->phone = 0;
     
    6365        tmp_module->service = service;
    6466        tmp_module->connect_module = connect_module;
    65         if( ERROR_OCCURRED( modules_add( modules, tmp_module->name, 0, tmp_module ))){
    66                 free( tmp_module );
     67        if(ERROR_OCCURRED(modules_add(modules, tmp_module->name, 0, tmp_module))){
     68                free(tmp_module);
    6769                return ERROR_CODE;
    6870        }
    69         if( module ) * module = tmp_module;
     71        if(module){
     72                *module = tmp_module;
     73        }
    7074        return EOK;
    7175}
    7276
    73 module_ref get_running_module( modules_ref modules, char * name ){
    74         module_ref      module;
     77module_ref get_running_module(modules_ref modules, char * name){
     78        module_ref module;
    7579
    76         module = modules_find( modules, name, 0 );
    77         if( ! module ) return NULL;
    78         if( ! module->task_id ){
    79                 module->task_id = spawn( module->filename );
    80                 if( ! module->task_id ) return NULL;
     80        module = modules_find(modules, name, 0);
     81        if(! module){
     82                return NULL;
    8183        }
    82         if( ! module->phone ){
    83                 module->phone = module->connect_module( module->service );
     84        if(! module->task_id){
     85                module->task_id = spawn(module->filename);
     86                if(! module->task_id){
     87                        return NULL;
     88                }
     89        }
     90        if(! module->phone){
     91                module->phone = module->connect_module(module->service);
    8492        }
    8593        return module;
    8694}
    8795
    88 task_id_t spawn( char * fname ){
    89         char * argv[ 2 ];
    90         task_id_t       res;
     96task_id_t spawn(const char * fname){
     97        const char * argv[2];
     98        task_id_t res;
    9199
    92         argv[ 0 ] = fname;
    93         argv[ 1 ] = NULL;
    94         res = task_spawn( fname, argv );
     100        argv[0] = fname;
     101        argv[1] = NULL;
     102        res = task_spawn(fname, argv);
    95103
    96104        return res;
Note: See TracChangeset for help on using the changeset viewer.