Subversion Repositories HelenOS

Rev

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

Rev 3896 Rev 3904
Line 93... Line 93...
93
 
93
 
94
/** Request for connection to a clonable service. */
94
/** Request for connection to a clonable service. */
95
typedef struct {
95
typedef struct {
96
    link_t link;
96
    link_t link;
97
    ipcarg_t service;
97
    ipcarg_t service;
98
    ipc_call_t *call;
98
    ipc_call_t call;
99
    ipc_callid_t callid;
99
    ipc_callid_t callid;
100
} cs_req_t;
100
} cs_req_t;
101
 
101
 
102
/** List of clonable-service connection requests. */
102
/** List of clonable-service connection requests. */
103
static link_t cs_req;
103
static link_t cs_req;
Line 286... Line 286...
286
    /* Currently we can only handle a single type of clonable service. */
286
    /* Currently we can only handle a single type of clonable service. */
287
    assert(csr->service == SERVICE_LOAD);
287
    assert(csr->service == SERVICE_LOAD);
288
 
288
 
289
    ipc_answer_0(callid, EOK);
289
    ipc_answer_0(callid, EOK);
290
 
290
 
291
    rc = ipc_forward_fast(csr->callid, phone, IPC_GET_ARG2(*csr->call),
291
    rc = ipc_forward_fast(csr->callid, phone, IPC_GET_ARG2(csr->call),
292
        IPC_GET_ARG3(*csr->call), 0, IPC_FF_NONE);
292
        IPC_GET_ARG3(csr->call), 0, IPC_FF_NONE);
293
 
293
 
294
    free(csr);
294
    free(csr);
295
}
295
}
296
 
296
 
297
/** Connect client to clonable service.
297
/** Connect client to clonable service.
Line 324... Line 324...
324
        ipc_answer_0(callid, rc);
324
        ipc_answer_0(callid, rc);
325
        return;
325
        return;
326
    }
326
    }
327
 
327
 
328
    csr->service = service;
328
    csr->service = service;
329
    csr->call = call;
329
    csr->call = *call;
330
    csr->callid = callid;
330
    csr->callid = callid;
331
 
331
 
332
    /*
332
    /*
333
     * We can forward the call only after the server we spawned connects
333
     * We can forward the call only after the server we spawned connects
334
     * to us. Meanwhile we might need to service more connection requests.
334
     * to us. Meanwhile we might need to service more connection requests.