12345678910111213141516171819202122232425262728293031323334353637383940 |
- /*
- * example_mutex.c
- */
- #include <linux/module.h>
- #include <linux/mutex.h>
- #include <linux/printk.h>
- static DEFINE_MUTEX(mymutex);
- static int __init example_mutex_init(void)
- {
- int ret;
- pr_info("example_mutex init\n");
- ret = mutex_trylock(&mymutex);
- if (ret != 0) {
- pr_info("mutex is locked\n");
- if (mutex_is_locked(&mymutex) == 0)
- pr_info("The mutex failed to lock!\n");
- mutex_unlock(&mymutex);
- pr_info("mutex is unlocked\n");
- } else
- pr_info("Failed to lock\n");
- return 0;
- }
- static void __exit example_mutex_exit(void)
- {
- pr_info("example_mutex exit\n");
- }
- module_init(example_mutex_init);
- module_exit(example_mutex_exit);
- MODULE_DESCRIPTION("Mutex example");
- MODULE_LICENSE("GPL");
|