Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/loader/main.c

    r622cdbe r5d96851  
    7272static pcb_t pcb;
    7373
    74 /** Current working directory */
    75 static char *cwd = NULL;
    76 
    7774/** Number of arguments */
    7875static int argc = 0;
     
    105102        task_id = task_get_id();
    106103       
    107         if (!async_data_read_receive(&callid, &len)) {
     104        if (!ipc_data_read_receive(&callid, &len)) {
    108105                ipc_answer_0(callid, EINVAL);
    109106                ipc_answer_0(rid, EINVAL);
     
    114111                len = sizeof(task_id);
    115112       
    116         async_data_read_finalize(callid, &task_id, len);
     113        ipc_data_read_finalize(callid, &task_id, len);
    117114        ipc_answer_0(rid, EOK);
    118115}
    119116
    120 /** Receive a call setting the current working directory.
    121  *
    122  * @param rid
    123  * @param request
    124  */
    125 static void ldr_set_cwd(ipc_callid_t rid, ipc_call_t *request)
    126 {
    127         ipc_callid_t callid;
    128         size_t len;
    129        
    130         if (!async_data_write_receive(&callid, &len)) {
    131                 ipc_answer_0(callid, EINVAL);
    132                 ipc_answer_0(rid, EINVAL);
    133                 return;
    134         }
    135        
    136         cwd = malloc(len + 1);
    137         if (!cwd) {
    138                 ipc_answer_0(callid, ENOMEM);
    139                 ipc_answer_0(rid, ENOMEM);
    140                 return;
    141         }
    142        
    143         async_data_write_finalize(callid, cwd, len);
    144         cwd[len] = '\0';
    145        
    146         ipc_answer_0(rid, EOK);
    147 }
    148117
    149118/** Receive a call setting pathname of the program to execute.
     
    158127        char *name_buf;
    159128       
    160         if (!async_data_write_receive(&callid, &len)) {
     129        if (!ipc_data_write_receive(&callid, &len)) {
    161130                ipc_answer_0(callid, EINVAL);
    162131                ipc_answer_0(rid, EINVAL);
     
    171140        }
    172141       
    173         async_data_write_finalize(callid, name_buf, len);
     142        ipc_data_write_finalize(callid, name_buf, len);
    174143        ipc_answer_0(rid, EOK);
    175144       
     
    195164        int n;
    196165       
    197         if (!async_data_write_receive(&callid, &buf_size)) {
     166        if (!ipc_data_write_receive(&callid, &buf_size)) {
    198167                ipc_answer_0(callid, EINVAL);
    199168                ipc_answer_0(rid, EINVAL);
     
    218187        }
    219188       
    220         async_data_write_finalize(callid, arg_buf, buf_size);
     189        ipc_data_write_finalize(callid, arg_buf, buf_size);
    221190       
    222191        arg_buf[buf_size] = '\0';
     
    270239        ipc_callid_t callid;
    271240        size_t buf_size;
    272         if (!async_data_write_receive(&callid, &buf_size)) {
     241        if (!ipc_data_write_receive(&callid, &buf_size)) {
    273242                ipc_answer_0(callid, EINVAL);
    274243                ipc_answer_0(rid, EINVAL);
     
    299268        }
    300269       
    301         async_data_write_finalize(callid, fil_buf, buf_size);
     270        ipc_data_write_finalize(callid, fil_buf, buf_size);
    302271       
    303272        int count = buf_size / sizeof(fdi_node_t);
     
    343312       
    344313        elf_create_pcb(&prog_info, &pcb);
    345        
    346         pcb.cwd = cwd;
    347314       
    348315        pcb.argc = argc;
     
    439406                case LOADER_GET_TASKID:
    440407                        ldr_get_taskid(callid, &call);
    441                         continue;
    442                 case LOADER_SET_CWD:
    443                         ldr_set_cwd(callid, &call);
    444408                        continue;
    445409                case LOADER_SET_PATHNAME:
Note: See TracChangeset for help on using the changeset viewer.