中国开发网: 论坛: 程序员情感CBD: 贴子 533270
holly: goto 的问题就是不小心会把顺序弄错
int pthread_global_init()
{
int rv = 0;


rv = thread_global_init();
if ( rv != 0 )
goto pgi_failed_exit;


rv = mutex_global_init();
if ( rv != 0 )
goto pgi_mutex_failed;


rv = key_global_init();
if ( rv != 0 )
goto pgi_key_failed;


rv = cond_global_init();
if ( rv != 0 )
goto pgi_cond_failed;


return 0;


pgi_cond_failed:
key_global_cleanup();

pgi_key_failed:
mutex_global_cleanup();

pgi_mutex_failed:
thread_global_cleanup();

pgi_failed_exit:
return rv;

} /* pthread_global_init() */

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录