Olá amigos, venho aqui mais uma vez solicitar a ajuda de vocês. Estou tendo dificuldades em executar uma library no unix para dois usuários ao mesmo tempo. vou tentar exemplificar. Tenho no meu servidor o seguinte diretório. /u/usuarios/ , dentro deste diretório cada usuário tem uma pasta com seu nome, dentro desta pasta foi colocada a mesma libary para todos. exemplo: /u/usuarios/fulano/library.so /u/usuarios/ciclano/library.so quando invoco está lib para usuario fulano, tudo ocorre muito bem, mas quando logo com os dois usuario ao mesmo tempo e tento executar o processo trava tudo e não finaliza o processo. outra coisa que notei é que, quando estou com duas sessões do Putty aberto para usuarios diferente, eu tenho que fechar uma para poder executar o processo, ou seja só funciona para um usuario de vez, e eu preciso que execute para todos ao mesmo tempo. se alguém conseguir me ajudar agraço muito, segue o código que estou usando. Código: FUNCTION os-eDefinirProduto RETURN INTEGER (INPUT vch-produto AS CHAR): IF NOT VALID-HANDLE (vha-Call) THEN CREATE CALL vha-Call. ASSIGN vha-Call:PERSISTENT = TRUE vha-Call:LIBRARY-CALLING-CONVENTION = "STDCALL" vha-Call:CALL-NAME = "eDefinirProduto" vha-Call:LIBRARY = /u/usuarios/nomeUsuario/library.so vha-Call:CALL-TYPE = DLL-CALL-TYPE vha-Call:NUM-PARAMETERS = 1 vha-Call:RETURN-VALUE-DLL-TYPE = "short". vha-Call:SET-PARAMETER (1,"character","input", vch-produto). vha-Call:INVOKE(). vin-retorno = vha-Call:RETURN-VALUE. vha-Call:CLEAR(). DELETE OBJECT vha-Call. RETURN vin-retorno. END FUNCTION.
Entendo pouco disso, mas e se você retirasse a linha " IF NOT VALID-HANDLE (vha-Call) THEN"? Com o objetivo de sempre criar uma instância.