[omniORB] intel compiler

Duncan Grisby duncan at grisby.org
Mon Jul 28 17:00:26 BST 2003


On Monday 28 July, Matthew Bettencourt wrote:

> Let me know if this is the right test.  I took the echo example and 
> modified it as follows.
> 
> 1: added a sleep in the server
> char* Echo_i::echoString(const char* mesg)
> {
>    cerr << "Upcall " << mesg << endl;
>    sleep(10);
>    return CORBA::string_dup(mesg);
> }

I'd try it with a busy loop instead of the sleep, as well.

> Then when I had a bunch of threads in the server I hit ^C on the client 
> and the server was happy as can be.  So, is this sufficient of a test. 
> Do you feel o.k about saying that the intel compiler works???

That's certainly a good sign. If it works with a busy loop too, it's
almost certainly working.

> One other question.  I thought the default mode of omniORB was 
> thread_per_request.  I am only gettig 5 active threads in the server no 
> matter how many I spawn.

The default for omniORB servers is thread per connection. (The
alternative is thread pool -- there is no thread per request option.)
By default omniORB clients open multiple connections to a server to
deal with concurrent requests from the client. The default limit on
the number of connections to a particular server is 5. That's the
limit you are seeing. You can increase the limit with the
maxGIOPConnectionPerServer parameter. 5 concurrent connections is
sufficient for testing the thread safety of exceptions.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list