Skip to main content

Summary It is possible to set a timeout value on a specific environment call in Orbix 3.3. However, if this environment is a copy of CORBA::IT_chooseDefaultEnv() the value will be ignored
Environment

Orbix 3.3 C

All Supported Operating Systems

Question/Problem Description

A timeout when set on a specific operation using this approach is ignored:

    CORBA::Environment& env = CORBA::IT_chooseDefaultEnv();
    env.timeout(1000);
    height = grid->height(env);

No timeout exception will ever be thrown in this case.

Clarifying Information

The CORBA::IT_chooseDefaultEnv() is the default environment included in every Orbix call. This is for historic reasons for compilers that did not support exception handling.

Error Message
Defect/Enhancement Number
Cause This is expected behaviour.
Resolution

The default environment should not be used to set specific timeouts on operations. Instead a new environment variable should be created an passed in:

    CORBA::Environment env;
    env.timeout(1000);
    height = grid->height(env);

Workaround
Notes
Attachment

#KnowledgeDocs
#Orbix
#orbix.33timeout