|
From: <svn...@op...> - 2010-01-10 18:03:35
|
Author: dgollub Date: Sun Jan 10 19:03:23 2010 New Revision: 5993 URL: http://www.opensync.org/changeset/5993 Log: Changed order of main_sink connect and sink connect calls. Adapted testsuite which verified correct order of plugin sink function calls. Testsuite patch by paule fixes #1198 Modified: trunk/opensync/engine/opensync_engine.c trunk/tests/engine-tests/check_engine.c Modified: trunk/opensync/engine/opensync_engine.c ============================================================================== --- trunk/opensync/engine/opensync_engine.c Sun Jan 10 18:34:33 2010 (r5992) +++ trunk/opensync/engine/opensync_engine.c Sun Jan 10 19:03:23 2010 (r5993) @@ -1845,7 +1845,14 @@ switch (command->cmd) { case OSYNC_ENGINE_COMMAND_CONNECT: - /* We first tell all object engines to connect */ + /* First we connect the main sinks */ + for (o = engine->proxies; o; o = o->next) { + OSyncClientProxy *proxy = o->data; + if (!osync_client_proxy_connect(proxy, _osync_engine_connect_callback, engine, NULL, FALSE, &locerror)) + goto error; + } + + /* Then we tell all object engines to connect */ for (o = engine->object_engines; o; o = o->next) { OSyncObjEngine *objengine = o->data; @@ -1856,12 +1863,6 @@ goto error; } - /* Then we connect the main sinks */ - for (o = engine->proxies; o; o = o->next) { - OSyncClientProxy *proxy = o->data; - if (!osync_client_proxy_connect(proxy, _osync_engine_connect_callback, engine, NULL, FALSE, &locerror)) - goto error; - } break; case OSYNC_ENGINE_COMMAND_CONNECT_DONE: case OSYNC_ENGINE_COMMAND_READ: Modified: trunk/tests/engine-tests/check_engine.c ============================================================================== --- trunk/tests/engine-tests/check_engine.c Sun Jan 10 18:34:33 2010 (r5992) +++ trunk/tests/engine-tests/check_engine.c Sun Jan 10 19:03:23 2010 (r5993) @@ -378,7 +378,7 @@ osync_assert(env->num_connect < 3); osync_assert(env->num_disconnect == 0); osync_assert(env->num_get_changes == 0); - osync_assert(env->main_connect == 0); + osync_assert(env->main_connect == 1); osync_assert(env->main_disconnect == 0); osync_assert(env->main_get_changes == 0); @@ -435,7 +435,7 @@ osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx); osync_assert(env); - osync_assert(env->num_connect == 3); + osync_assert(env->num_connect == 0); osync_assert(env->num_disconnect == 0); osync_assert(env->num_get_changes == 0); osync_assert(env->main_connect == 0); @@ -700,12 +700,12 @@ osync_assert(env->num_connect < 3); osync_assert(env->num_disconnect == 0); osync_assert(env->num_get_changes == 0); - osync_assert(env->main_connect == 0); + osync_assert(env->main_connect == 1); osync_assert(env->main_disconnect == 0); osync_assert(env->main_get_changes == 0); env->ctx[env->num_connect] = ctx; - osync_context_ref(ctx); + osync_context_report_success(ctx); g_atomic_int_inc(&(env->num_connect)); @@ -785,7 +785,7 @@ osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx); osync_assert(env); - osync_assert(env->num_connect == 3); + osync_assert(env->num_connect == 0); osync_assert(env->num_disconnect == 0); osync_assert(env->num_get_changes == 0); osync_assert(env->main_connect == 0); @@ -795,13 +795,6 @@ g_atomic_int_inc(&(env->main_connect)); osync_context_report_success(ctx); - osync_context_report_success(env->ctx[0]); - osync_context_report_success(env->ctx[1]); - osync_context_report_success(env->ctx[2]); - - osync_context_unref(env->ctx[0]); - osync_context_unref(env->ctx[1]); - osync_context_unref(env->ctx[2]); osync_trace(TRACE_EXIT, "%s", __func__); } |