Part of issue #793. This change is related to the implementation of Windows client.
When implementing the Windows client, we found that we need to improve some behaviors of ClientBase.
Changed content: We modified the ClientBase#initialize function. If error occurs at any stage, this function will abort the initialization process and call stop to clean up.
Reason for the change: Previously we thought that if the ClientBase#before_starting_server stage fails, ClientBase doesn't need to call stop to clean up. But this is wrong, because before_starting_server may also perform some operations that need to be cleaned up.
Part of issue #793. This change is related to the implementation of Windows client.
When implementing the Windows client, we found that we need to improve some behaviors of
ClientBase
.Changed content: We modified the
ClientBase#initialize
function. If error occurs at any stage, this function will abort the initialization process and callstop
to clean up.Reason for the change: Previously we thought that if the
ClientBase#before_starting_server
stage fails,ClientBase
doesn't need to callstop
to clean up. But this is wrong, becausebefore_starting_server
may also perform some operations that need to be cleaned up.This change is