Home | Back
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