|
|
发表于 2005-12-20 12:46:57
|
显示全部楼层
Post by slinger
已经有人写了一个补丁,其实就是两行代码,可以自己手工修改一下。基本没有问题了。就是在运行的时侯会有一行报错,但是不影响使用。
补丁内容如下:
--- /usr/include/linux/wait.h2005-08-16 17:51:20.000000000 +0800
+++ /tmp/wait.h2005-08-16 17:50:57.000000000 +0800
@@ -373,7 +373,7 @@
static inline int wait_on_bit(void *word, int bit,
int (*action)(void *), unsigned mode)
{
-if (!test_bit(bit, word))
+if (!test_bit(bit, (const volatile long unsigned int *)word))
return 0;
return out_of_line_wait_on_bit(word, bit, action, mode);
}
@@ -397,7 +397,7 @@
static inline int wait_on_bit_lock(void *word, int bit,
int (*action)(void *), unsigned mode)
{
-if (!test_and_set_bit(bit, word))
+if (!test_and_set_bit(bit, (volatile long unsigned int *)word))
return 0;
return out_of_line_wait_on_bit_lock(word, bit, action, mode);
}
具体怎么用呀? |
|