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;    
}