Chinaunix

标题: pthread_mutex_unlock问题 [打印本页]

作者: airhello    时间: 2009-12-21 15:42
标题: pthread_mutex_unlock问题
我定义了一个结构体(struct test)变量,因为它会被多个线程使用,所以在该结构体中加了一个成员pthread_mutex_t lock;
现在有一个疑问是:
      如果在一个线程中,对这个结构体加锁(pthread_mutex_lock(&lock)),然后发现有错误,将这个结构体直接bzero(); 然后释放了。没有解锁。

这样处理会有问题吗??
作者: pagx    时间: 2009-12-21 15:50
这么做的行为是未定义的。
mutex 的调用序列是:

pthread_mutex_init
pthread_mutex_lock
pthread_mutex_unlock
pthread_mutex_destroy
作者: airhello    时间: 2009-12-21 17:02
标题: 回复 #2 pagx 的帖子
谢谢。

这么调用会造成内存泄漏吗??
想了解一下,当调用不当或者说非常的时候,会不会有什么负面结果,比如内存泄漏之类的??
作者: pagx    时间: 2009-12-21 20:05
既然行为是未定义的,也就是说什么情况都会发生,也会什么情况都不发生。
作者: airhello    时间: 2009-12-21 21:06
标题: 回复 #4 pagx 的帖子
了解了,谢谢。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2