A partir do dia 28/08 após às 20hs, o acesso ao TDN nas páginas logadas será integrado ao Identity Fluig, seguindo o mesmo padrão já adotado em outras ferramentas, como o Jira Produção.
Essa mudança tem como objetivo aprimorar a segurança e a gestão de acessos a ferramenta. Atenciosamente, equipe TOTVS.
Coloca em modo de espera a thread em execução, criando um semáforo nomeado, e aguarda por um determinado período pela liberação desse semáforo. A liberação do semáforo pode ocorrer por time-out, ou através da chamada da função IPCGo() por outro processo, utilizando como parâmetro o nome do semáforo nomeado criado pela IPCWaitEx(). Além disso, a liberação semáforo pela função IPCGo() pode enviar parâmetros adicionais, recuperados pela função IPCWaitEx().
Sintaxe
IPCWaitEx( < cSemaforo >, < nTimeOut > )
Parâmetros
Nome
Tipo
Descrição
Obrigatório
Referência
cSemaforo
caractere
Indica o nome do semáforo que estamos trabalhando. Observação: O nome do semáforo não pode conter letras minúsculas. Todas as letras devem ser maiúsculas.
X
nTimeOut
numérico
Indica o tempo de time-out em milisegundos para a thread sair do ar.
X
Retorno
Nome
Tipo
Descrição
lRet
lógico
Retorna verdadeiro (.T.), se receber uma chamada da função IPCGo(); caso contrário, falso (.F.), se não receber chamada ou sair por time-out.
Observações
É importante que o semáforo seja preenchido com letras maiúsculas.
Essa função recebe até 15 argumentos opcionais, por referência, que permitem recuperar os parâmetros opcionais passados na chamada da função IPCGo().
A função recebe como segundo parâmetro <nTimeOut>, em milissegundos, que estabelece quanto tempo o processo atual permanecerá em modo de espera, aguardando pela liberação do semáforo através da IPCGo().
Se, no tempo estabelecido, o semáforo não for liberado explicitamente através da IPCGo(), o semáforo é liberado por time-out, a função rertorna falso (.F.), e o fluxo de execução do programa continua.
Observe que foi indicado um valor de semáforo para a função.
Exemplos
Exemplo 1
#DEFINE SEMAFORO 'IDUNICOTESTE'
#DEFINE SEMAFORO 'IDUNICOTESTE'
User Function ipcwaitex()
StartJob("U_ipcjobs",GetEnvServer(),.F.)
StartJob("U_ipcjobs",GetEnvServer(),.F.)
Sleep( 7000 )
IPCGo( SEMAFORO, "Data atual " + cvaltochar(date()) )
Return
User Function ipcjobs()
Local cPar
while !killapp()
lRet := IpcWaitEx( SEMAFORO, 5000, @cPar )
if lRet
conout(cPar)
exit
endif
enddo
Return