Changes in uspace/srv/ns/service.c [7b616e2:8a637a4] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/ns/service.c
r7b616e2 r8a637a4 31 31 */ 32 32 33 #include <ipc/ipc.h> 33 34 #include <adt/hash_table.h> 34 35 #include <assert.h> 35 #include <async.h>36 36 #include <errno.h> 37 37 #include <stdio.h> … … 47 47 service_t service; 48 48 49 /** Session to the service */ 50 async_sess_t *sess; 49 /** Phone registered with the interface */ 50 sysarg_t phone; 51 52 /** Incoming phone hash */ 53 sysarg_t in_phone_hash; 51 54 } hashed_service_t; 52 55 … … 118 121 119 122 hashed_service_t *hashed_service = hash_table_get_inst(link, hashed_service_t, link); 120 async_exch_t *exch = async_exchange_begin(hashed_service->sess); 121 async_forward_fast(pending->callid, exch, pending->iface, 122 pending->arg3, 0, IPC_FF_NONE); 123 async_exchange_end(exch); 123 (void) ipc_forward_fast(pending->callid, hashed_service->phone, 124 pending->iface, pending->arg3, 0, IPC_FF_NONE); 124 125 125 126 list_remove(&pending->link); … … 150 151 151 152 hashed_service->service = service; 152 hashed_service->sess = async_callback_receive(EXCHANGE_SERIALIZE); 153 if (hashed_service->sess == NULL) 154 return EIO; 153 hashed_service->phone = phone; 154 hashed_service->in_phone_hash = call->in_phone_hash; 155 155 156 156 hash_table_insert(&service_hash_table, &hashed_service->link); 157 157 158 return EOK; 158 159 } … … 201 202 202 203 hashed_service_t *hashed_service = hash_table_get_inst(link, hashed_service_t, link); 203 async_exch_t *exch = async_exchange_begin(hashed_service->sess); 204 async_forward_fast(callid, exch, iface, arg3, 0, IPC_FF_NONE); 205 async_exchange_end(exch); 204 (void) ipc_forward_fast(callid, hashed_service->phone, iface, arg3, 205 0, IPC_FF_NONE); 206 206 return; 207 207 208 208 out: 209 async_answer_0(callid, retval); 209 if (!(callid & IPC_CALLID_NOTIFICATION)) 210 ipc_answer_0(callid, retval); 210 211 } 211 212
Note:
See TracChangeset
for help on using the changeset viewer.