Lines Matching refs:server
149 _spdk_rpc_listen(const char *listen_addr, struct spdk_rpc_server *server) in _spdk_rpc_listen() argument
155 server->listen_addr_unix.sun_family = AF_UNIX; in _spdk_rpc_listen()
156 rc = snprintf(server->listen_addr_unix.sun_path, in _spdk_rpc_listen()
157 sizeof(server->listen_addr_unix.sun_path), in _spdk_rpc_listen()
159 if (rc < 0 || (size_t)rc >= sizeof(server->listen_addr_unix.sun_path)) { in _spdk_rpc_listen()
164 rc = snprintf(server->lock_path, sizeof(server->lock_path), "%s.lock", in _spdk_rpc_listen()
165 server->listen_addr_unix.sun_path); in _spdk_rpc_listen()
166 if (rc < 0 || (size_t)rc >= sizeof(server->lock_path)) { in _spdk_rpc_listen()
171 server->lock_fd = open(server->lock_path, O_RDWR | O_CREAT, 0600); in _spdk_rpc_listen()
172 if (server->lock_fd == -1) { in _spdk_rpc_listen()
174 server->lock_path, spdk_strerror(errno)); in _spdk_rpc_listen()
178 rc = flock(server->lock_fd, LOCK_EX | LOCK_NB); in _spdk_rpc_listen()
181 server->listen_addr_unix.sun_path); in _spdk_rpc_listen()
189 unlink(server->listen_addr_unix.sun_path); in _spdk_rpc_listen()
191 server->jsonrpc_server = spdk_jsonrpc_server_listen(AF_UNIX, 0, in _spdk_rpc_listen()
192 (struct sockaddr *) & server->listen_addr_unix, in _spdk_rpc_listen()
193 sizeof(server->listen_addr_unix), in _spdk_rpc_listen()
195 if (server->jsonrpc_server == NULL) { in _spdk_rpc_listen()
197 close(server->lock_fd); in _spdk_rpc_listen()
198 unlink(server->lock_path); in _spdk_rpc_listen()
210 struct spdk_rpc_server *server; in spdk_rpc_listen() local
216 server = &g_rpc_server; in spdk_rpc_listen()
218 rc = _spdk_rpc_listen(listen_addr, server); in spdk_rpc_listen()
220 server->listen_addr_unix.sun_path[0] = '\0'; in spdk_rpc_listen()
221 server->lock_path[0] = '\0'; in spdk_rpc_listen()
230 struct spdk_rpc_server *server; in spdk_rpc_server_listen() local
233 server = calloc(1, sizeof(struct spdk_rpc_server)); in spdk_rpc_server_listen()
234 if (!server) { in spdk_rpc_server_listen()
239 rc = _spdk_rpc_listen(listen_addr, server); in spdk_rpc_server_listen()
241 free(server); in spdk_rpc_server_listen()
245 return server; in spdk_rpc_server_listen()
255 spdk_rpc_server_accept(struct spdk_rpc_server *server) in spdk_rpc_server_accept() argument
257 assert(server != NULL); in spdk_rpc_server_accept()
258 spdk_jsonrpc_server_poll(server->jsonrpc_server); in spdk_rpc_server_accept()
379 _spdk_rpc_close(struct spdk_rpc_server *server) in _spdk_rpc_close() argument
381 assert(server != NULL); in _spdk_rpc_close()
382 assert(server->jsonrpc_server != NULL); in _spdk_rpc_close()
384 if (server->listen_addr_unix.sun_path[0]) { in _spdk_rpc_close()
386 unlink(server->listen_addr_unix.sun_path); in _spdk_rpc_close()
387 server->listen_addr_unix.sun_path[0] = '\0'; in _spdk_rpc_close()
390 spdk_jsonrpc_server_shutdown(server->jsonrpc_server); in _spdk_rpc_close()
391 server->jsonrpc_server = NULL; in _spdk_rpc_close()
393 if (server->lock_fd != -1) { in _spdk_rpc_close()
394 close(server->lock_fd); in _spdk_rpc_close()
395 server->lock_fd = -1; in _spdk_rpc_close()
398 if (server->lock_path[0]) { in _spdk_rpc_close()
399 unlink(server->lock_path); in _spdk_rpc_close()
400 server->lock_path[0] = '\0'; in _spdk_rpc_close()
417 spdk_rpc_server_close(struct spdk_rpc_server *server) in spdk_rpc_server_close() argument
419 assert(server != NULL); in spdk_rpc_server_close()
421 _spdk_rpc_close(server); in spdk_rpc_server_close()
423 free(server); in spdk_rpc_server_close()