diff --git a/src/plumberd.cr b/src/plumberd.cr index fdb83e8..9d162f7 100644 --- a/src/plumberd.cr +++ b/src/plumberd.cr @@ -92,8 +92,8 @@ class IPC::NetworkD < IPC::Service # Then we provide the file descriptor to the client r = LibIPC.ipc_provide_fd(origin.fd, service.fd) - if r != 0 - m = String.new LibIPC.ipc_errors_get (r) + if r.error_code != 0 + m = String.new r.error_message raise Exception.new "cannot send the file descriptor of the requested service: #{m}" end @@ -120,8 +120,8 @@ class IPC::NetworkD < IPC::Service # TODO: plumberd should be able to transfer messages??? r = LibIPC.ipc_wait_event self.pointer, @service_info.pointer, pointerof(event), pointerof(@timer) - if r != 0 - m = String.new LibIPC.ipc_errors_get (r) + if r.error_code != 0 + m = String.new r.error_message yield IPC::Exception.new "error waiting for a new event: #{m}" end diff --git a/src/websocketd.cr b/src/websocketd.cr index 896cdf1..c2a1178 100644 --- a/src/websocketd.cr +++ b/src/websocketd.cr @@ -97,7 +97,7 @@ class InstanceStorage # 6. removing the client and the service from is_client @is_client = @is_client.select do |fd,v| fd != fdclient end @is_json = @is_json.select do |fd,v| fd != fdclient end - + @fd_to_websocket.select! do |fd, ws| fd != fdclient end