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. |