kthrdlk.c (241370) | kthrdlk.c (241394) |
---|---|
1/*- 2 * Copyright (c) 2010 Giovanni Trematerra <giovanni.trematerra@gmail.com> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 19 unchanged lines hidden (view full) --- 28 * PURPOSE: 29 * 30 * This kernel module helped to identify a deadlock in kthread 31 * interface, also pointed out a race in kthread_exit function. 32 * 33 */ 34 35#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2010 Giovanni Trematerra <giovanni.trematerra@gmail.com> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 19 unchanged lines hidden (view full) --- 28 * PURPOSE: 29 * 30 * This kernel module helped to identify a deadlock in kthread 31 * interface, also pointed out a race in kthread_exit function. 32 * 33 */ 34 35#include <sys/cdefs.h> |
36__FBSDID("$FreeBSD: head/tools/regression/kthread/kld/kthrdlk.c 241370 2012-10-09 08:27:40Z kevlo $"); | 36__FBSDID("$FreeBSD: head/tools/regression/kthread/kld/kthrdlk.c 241394 2012-10-10 08:36:38Z kevlo $"); |
37 38#include <sys/param.h> 39#include <sys/kernel.h> 40#include <sys/kthread.h> 41#include <sys/lock.h> 42#include <sys/module.h> 43#include <sys/mutex.h> 44#include <sys/systm.h> --- 143 unchanged lines hidden (view full) --- 188 uprintf("Bye Bye! kthrdlk unloaded!\n"); 189 return (0); 190 } 191 192 return (EOPNOTSUPP); 193} 194 195static moduledata_t mod_data= { | 37 38#include <sys/param.h> 39#include <sys/kernel.h> 40#include <sys/kthread.h> 41#include <sys/lock.h> 42#include <sys/module.h> 43#include <sys/mutex.h> 44#include <sys/systm.h> --- 143 unchanged lines hidden (view full) --- 188 uprintf("Bye Bye! kthrdlk unloaded!\n"); 189 return (0); 190 } 191 192 return (EOPNOTSUPP); 193} 194 195static moduledata_t mod_data= { |
196 "kthrdlk", 197 kthrdlk_handler, 198 NULL 199}; | 196 "kthrdlk", 197 kthrdlk_handler, 198 0 199 }; |
200 201MODULE_VERSION(kthrdlk, 1); 202 203DECLARE_MODULE(kthrdlk, mod_data, SI_SUB_EXEC, SI_ORDER_ANY); | 200 201MODULE_VERSION(kthrdlk, 1); 202 203DECLARE_MODULE(kthrdlk, mod_data, SI_SUB_EXEC, SI_ORDER_ANY); |
204 |
|