[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [E-devel] E ipc server
Carsten Haitzler (The Rasterman) wrote:
> On Wed, 15 Feb 2006 16:52:15 +0100 Arnaud Vrac <email@example.com> babbled:
>> I think there is a little problem in the IPC server of enlightenment:
>> the client is deleted in the disconnection handler. This means that
>> pending callbacks for this event on other servers will cause an ecore
>> spank error when trying to read the client data (this problem occurs for
>> me as i'm creating an ipc server in a module).
>> I think the call to ecore_ipc_client_del in _e_ipc_cb_client_del should
>> be removed, but then i'm not sure the client will ever be deleted at all.
> it needs to be deleted otherwise the client object will hang around forever
> until it is deleted. note that the code CHECKS to see the ipc server object is
> e's own ipc server instance - if its some other ipc server it just returns 1
> and passes the event on without doing anything. ie:
> if (ecore_ipc_client_server_get(e->client) != _e_ipc_server) return 1;
> /* delete client sruct */
Yes i do the same check in my code, but Ecore fails the magic check
because e->client has already been deleted.