2009-02-04 Graham Cobb <g+770@cobb.uk.net>
* opensync/group/opensync_member.c (osync_member_load): Use osync_member_add_objtype_sink so references get added properly. (osync_member_flush_objtypes): Use osync_member_remove_objtype_sink so references get removed properly * opensync/ipc/opensync_queue.c (osync_queue_set_message_handler): Fix bad osync_trace format 2009-02-03 Graham Cobb <g+770@cobb.uk.net> * tests/plugin-tests/check_plugin_config.c (plugin_config_advancedoption_set_get): Use new definition of osync_plugin_config_get_advancedoption_value_by_name * opensync/plugin/opensync_plugin_config.c (osync_plugin_config_get_advancedoption_value_by_name): Return option value [Bug #1032] * opensync/plugin/opensync_plugin_config.h: Fix osync_plugin_config_get_advancedoption_value_by_name to return a const char * [Bug #1032] * tests/ipc-tests/check_ipc.c (ipc_loop_timeout_with_idle): Change test parameters so test completes within 30 second limit. 2009-02-02 Graham Cobb <g+770@cobb.uk.net> * opensync/ipc/opensync_queue_private.h (OSYNC_QUEUE_PENDING_QUEUE_MIN_TIMEOUT): Define minimum pending queue timeout. * opensync/ipc/opensync_queue.c (_osync_queue_restart_pending_timeout): Apply minimum value to pending queue timeout. 2009-02-01 Graham Cobb <g+770@cobb.uk.net> * tests/ipc-tests/check_ipc.c: Add ipc_timeout_noreceiver test. * opensync/ipc/opensync_queue.c (osync_queue_send_message_with_timeout): Track maximum timeout seen. Start pending queue timeout. (_osync_queue_remove_pending_reply): restart pending queue timeout if necessary (_osync_queue_restart_pending_timeout): Add function to start/restart pending queue timeout (_timeout_check): Fix calculation of expiry of timeout. Add pending queue timeout. (_timeout_dispatch): Fix calculation of expiry of timeout. Add pending queue timeout. * opensync/ipc/opensync_queue_private.h: Add max_timeout and pending_timeout fields (to queue). (OSYNC_QUEUE_PENDING_QUEUE_IPC_DELAY): Add value to assume for IPC delay in pending queue timout. 2009-01-25 Graham Cobb <g+770@cobb.uk.net> * opensync/engine/opensync_sink_engine.c (osync_sink_engine_new): Ref objengine [Bug #1052] (osync_sink_engine_unref): Unref objengine [Bug #1052] * opensync/engine/opensync_obj_engine.c (_osync_obj_engine_*_callback): Unref sinkengine [Bug #1052] (osync_obj_engine_command): Ref sinkengine every time it is used for a callback [Bug #1052] * opensync/ipc/opensync_queue.c (osync_queue_disconnect): Empty pending queue before performing disconnect. Pending messages with callbacks will get called with an error message. (_incoming_check): Do not action incoming queue if a disconnect is in progress. This avoids entries being added to pending queue while we are trying to empty it. (osync_queue_send_message_with_timeout): Do not allow sending messages which require adding entries to the reply queue pending list if the reply queue is being disconnected. * opensync/ipc/opensync_queue_private.h: Add disc_in_progress flag to queue. 2009-01-24 Graham Cobb <g+770@cobb.uk.net> * opensync/ipc/opensync_queue.c (_osync_queue_generate_error): Add _osync_queue_generate_error (_osync_send_timeout_response): If there is no reply queue, call _osync_queue_generate_error * tests/CMakeLists.txt: Add ipc_timeout_noreplyq * tests/ipc-tests/check_ipc.c: Add ipc_timeout_noreplyq * opensync/ipc/opensync_queue.c (osync_queue_remove_cross_link): Add osync_queue_remove_cross_link (osync_queue_disconnect): Call osync_queue_remove_cross_link * opensync/ipc/opensync_queue_internals.h: Add osync_queue_remove_cross_link 2009-01-23 Graham Cobb <g+770@cobb.uk.net> * opensync/client/opensync_client.c (osync_client_set_incoming_queue): Call osync_queue_set_pending_limit * tests/ipc-tests/check_ipc.c: Call osync_queue_set_pending_limit in timeout tests. * opensync/ipc/opensync_queue_internals.h: Add osync_queue_set_pending_limit and OSYNC_QUEUE_PENDING_LIMIT * opensync/ipc/opensync_queue.c (_incoming_check): Check pendingLimit not exceeded. Add increments/decrements of pendingCount whenever pendingReplies is manipulated. (osync_queue_set_pending_limit): Add osync_queue_set_pending_limit * opensync/ipc/opensync_queue_private.h: Add pendingCount, pendingLimit to OSyncQueue * tests/CMakeLists.txt: Add ipc_loop_timeout_with_idle. * tests/ipc-tests/check_ipc.c: Rename callback_handler as callback_handler_check_reply. Rename server_handler3 as server_handler_abort. Rename client_handler6 as client_handler_sleep. Add ipc_loop_timeout_with_idle. 2009-01-22 Graham Cobb <g+770@cobb.uk.net> * tests/CMakeLists.txt: Add ipc_loop_with_timeout Add ipc_late_reply * tests/ipc-tests/check_ipc.c: Call osync_queue_cross_link every time client mainloop is setup. (ipc_timeout): Rewrite client to use a mainloop and a callback so new timeout processing can run Rewrite server to use a mainloop so message callback gets called (ipc_loop_with_timeout): Add ipc_loop_with_timeout (ipc_late_reply): Add ipc_late_reply * opensync/ipc/opensync_queue.c (_timeout_dispatch): Restart timeout search at start of pending list as list may have been modified while unlocked. (_timeout_dispatch): Set message id in error message (_timeout_dispatch): Undo change to restart timeout search (above) 2009-01-21 Graham Cobb <g+770@cobb.uk.net> * opensync/ipc/opensync_queue.c (osync_queue_send_message_with_timeout): If this is a reply, remove pending command * opensync/client/opensync_client_proxy.c (_osync_client_proxy_hup_handler): treat a queue error as a disconnect (osync_client_proxy_spawn): cross-link command and reply queues * opensync/client/opensync_client.c (_osync_client_handle_initialize): cross-link command and reply queues (_osync_client_hup_handler): treat a queue error as a disconnect 2009-01-20 Graham Cobb <g+770@cobb.uk.net> * opensync/ipc/opensync_queue_internals.h: Add osync_queue_cross_link * opensync/ipc/opensync_queue.c (osync_queue_cross_link): Cross-link command and reply queues * opensync/ipc/opensync_queue.c (_osync_send_timeout_response): Callback function for timeouts: send the timeout error reponse (_incoming_dispatch): For incoming messages which have timeouts, create a pending list entry * opensync/ipc/opensync_queue_private.h: Add reply_queue for pointer to queue used for replies to incoming messages, if any. Add cmd_queue for pointer to queue used to store pending commands. 2009-01-19 Graham Cobb <g+770@cobb.uk.net> * opensync/ipc/opensync_message.c: Add opensync_message_set/get_timeout * opensync/ipc/opensync_message_internals.h: Add opensync_message_set/get_timeout * opensync/ipc/opensync_message_private.h: Add timeout to message 2008-05-04 Graham Cobb <g+770@cobb.uk.net> * opensync/helper/opensync_hashtable.c (osync_hashtable_get_deleted): Reimplement change below to avoid local function declaration, which does not work on suncc. Use user_data parameter on callback_check_deleted instead. 2008-05-03 Graham Cobb <g+770@cobb.uk.net> * opensync/helper/opensync_hashtable.c (osync_hashtable_get_deleted): Avoid use of g_hash_table_get_keys so code can be built using glib 2.12. Uses g_hash_table_foreach with a callback routine instead. 2008-04-12 Daniel Gollub <gollub@b1-systems.de> * tools/osyncplugin.c: Full rewrite of osyncplugin to work with OpenSync 0.30 API * tests/mock-plugin/mock_sync.c, tests/mock-plugin/mock_format.c: Stripped entire error handling of mock-sync and mock-format for best code coverage. Instead of error handling in testing code use osync_assert(). 2008-04-10 Graham Cobb <g+770@cobb.uk.net> * opensync/helper/opensync_hashtable.c (osync_hashtable_reset_reports): conditionalise g_hash_table_remove_all on GLIB version 2.12 or later. Use g_hash_table_foreach_remove for earlier versions. * ChangeLog: create a ChangeLog |