Browse Source
Replace the approach using Foo_thread_args + Foo_thread and manually
Replace the approach using Foo_thread_args + Foo_thread and manually
spawned threads with a reusable class Thread. This is the second idea implemented in the Alik's patch for BUG#22306: STOP INSTANCE can not be applied for instances in Crashed, Failed and Abandoned. Commiting separately to ease review process. server-tools/instance-manager/commands.cc: Remove an unused header. server-tools/instance-manager/guardian.cc: Use Thread framework instead of manually spawning the Guardian thread. Tidy up. server-tools/instance-manager/guardian.h: Use Thread framework instead of manually spawning the Guardian thread. server-tools/instance-manager/instance.cc: Use Thread framework instead of manually spawning the instance monitoring thread. server-tools/instance-manager/listener.cc: Use Thread framework instead of manually spawning the mysql connection thread. server-tools/instance-manager/listener.h: Use Thread framework instead of manually spawning the mysql connection thread. Rename Listener_thread to Listener for brevity. server-tools/instance-manager/manager.cc: Change references to pointers, as per the coding style. Use Thread framework instead of manually spawning threads. server-tools/instance-manager/mysql_connection.cc: Get rid of Mysql_connection_thread_args. Use class Thread framework instead. Rename Mysql_connection_thread to Mysql_connection for brevity. server-tools/instance-manager/mysql_connection.h: Get rid of Mysql_connection_thread_args. Use class Thread framework instead. Rename Mysql_connection_thread to Mysql_connection for brevity. server-tools/instance-manager/priv.cc: Move set_stacksize_and_create_thread to thread_registry.cc and make it static: it is not used anywhere else now. server-tools/instance-manager/priv.h: No public set_stacksize_n_create_thread server-tools/instance-manager/thread_registry.cc: Implement a base Thread class to be used for all Instance Manager threads. server-tools/instance-manager/thread_registry.h: Implement a base Thread class to be used for all Instance Manager threads.pull/374/head
13 changed files with 336 additions and 420 deletions
-
1server-tools/instance-manager/commands.cc
-
53server-tools/instance-manager/guardian.cc
-
39server-tools/instance-manager/guardian.h
-
56server-tools/instance-manager/instance.cc
-
126server-tools/instance-manager/listener.cc
-
42server-tools/instance-manager/listener.h
-
60server-tools/instance-manager/manager.cc
-
115server-tools/instance-manager/mysql_connection.cc
-
59server-tools/instance-manager/mysql_connection.h
-
38server-tools/instance-manager/priv.cc
-
4server-tools/instance-manager/priv.h
-
96server-tools/instance-manager/thread_registry.cc
-
31server-tools/instance-manager/thread_registry.h
Write
Preview
Loading…
Cancel
Save
Reference in new issue