Hi,
I'm working on creating an xpc service, using the C APIs (gets launched from launchd via plist) and an application that wants to use this service.
Generally it works fine, communication is proper and as expected.
However, in case the service's plist has not been installed in /Library/LaunchDaemons, the client gets stuck! Neither the event handler (set with xpcconnectionseteventhandler) nor the reply block provided to xpcconnectionsendmessagewithreply get called.
If I use xpcconnectionsendmessagewithreplysync() - it never returns!
So how is a client to know that the service is not available in this case?
My assumption was that in such a case the event handler would be called with XPCERRORCONNECTIONINVALID.
Thanks in advance!
Devendra.
I'm working on creating an xpc service, using the C APIs (gets launched from launchd via plist) and an application that wants to use this service.
Generally it works fine, communication is proper and as expected.
However, in case the service's plist has not been installed in /Library/LaunchDaemons, the client gets stuck! Neither the event handler (set with xpcconnectionseteventhandler) nor the reply block provided to xpcconnectionsendmessagewithreply get called.
If I use xpcconnectionsendmessagewithreplysync() - it never returns!
So how is a client to know that the service is not available in this case?
My assumption was that in such a case the event handler would be called with XPCERRORCONNECTIONINVALID.
Thanks in advance!
Devendra.