WSGetYieldFunction (C 函数)
WSYieldFunctionObject WSGetYieldFunction(WSLINK link)
返回当前已安装的、由 link 引用的链接的屈服函数(yield function).
更多信息
- 某些 WSTP API 调用会被阻塞直到数据可被读取或空间可被写入. 如果在阻塞期间,应用程序需要执行其他有用的处理,应用程序可以安装链接的屈服函数(yield function),当被阻塞时,WSTP 会自动调用屈服函数.
- 如果 link 没有安装屈服函数,则 WSGetYieldFunction() 返回 (WSYieldFunctionObject)0.
- WSTP 的标头文件 wstp.h 已对 WSGetYieldFunction() 作出声明.
范例
基本范例 (1)
#include "wstp.h"
int AppYieldFunction1 (WSLINK mlp, WSYieldParameters yp)
{
/* ... */
return 0;
}
int AppYieldFunction2 (WSLINK mlp, WSYieldParameters yp)
{
/* ... */
return 0;
}
/* check which yield function is installed in a link */
int f(WSLINK lp)
{
WSYieldFunctionObject yf;
yf = WSGetYieldFunction(lp);
if(yf == (WSYieldFunctionObject)AppYieldFunction1) return 1;
else if(yf == (WSYieldFunctionObject)AppYieldFunction2) return 2;
else if(yf == (WSYieldFunctionObject)0) return 0;
return -1;
}