Chinaunix
标题:
请问关于pthread_cleanup_push的问题
[打印本页]
作者:
星之孩子
时间:
2004-11-30 12:00
标题:
请问关于pthread_cleanup_push的问题
void clean ( void * p )
{
printf ( "clean()\n" );
}
void * thread ( void * p )
{
pthread_cleanup_push( clean, NULL);
printf ( "thread sleep\n" );
sleep (10);
pthread_cleanup_pop(0);
}
int main ()
{
pthread_t id;
pthread_mutexattr_t attr;
pthread_create ( &id, NULL, thread, NULL );
printf ( "main sleep\n"
;
sleep(3);
printf ( "cancel thread:%u\n", id );
pthread_cancel ( id );
return 0;
}
输出:
thread sleep
main sleep
cancel thread:1082399936
//////////////////////////////////////////////////////////
不明白为何没有输出clean()
也就是pthread_cleanup_push根本不起作用
那位大虾能说说原因吗?
多谢
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2