Exemple #1
0
int PeacAliEnQuery::DoAliEnTokenInit() {

    if (!IsProxyValid()) {
        remove(mAliEnTokenLockFileName.data());
        if (!ProxyInit()) {
            printf("XrdGsiProxy init didn't finish OK !!!\n");
            return 1;
        }
    }
    if (!IsTokenValid()) {
        int id_lock = TryGetLockAliEnToken();
        int timeOut = 120;
        int timeOutCounter = 0;
        while (id_lock < 0) {
            if (IsTokenValid()) return 0;
            id_lock = TryGetLockAliEnToken();
            sleep(1);
            timeOutCounter++;
            if (timeOutCounter>=timeOut) return 3;
        }

        if (!TokenInit()) {
            printf("Error : alien-token-init error!!!\n");
        }
        if (!IsTokenValid()) {
            printf("Error: AliEn token is not valid!!!\n");
            ReleaseLockAliEnToken(id_lock);
            return 2;
        }
        ReleaseLockAliEnToken(id_lock);
    }

    return 0;
}
int DoCompiling(const char *pFileName)
{
    int nRet;
    char szPath[_MAX_PATH];
    FILE *pFile, *pOrigFile;
    PSTATEDESC pOrigState;
    ObjectType origObject;
    PVOID pvTokenContext, pvErrorContext;

    if (!s_pContext->m_pLube) {
        s_pContext->m_pLube = CreateLube();
        if (!s_pContext->m_pLube) {
            ErrorReport(Lube_E_OutOfMemory);
            return LUBE_FAIL;
        }
    }
    nRet = CreateTemplate(s_pContext->m_pLube, pFileName);
    if (nRet < 0) {
        ErrorReport(Lube_E_OutOfMemory);
        return nRet;
    }

    if (SearchFileFromPath(s_szCurrentPath, pFileName, szPath) < 0) {
        if (SearchFileFromPath(s_pszSourceDirList, pFileName, szPath) < 0) {
            ErrorReport(Lube_E_OpenFile, pFileName);
            return LUBE_FAIL;
        }
    }
    pFileName = szPath;
    CurrentTemplatePath(szPath, s_szCurrentPath);

    pFile = fopen(pFileName, "rt");
    if (!pFile) {
        ErrorReport(Lube_E_OpenFile, pFileName);
        return LUBE_FAIL;
    }

    pvTokenContext = SaveTokenContext();
    pvErrorContext = SaveErrorContext();
    pOrigState = s_pContext->m_pCurrentState;
    origObject = s_pContext->m_curObject;
    pOrigFile = s_pContext->m_pFile;

    TokenInit();
    ErrorReporterInit(pFileName);
    s_pContext->m_pCurrentState = \
                &s_pContext->m_pLube->ppTemplates[nRet]->tRoot;
    s_pContext->m_pFile = pFile;

    P_Lube();

    s_pContext->m_pFile = pOrigFile;
    s_pContext->m_curObject = origObject;
    s_pContext->m_pCurrentState = pOrigState;
    RestoreErrorContext(pvErrorContext);
    RestoreTokenContext(pvTokenContext);

    fclose(pFile);
    return nRet;
}
Exemple #3
0
extern Type_t f_TypeFromString( char *type )
{
   Type_t Type;

/* printf( "f_TypeFromString: <%s>\n", type ); */

   TokenInit( type );
   Type = TypeName();

   return Type;
}