Changes in uspace/srv/vfs/vfs.c [ffa2c8ef:228e490] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/vfs/vfs.c
rffa2c8ef r228e490 36 36 */ 37 37 38 #include <ipc/ipc.h> 38 39 #include <ipc/services.h> 39 #include <ipc/ns.h>40 40 #include <async.h> 41 41 #include <errno.h> … … 47 47 #include "vfs.h" 48 48 49 #define NAME 49 #define NAME "vfs" 50 50 51 51 static void vfs_connection(ipc_callid_t iid, ipc_call_t *icall) … … 57 57 * This call needs to be answered. 58 58 */ 59 async_answer_0(iid, EOK);59 ipc_answer_0(iid, EOK); 60 60 61 /* 62 * Here we enter the main connection fibril loop. 63 * The logic behind this loop and the protocol is that we'd like to keep 64 * each connection open until the client hangs up. When the client hangs 65 * up, we will free its VFS state. The act of hanging up the connection 66 * by the client is equivalent to client termination because we cannot 67 * distinguish one from the other. On the other hand, the client can 68 * hang up arbitrarily if it has no open files and reestablish the 69 * connection later. 70 */ 61 71 while (keep_on_going) { 62 72 ipc_call_t call; … … 119 129 vfs_dup(callid, &call); 120 130 default: 121 async_answer_0(callid, ENOTSUP);131 ipc_answer_0(callid, ENOTSUP); 122 132 break; 123 133 } 124 134 } 125 126 /* 127 * Open files for this client will be cleaned up when its last 128 * connection fibril terminates. 129 */ 135 136 vfs_files_done(); 130 137 } 131 138 … … 159 166 160 167 /* 161 * Set client data constructor and destructor.162 */163 async_set_client_data_constructor(vfs_client_data_create);164 async_set_client_data_destructor(vfs_client_data_destroy);165 166 /*167 168 * Set a connection handling function/fibril. 168 169 */ … … 172 173 * Register at the naming service. 173 174 */ 174 if (service_register(SERVICE_VFS) != EOK) { 175 printf("%s: Cannot register VFS service\n", NAME); 176 return EINVAL; 177 } 175 sysarg_t phonead; 176 ipc_connect_to_me(PHONE_NS, SERVICE_VFS, 0, 0, &phonead); 178 177 179 178 /*
Note:
See TracChangeset
for help on using the changeset viewer.