summaryrefslogtreecommitdiff
path: root/sql/event_scheduler.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/event_scheduler.h')
-rw-r--r--sql/event_scheduler.h187
1 files changed, 0 insertions, 187 deletions
diff --git a/sql/event_scheduler.h b/sql/event_scheduler.h
index 7d02e98d4fe..acd0debe391 100644
--- a/sql/event_scheduler.h
+++ b/sql/event_scheduler.h
@@ -16,191 +16,4 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-class sp_name;
-class Event_timed;
-class Event_db_repository;
-class Event_queue;
-
-class THD;
-
-int
-events_init();
-
-void
-events_shutdown();
-
-#include "event_queue.h"
-#include "event_scheduler.h"
-
-class Event_scheduler
-{
-public:
- enum enum_state
- {
- UNINITIALIZED= 0,
- INITIALIZED,
- COMMENCING,
- CANTSTART,
- RUNNING,
- SUSPENDED,
- IN_SHUTDOWN
- };
-
- enum enum_suspend_or_resume
- {
- SUSPEND= 1,
- RESUME= 2
- };
-
- /* This is the current status of the life-cycle of the scheduler. */
- enum enum_state state;
-
-
- static void
- create_instance(Event_queue *queue);
-
- static void
- init_mutexes();
-
- static void
- destroy_mutexes();
-
- /* Singleton access */
- static Event_scheduler*
- get_instance();
-
- bool
- init(Event_db_repository *db_repo);
-
- void
- destroy();
-
- /* State changing methods follow */
-
- bool
- start();
-
- int
- stop();
-
- bool
- start_suspended();
-
- /*
- Need to be public because has to be called from the function
- passed to pthread_create.
- */
- bool
- run(THD *thd);
-
- int
- suspend_or_resume(enum enum_suspend_or_resume action);
-/*
- static void
- init_mutexes();
-
- static void
- destroy_mutexes();
-*/
- void
- report_error_during_start();
-
- /* Information retrieving methods follow */
-
- enum enum_state
- get_state();
-
- bool
- initialized();
-
- static int
- dump_internal_status(THD *thd);
-
- /* helper functions for working with mutexes & conditionals */
- void
- lock_data(const char *func, uint line);
-
- void
- unlock_data(const char *func, uint line);
-
- int
- cond_wait(int cond, pthread_mutex_t *mutex);
-
- void
- queue_changed();
-
- Event_queue *event_queue;
-
-protected:
-
- uint
- workers_count();
-
- /* helper functions */
- bool
- execute_top(THD *thd, Event_timed *et);
-
- void
- clean_memory(THD *thd);
-
- void
- stop_all_running_events(THD *thd);
-
-
- bool
- check_n_suspend_if_needed(THD *thd);
-
- bool
- check_n_wait_for_non_empty_queue(THD *thd);
-
- /* Singleton DP is used */
- Event_scheduler();
-
- pthread_mutex_t LOCK_data;
- pthread_mutex_t *LOCK_scheduler_data;
-
- /* The MEM_ROOT of the object */
- MEM_ROOT scheduler_root;
-
- /* Set to start the scheduler in suspended state */
- bool start_scheduler_suspended;
-
- /*
- Holds the thread id of the executor thread or 0 if the executor is not
- running. It is used by ::shutdown() to know which thread to kill with
- kill_one_thread(). The latter wake ups a thread if it is waiting on a
- conditional variable and sets thd->killed to non-zero.
- */
- ulong thread_id;
-
- enum enum_cond_vars
- {
- COND_NONE= -1,
- COND_new_work= 0,
- COND_started_or_stopped,
- COND_suspend_or_resume,
- /* Must be always last */
- COND_LAST
- };
-
- uint mutex_last_locked_at_line;
- uint mutex_last_unlocked_at_line;
- const char* mutex_last_locked_in_func;
- const char* mutex_last_unlocked_in_func;
- int cond_waiting_on;
- bool mutex_scheduler_data_locked;
-
- static const char * const cond_vars_names[COND_LAST];
-
- pthread_cond_t cond_vars[COND_LAST];
-
- /* Singleton instance */
- static Event_scheduler *singleton;
-
-private:
- /* Prevent use of these */
- Event_scheduler(const Event_scheduler &);
- void operator=(Event_scheduler &);
-};
-
#endif /* _EVENT_SCHEDULER_H_ */