Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15515596
  • 博文数量: 112
  • 博客积分: 11195
  • 博客等级: 上将
  • 技术积分: 1989
  • 用 户 组: 普通用户
  • 注册时间: 2005-06-20 11:04
文章分类

全部博文(112)

文章存档

2013年(2)

2012年(27)

2011年(6)

2010年(11)

2009年(6)

2007年(7)

2006年(23)

2005年(30)

分类: LINUX

2006-09-03 19:46:54

linux同一个进程下面的线程都是在同一个进程空间的,那么是否会存在越界访问的问题呢?
刚刚做了一个试验,答案是:存在越界问题。

[root@FC5 thread]# gcc -o hk hookpthread.c -lpthread;./hk;cat hookpthread.c
&a:[b7f77464]-----a:[20]
&b:[b7576464]
hook-->&a:[20]
&a:[b7f77464]-----a:[30]
#include
#include
void * fun(void * i)
{
int a=20;
printf("&a:[%x]-----a:[%d]\n", &a,a);
sleep(1);
printf("&a:[%x]-----a:[%d]\n", &a,a);
pthread_exit(NULL);

}

void * hook(void * a)
{
int b=10;
printf("&b:[%x]\n", &b);
printf("hook-->&a:[%d]\n", *(&b+2622464));
*(&b+2622464)=30;
pthread_exit(NULL);

}
int main()
{
pthread_t pidfun,pidhook;
pthread_create(&pidfun, NULL, fun, NULL);
pthread_create(&pidhook, NULL, hook, NULL);
sleep(2);
return 0;
}


阅读(166609) | 评论(13) | 转发(4) |
0

上一篇:毕业五年(续)

下一篇:VIM的配置

给主人留下些什么吧!~~

jounehou2011-03-16 16:44:11

如果没有越界 那linux 下边的那些锁的机制是用来做什么的呢? 正因为有越觉访问所以很多东西都需要人为的避免 再者 这只是用户空间而已。。