vtwait.c

来自「su 的源代码库」· C语言 代码 · 共 51 行

C
51
字号
/* Copyright (c) Colorado School of Mines, 2006.*//* All rights reserved.                       */#include	"vthdr.h"/*	Wait for a thread to end****	Written by Kiem-Phong Vo*/#if __STD_Cint vtwait(Vthread_t* vt)#elseint vtwait(vt)Vthread_t*	vt;#endif{#if !vt_threaded	return -1;#else	int	rv;	if(!vt)		return -1;	if(!(vt->state&VT_RUNNING) )	{	vt->error = 0;		return -1;	}#if _WIN32	if((rv = WaitForSingleObject(vt->self, INFINITE)) == 0xffffffff)		vt->error = GetLastError();	else	{	vt->exit = (Void_t*)rv;		rv = 0;		CloseHandle(vt->self);	}#else	if((rv = pthread_join(vt->self, &vt->exit)) != 0)		vt->error = rv;#endif	if(rv == 0)		vt->state = (vt->state & ~VT_RUNNING) | VT_WAITED;	return rv ? -1 : 0;#endif /*vt_threaded*/}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?