Changes in uspace/srv/ns/ns.c [a47f522:9cfbf2f] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/ns/ns.c
ra47f522 r9cfbf2f 38 38 #include <ipc/ipc.h> 39 39 #include <ipc/ns.h> 40 #include <ipc/services.h> 41 #include <abi/ipc/interfaces.h> 40 42 #include <stdio.h> 41 43 #include <errno.h> … … 66 68 while (true) { 67 69 process_pending_conn(); 68 process_pending_wait();69 70 70 71 ipc_call_t call; … … 74 75 sysarg_t retval; 75 76 77 iface_t iface; 78 service_t service; 79 sysarg_t phone; 80 76 81 switch (IPC_GET_IMETHOD(call)) { 77 82 case IPC_M_PHONE_HUNGUP: … … 79 84 break; 80 85 case IPC_M_CONNECT_TO_ME: 86 service = IPC_GET_ARG2(call); 87 phone = IPC_GET_ARG5(call); 88 81 89 /* 82 90 * Server requests service registration. 83 91 */ 84 if (service_clonable(IPC_GET_ARG1(call))) { 85 register_clonable(IPC_GET_ARG1(call), 86 IPC_GET_ARG5(call), &call, callid); 92 if (service_clonable(service)) { 93 register_clonable(service, phone, &call, callid); 87 94 continue; 88 } else { 89 retval = register_service(IPC_GET_ARG1(call), 90 IPC_GET_ARG5(call), &call); 91 } 95 } else 96 retval = register_service(service, phone, &call); 97 92 98 break; 93 99 case IPC_M_CONNECT_ME_TO: 100 iface = IPC_GET_ARG1(call); 101 service = IPC_GET_ARG2(call); 102 94 103 /* 95 104 * Client requests to be connected to a service. 96 105 */ 97 if (service_clonable(IPC_GET_ARG1(call))) { 98 connect_to_clonable(IPC_GET_ARG1(call), 99 &call, callid); 106 if (service_clonable(service)) { 107 connect_to_clonable(service, iface, &call, callid); 100 108 continue; 101 109 } else { 102 connect_to_service(IPC_GET_ARG1(call), &call, 103 callid); 110 connect_to_service(service, iface, &call, callid); 104 111 continue; 105 112 }
Note:
See TracChangeset
for help on using the changeset viewer.