00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <config.h>
00022 #include <plugin/user_locks/module.h>
00023
00024 using namespace drizzled;
00025
00026 static int init(drizzled::module::Context &context)
00027 {
00028
00029 user_locks::Locks::getInstance();
00030 user_locks::barriers::Barriers::getInstance();
00031
00032 context.add(new plugin::Create_function<user_locks::barriers::CreateBarrier>("create_barrier"));
00033 context.add(new plugin::Create_function<user_locks::barriers::Release>("release_barrier"));
00034 context.add(new plugin::Create_function<user_locks::barriers::Wait>("wait"));
00035 context.add(new plugin::Create_function<user_locks::barriers::WaitUntil>("wait_until"));
00036 context.add(new plugin::Create_function<user_locks::barriers::Signal>("signal"));
00037
00038 context.add(new plugin::Create_function<user_locks::GetLock>("get_lock"));
00039 context.add(new plugin::Create_function<user_locks::GetLocks>("get_locks"));
00040 context.add(new plugin::Create_function<user_locks::ReleaseLock>("release_lock"));
00041 context.add(new plugin::Create_function<user_locks::ReleaseLocks>("release_locks"));
00042 context.add(new plugin::Create_function<user_locks::IsFreeLock>("is_free_lock"));
00043 context.add(new plugin::Create_function<user_locks::IsUsedLock>("is_used_lock"));
00044 context.add(new plugin::Create_function<user_locks::locks::WaitFor>("wait_for_lock"));
00045 context.add(new plugin::Create_function<user_locks::locks::ReleaseAndWait>("release_lock_and_wait"));
00046 context.add(new user_locks::UserLocks);
00047 context.add(new user_locks::barriers::UserBarriers);
00048
00049 return 0;
00050 }
00051
00052 DRIZZLE_DECLARE_PLUGIN
00053 {
00054 DRIZZLE_VERSION_ID,
00055 "User Level Locking Functions",
00056 "1.1",
00057 "Brian Aker",
00058 "User level locking and barrier functions",
00059 PLUGIN_LICENSE_GPL,
00060 init,
00061 NULL,
00062 NULL
00063 }
00064 DRIZZLE_DECLARE_PLUGIN_END;