IPC::Client has a server_fd property.

ipc07
Karchnu 2020-07-13 18:40:21 +02:00
parent 2505ec1c4a
commit 90e98c328a
1 changed files with 7 additions and 1 deletions

View File

@ -1,14 +1,20 @@
class IPC::Client < IPC::Context
property server_fd : Int32
# By default, this is a client.
def initialize(service_name : String)
super()
r = LibIPC.ipc_connection(self.pointer, service_name)
serverfd = 0
r = LibIPC.ipc_connection(self.pointer, service_name, pointerof(serverfd))
if r.error_code != 0
m = String.new r.error_message.to_slice
raise Exception.new "error during connection establishment: #{m}"
end
@server_fd = server_fd
# Very important as there are filesystem side-effects.
at_exit { close }
end