forked from enlightenment/terminology
if ipc serve fails - try ipc send again.
SVN revision: 81854
This commit is contained in:
parent
ce00c0157f
commit
970051e45a
|
@ -117,16 +117,17 @@ ipc_init(void)
|
||||||
"nowm", nowm, EET_T_INT);
|
"nowm", nowm, EET_T_INT);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
Eina_Bool
|
||||||
ipc_serve(void)
|
ipc_serve(void)
|
||||||
{
|
{
|
||||||
char *hash = _ipc_hash_get();
|
char *hash = _ipc_hash_get();
|
||||||
if (!hash) return;
|
if (!hash) return EINA_FALSE;
|
||||||
ipc = ecore_ipc_server_add(ECORE_IPC_LOCAL_USER, hash, 0, NULL);
|
ipc = ecore_ipc_server_add(ECORE_IPC_LOCAL_USER, hash, 0, NULL);
|
||||||
free(hash);
|
free(hash);
|
||||||
if (!ipc) return;
|
if (!ipc) return EINA_FALSE;
|
||||||
hnd_data = ecore_event_handler_add
|
hnd_data = ecore_event_handler_add
|
||||||
(ECORE_IPC_EVENT_CLIENT_DATA, _ipc_cb_client_data, NULL);
|
(ECORE_IPC_EVENT_CLIENT_DATA, _ipc_cb_client_data, NULL);
|
||||||
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -30,7 +30,7 @@ struct _Ipc_Instance
|
||||||
|
|
||||||
void ipc_init(void);
|
void ipc_init(void);
|
||||||
void ipc_shutdown(void);
|
void ipc_shutdown(void);
|
||||||
void ipc_serve(void);
|
Eina_Bool ipc_serve(void);
|
||||||
void ipc_instance_new_func_set(void (*func) (Ipc_Instance *inst));
|
void ipc_instance_new_func_set(void (*func) (Ipc_Instance *inst));
|
||||||
Eina_Bool ipc_instance_add(Ipc_Instance *inst);
|
Eina_Bool ipc_instance_add(Ipc_Instance *inst);
|
||||||
|
|
||||||
|
|
|
@ -921,6 +921,7 @@ elm_main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
Win *wn;
|
Win *wn;
|
||||||
Term *term;
|
Term *term;
|
||||||
|
int remote_try = 0;
|
||||||
char *cmd = NULL;
|
char *cmd = NULL;
|
||||||
char *cd = NULL;
|
char *cd = NULL;
|
||||||
char *theme = NULL;
|
char *theme = NULL;
|
||||||
|
@ -1209,6 +1210,7 @@ elm_main(int argc, char **argv)
|
||||||
if (login_shell == 0xff) login_shell = EINA_FALSE;
|
if (login_shell == 0xff) login_shell = EINA_FALSE;
|
||||||
|
|
||||||
ipc_init();
|
ipc_init();
|
||||||
|
remote:
|
||||||
if ((!single) && (config->multi_instance))
|
if ((!single) && (config->multi_instance))
|
||||||
{
|
{
|
||||||
Ipc_Instance inst;
|
Ipc_Instance inst;
|
||||||
|
@ -1253,7 +1255,14 @@ elm_main(int argc, char **argv)
|
||||||
if ((!single) && (config->multi_instance))
|
if ((!single) && (config->multi_instance))
|
||||||
{
|
{
|
||||||
ipc_instance_new_func_set(main_ipc_new);
|
ipc_instance_new_func_set(main_ipc_new);
|
||||||
ipc_serve();
|
if (!ipc_serve())
|
||||||
|
{
|
||||||
|
if (remote_try < 1)
|
||||||
|
{
|
||||||
|
remote_try++;
|
||||||
|
goto remote;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
wn = main_win_new(name, role, title, icon_name,
|
wn = main_win_new(name, role, title, icon_name,
|
||||||
|
|
Loading…
Reference in New Issue