Subversion Repositories HelenOS

Rev

Rev 3912 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3912 Rev 4155
Line 65... Line 65...
65
/** Starts the module.
65
/** Starts the module.
66
 *  @param fname The module absolute name. Input parameter.
66
 *  @param fname The module absolute name. Input parameter.
67
 *  @returns The started module task identifier.
67
 *  @returns The started module task identifier.
68
 *  @returns Other error codes as defined for the task_spawn() function.
68
 *  @returns Other error codes as defined for the task_spawn() function.
69
 */
69
 */
70
task_id_t   spawn( const char * fname );
70
task_id_t   spawn( char * const fname );
71
 
71
 
72
int main( int argc, char * argv[] ){
72
int main( int argc, char * argv[] ){
73
    ERROR_DECLARE;
73
    ERROR_DECLARE;
74
 
74
 
75
    int     networking_phone;
75
    int     networking_phone;
76
 
76
 
77
    printf( "\nTask %d - " NAME, task_get_id());
77
    printf( "\nTask %d - " NAME, task_get_id());
78
    // run self tests
78
    // run self tests
79
    ERROR_PROPAGATE( self_test());
79
    ERROR_PROPAGATE( self_test());
80
    // start networking service
80
    // start networking service
81
    if( ! spawn( "/sbin/networking" )){
81
    if( ! spawn( "/srv/net" )){
82
        printf( "\n" NAME "Could not spawn networking" );
82
        printf( "\n" NAME "Could not spawn networking" );
83
        return EINVAL;
83
        return EINVAL;
84
    }
84
    }
85
    // start networking
85
    // start networking
86
    networking_phone = connect_to_service( SERVICE_NETWORKING );
86
    networking_phone = connect_to_service( SERVICE_NETWORKING );
Line 90... Line 90...
90
    }
90
    }
91
    printf( "\n" NAME " - OK\n" );
91
    printf( "\n" NAME " - OK\n" );
92
    return EOK;
92
    return EOK;
93
}
93
}
94
 
94
 
95
task_id_t spawn( const char * fname ){
95
task_id_t spawn( char * const fname ){
96
    const char *    argv[ 2 ];
96
    char * const    argv[ 2 ] = { fname, NULL };
97
    task_id_t   res;
97
    task_id_t   res;
98
 
98
 
99
//  printf( "Spawning %s\n", fname );
99
//  printf( "Spawning %s\n", fname );
100
    argv[ 0 ] = fname;
100
//  argv[ 0 ] = fname;
101
    argv[ 1 ] = NULL;
101
//  argv[ 1 ] = NULL;
102
    res = task_spawn( fname, argv );
102
    res = task_spawn( fname, argv );
103
    if( res != 0 ){
103
    if( res != 0 ){
104
        /* Success */
104
        /* Success */
105
        usleep( 50000 );
105
        usleep( 50000 );
106
    }
106
    }