INT %GetRPCCallerObject()
PROCEDURE .... ; Complete identification of calling process by means of parameters INT _callerProcess, _callerObject _callerObject := %GetSelfHBJ(@FALSE) _callerProcess := %GetParentProcessHBJ() ;calling CALL [E.Service] Question(_callerProcess, _callerObject) ON SELF.EVH ; .... END ....
; Handling RPC PROCEDURE Question (IN INT _callerProcess, _callerObject) ; Response!!! ASYNC required, if the Question procedure is called synchronously - otherwise DeadLock occurs!!! CALL [(_callerObject)] QuestionReply ASYNC ON (_callerProcess) END Question
PROCEDURE .... ;calling CALL [E.Service] Question ON SELF.EVH ; .... END ....
RPC PROCEDURE Question ; identification of calling process INT _callerProcess, _callerObject _callerObject := %GetRPCallerProcess() _callerProcess := %GetRPCCallerObject() ; Response!!! ASYNC required, if the Question procedure is called synchronously - otherwise DeadLock occurs!!! IF %GetRPCCallerIsJava() THEN CALLJ [(_callerObject)] QuestionReply ASYNC ON (_callerProcess) ELSE CALL [(_callerObject)] QuestionReply ASYNC ON (_callerProcess) ENDIF END Question
0 komentárov