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 |
Pridať komentár