import.css=/download/attachments/6062824/tecnologia.css |
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().
IPCWaitEx( < cSemaforo >, < nTimeOut > ) |
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 |
|
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. |
#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 |
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server