版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xh_xinhua/article/details/73350917
#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);
*************************************/