等待超时实现简单方法

#include <stdio.h>
#include <sys/types.h> 
#include <sys/stat.h>
#include <fcntl.h>

#define MAX_PATH                2048
#define TMP_RUN_PATH                "/tmp/run"
#define WAIT_TIMEOUT_MAX            10000U  //10 seconds
#define TEST_NAME                   "test_name"//parameter name
#define RET_FALSE                   0
#define RET_TRUE                    1
bool i_test_wait(const SVPChar* name, SVPUint32 timeout)
{
    bool service_ready = RET_FALSE;
    char service_registry[MAX_PATH] = {0};
    snprintf(service_registry, MAX_PATH, "%s/service/registry/%s", TMP_RUN_PATH, name);

    if (timeout > WAIT_TIMEOUT_MAX)
        timeout = WAIT_TIMEOUT_MAX;

    int try_time = timeout / 50;

    while (try_time--)
    {
        if (SVPFile::FileExist(service_registry) == RET_FALSE)
        {
            sleep(50);
            continue;
        }

        service_ready = RET_TRUE;
        break;
    }
    return service_ready;
}
    /************************************
    *   源码:access(pFilePath, F_OK);
    *   int m_hFile = -1;
    *   m_hFile = open(pFilePath ,O_CREAT);
    *   close(m_hFile);
    *   remove(filename);
    *************************************/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值