1

我想使用调用 API 开发 C 客户端代码。

我编写了连接到缓存的代码。但是,当我调用它时,我得到...

Instance is not running
Start status = -1

我猜我缺少一个环境变量来识别我的默认缓存实例,但我在缓存文档中找不到对它的引用。

我有一个基于 Suse 的安装。我可以在同一个 shell 中使用“csession CACHE”启动 csession。

有什么帮助吗?

代码如下......

static void *
mstart(void) {
    int status = 0;
    if (! gInitialised) {
        CACHE_ASTR prinp, prout, exename;

        prinp.len = prout.len = 0;
        prinp.str[0] = prout.str[0] = '\0';
        strcpy((char *)exename.str, "vavista.cache");
        exename.len = strlen((const char *)exename.str);

        status = CacheSecureStartA(
            NULL,                             /* User */
            NULL,                             /* Password */
            &exename,                          /* Application Id */
            CACHE_PROGMODE | CACHE_TTNEVER,   /* Flags */
            0,                                /* timeout */
            &prinp,                        /* Principal input device */
            &prout);                       /* Principal output device */
        printf("Start status = %d\n", status);
        atexit(mstop);
    }
    return (void *)1; /* Success */
}
4

1 回答 1

2

您需要在开始之前设置缓存目录... CacheSetDir("/opt/cache/mgr");

于 2012-10-08T21:43:05.610 回答