1 Wed Dec 31 23:29:59 1997 Nanbor Wang <nw1@cs.wustl.edu>
3 * tao/nvlist.cpp (add_value_consume): Added a space between * and
4 /* to avoid warning messages on NT.
6 Thu Jan 01 14:22:34 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
8 * TAO version 0.0.50, released Thu Jan 01 14:22:34 1998.
10 Thu Jan 1 13:31:55 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
12 * TAO_IDL/be/{be_sequence, be_state_sequence}.cpp: An unwanted
13 reference operator "&" was getting generated for sequences whose
14 element types were not special managed types. This was because the
15 case for handling the managed types somehow got mixed with the
16 normal ccase. Thanks to Nanbor Wang (nw1@cs.wustl.edu) for
19 Wed Dec 31 18:29:57 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
21 * TAO_IDL/be/{be_sequence, be_state_sequence}.cpp: Changed the way
22 we use managed types. Instead of allocating an array, we now
24 managed type on the fly i.e., when the operator [] is invoked. The
25 reasons for doing this are: (1) no need for dynamic memory
26 allocation for maintaining the array of managers (2) It was
27 causing all kinds of problems while decoding because the sizeof
28 such sequence classes was bigger than those without managed
29 types. However, due to this scheme, we can no longer define the []
30 operator to return a reference because that would mean that a
31 reference to a local variable/temporary will be returned. Hence
32 changes were necessary in files.
34 TypeCode generation was also erroneous. This is fixed. We were
35 generating wrong encapsulation length.
37 * TAO_IDL/be/be_string.cpp: Indentation in typecode generation.
39 * TAO_IDL/be/be_type.cpp: nested_type_name - improved to
40 eliminate one more strange error message getting generated by the
41 MSVC++ compiler. Still needs testing.
43 * TAO/tao/{invoke, decode}.cpp: Reversed the changes which were
44 made to account for sequencese with managed types. We no longer
45 need these changes because sequences with managed types no longer
46 keep an extra data member. Thus the size of all sequences (top
47 level) is the same (so is the layout).
49 * TAO/tao/nvlist.cpp: commneted out unused variables, parameters.
51 * TAO/tests/Param_Test: Included tests for string sequences,
52 variable sized structs as well as nested structs.
54 Tue Dec 30 13:46:44 1997 Nanbor Wang <nw1@cs.wustl.edu>
56 * tests/Cubit/TAO/IDL_Cubit/clnt.h (portnum_): Changed its data
57 type from CORBA::ULong to CORBA::UShort to kill warning
60 * tao/orbobj.cpp (create_list): Changed data type of the loop
61 counter to CORBA::Long. This caused a warning message on VC.
63 * doc/releasenotes/index.html: Added documentation for adding IDL
64 files into Visual C++'s projects.
66 * tests/Param_Test/Param_Test.dsw:
67 * tests/Param_Test/client.dsp:
68 * tests/Param_Test/server.dsp: New workspace and projects were added.
70 Tue Dec 30 10:15:11 1997 Irfan Pyarali <irfan@cs.wustl.edu>
72 * orbsvcs/Event_Service/Fast_Reactor.h (ACE_ES_Fast_Reactor):
73 Added the other version of handle_events to stop the compiler
76 Tue Dec 30 10:06:45 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
78 * TAO_IDL/be/{be_state_argument, be_state_operation,
79 be_state_attribute}.cpp - Unnecessary call on "init_mgr" for
80 sequences that do not have any managed types was getting
81 generated. This is fixed. In addition, MSVC++ compiler was
82 producing an error saying "ambiguous assignment" when an "_out"
83 variable was assigned to a pointer type. Solaris platform (CC and
84 g++) did not give any such errors since they were (most probably)
85 using the operator *() on the _out class, but MSVC++ did not.
87 * TAO/tests/Cubit/IDL_Cubit/clnt.cpp: The same "ambiguous
88 assignment" error described above has been fixed here too.
90 * TAO/tests/Param_Test: Added a method called "reset_parameters"
91 so that we do not change the "in" parameter for every
92 iteration. Previuosly we were settingthe in parameter differently
93 for every new iteration. However, for performance comparison
94 purposes, this was not correct (e.g., in the case of string
95 sequences or unbounded strings where everytime we were sending a
96 different lenght string and hence the performance numbers were
97 different for each run and couldn't be compared.)
99 Mon Dec 29 21:51:38 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
101 * TAO_IDL/be/be_sequence.cpp: get_name was returning a local
102 variable. In addition, added generationof a method called
103 "init_mgr" that must be used to initialize the sequence's
104 underlying mgr_ vector.
106 There was some problem with bounded/unbounded sequence code
107 generation (an error in an if stmt).
109 * TAO_IDL/be/{be_state_argument, be_state_attribute,
110 be_state_operation}.cpp - added code to generate the call to
111 init_mgr for sequences after the do_call is made.
113 * TAO_IDL/be_include/be_sequence.h : gen_name returns char* rather
114 than const char* because we now allocate a new string and return
117 * TAO/tao/Makefile: applied make depend to incorporate nvlist.i
119 * TAO/tao/corbacom.h: Added a "boolean release" field to
120 CORBA_SEQUNECE so that its layout is similar to the generated code
123 * TAO/tao/decode.cpp: In sequence decode, we also set the release
124 flag to 1. In addition, for sequences of strings and objrefs, we
125 zero out additional 4 bytes that are used to store a pointer to
128 * TAO/tao/deep_free.cpp: some indentation. Also passed the correct
129 parameter to string/wstring::decode
131 * TAO/tao/invoke.cpp: In do_dynamic_call, for sequences of strings
132 (inclusing typedefed sequences of strings that themselves can be
133 typedefed), we must allocate size+4 bytes for demarshaling the
134 sequences. The extra 4 bytes are for the manager array pointer.
136 * TAO/tao/nvlist.cpp: I the method item, the loop should have run
137 from o to max_ rather than upto len_.
139 * TAO/tao/orbobj.cpp: Used placement new of NamedValue in the
142 * TAO/tests/Param_Test: Added new tests for Fixed_Struct and
143 string sequence. Added a README file.
145 * TAO/doc/releasenotes/index.html: updated with latest success stories.
147 Thu Dec 25 20:36:58 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
149 * TAO version 0.0.49, released Thu Dec 25 20:36:58 1997.
151 Thu Dec 25 18:43:03 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
153 * TAO_IDL/be/{be_state_attribute, be_state_argument}.cpp: Handled
154 teh remaining cases (except Arrays) that use the newly added
155 methiods to class NVList. The Param_Test test suite is being
156 developed to track any memory leaks.
158 * TAO/tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Used sequence_var in
159 the cube_sequence function to avoid memory leaks. However, there
162 Wed Dec 24 18:44:47 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
164 * TAO version 0.0.48, released Wed Dec 24 18:44:47 1997.
166 Wed Dec 24 18:44:02 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
168 * tao: Added the nvlist.i file to the tao/ directory.
170 Wed Dec 24 18:11:08 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
172 * TAO_IDL/be/{be_operation, be_state_argument}.cpp: Added
173 "argument_count" method to be_operation which is helpful in
174 creating an NVList of the appropriate size. Previously we were
175 creating an empty list and adding parameters one by one. This was
176 causing a lot of reallocations which were wasteful.
178 At this time, we have code base that can successfully send/receive
179 primitive data types as well as strings.
181 * TAO_IDL/be_include/be_operation.h : Added a new method called
182 "argument_count" to give us the total number of parameters we
185 * TAO/tao/{any.cpp, connect.cpp, corbacom.i, decode.cpp,
186 iioporb.cpp, marshal.i, objtable.cpp, optable.cpp, request.cpp}:
187 In all these files, after a call to CORBA::string_free, we made
188 the pointer point to 0. Otherwise, purify was giving us "Free
189 Memory read" errors. Also, this was (by fluke) causing some
190 applications to run successfully.
192 * TAO/tao/{nvlist.h, nvlist.cpp, nvlist.i, corba.h}: Added
193 unimplemented methods to NamedValue and NVList. Created a nvlist.i
194 file and updated corba.h
196 * TAO/tao/corbacom.cpp: In an assignment operator for Sting_out,
197 we were not checking if the assignment was from ourselves. Also a
198 array was incorrectly being deleted as "delete ..." rather than
201 * TAO/tao/invoke.cpp: Inside do_call, we were not deleting memory
202 for the "in" part of the inout parameters. Right now we have fixed
203 this problem only for strings. Others will be added as new tests
204 are built. Do_dynamic_call also needs such a fix. NOT DONE in this release.
206 * TAO/tao/orb_core.h, orb_core.cpp: ORB_init takes "const char*"
207 orb name as the argument instead of just char*.
209 * TAO/tests/Param_Test: Successful in testing
210 "test_unbounded_string". removed a few memory leaks where we were
211 not deleting the client objects.
213 Tue Dec 23 19:34:40 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
215 * TAO version 0.0.47, released Tue Dec 23 19:34:40 1997.
217 Tue Dec 23 13:36:50 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
219 * TAO_IDL/be/be_state_sequence.cpp: ACE_NESTED_CLASS must be
220 generated for seq elements that are scoped. We were generating
221 this macor only when seq elements were typedefs. However, seq
222 elements can also be structs or any other types that have an
223 enclosing scope. Thanks to Chris Gill <cdgill@cs.wustl.edu> for
226 * TAO_IDL/be/be_state_operation.cpp: Similar problem as above for
227 return types of operations. Bug reported by Chris Gill.
229 * TAO_IDL/be/be_exception.cpp: Whenever a _narrow fails, we were
230 trying to do a ACE_dynamic_cast to a 0. Instead, we now return a
231 0. Again thanks to Chris Gill <cdgill@cs.wustl.edu> for
234 * TAO_IDL/be/be_state_argument.cpp: We were ot generating a char
235 *& for inout string parameters. Instead only a char * was getting
238 Tue Dec 23 11:45:03 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
240 * docs/releasenotes/index.html:
241 There is no need to set config=1 when compiling
244 Mon Dec 22 22:02:49 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
246 * TAO version 0.0.46, released Mon Dec 22 22:02:49 1997.
248 Mon Dec 22 19:08:55 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
253 The TAO_TRY macros use the _narrow methods for exceptions;
254 making the TAO_CATCH() macro fully functional.
256 * orbsvcs/Dump_Schedule/Dump_Schedule.cpp:
257 * orbsvcs/Event_Service/Dispatching_Modules.cpp:
258 * orbsvcs/Event_Service/Dispatching_Modules.i:
259 * orbsvcs/Event_Service/Event_Channel.cpp:
260 * orbsvcs/Event_Service/Event_Channel.i:
261 * orbsvcs/Event_Service/Event_Service.cpp:
262 * orbsvcs/Event_Service/RT_Task.cpp:
263 * orbsvcs/Event_Service/ReactorTask.cpp:
264 * orbsvcs/Scheduling_Service/Config_Scheduler.cpp:
265 * orbsvcs/Scheduling_Service/Config_Scheduler.h:
266 * orbsvcs/Scheduling_Service/Scheduling_Service.cpp:
267 * orbsvcs/orbsvcs/Runtime_Scheduler.cpp:
268 * orbsvcs/orbsvcs/Runtime_Scheduler.h:
269 * orbsvcs/orbsvcs/Scheduler_Factory.cpp:
270 * orbsvcs/tests/Event_Latency/Event_Latency.cpp:
271 Changed the ACE_TRY (and friends) macros to TAO_TRY.
273 * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl:
274 Cleaned up some exceptions definitions.
276 * orbsvcs/tests/Event_Latency/Makefile:
277 Since the schedule is not distributed (yet) by default we
278 compile the config run, hopefully this will cause less
281 Sun Dec 21 23:41:05 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
283 * TAO version 0.0.45, released Sun Dec 21 23:41:05 1997.
285 Sun Dec 21 20:29:33 1997 <nw1@JIG>
287 * tests/Cubit/TAO/MT_Cubit/client/client.dsp: *
288 tests/Cubit/TAO/MT_Cubit/server/server.dsp: Corrected erroneous
289 library pathes in Release version of project files.
291 Sun Dec 21 18:30:41 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
293 * TAO_IDL/be/be_codegen.cpp: The macro used in the #if !defined
294 (..) clause in the header files was incorrectly generated when IDL
295 file names had characters other than letters in it. Fixed.
297 * TAO/tests/Param_Test: A new test suite to test all the parameter
298 passing modes - return, in, inout, and out for a large number of
299 IDL data types. The purpose of this test suite is to verify the
300 correctness of the stubs/skeletons generated by TAO IDL compiler,
301 eliminate any existing errors in the marshaling engine, track down
302 any memory leaks, and finally to measure the performance and fine
303 tune the code if required. In the first version of the test, we
304 only test "shorts". We will be adding other tests as soon as we
307 Sat Dec 20 00:34:45 1997 Sergio Flores <sergio@tango.cs.wustl.edu>
309 * tests/Cubit/CORBAplus/MT_Cubit/client/client.cpp (main):
310 * tests/Cubit/CORBAplus/MT_Cubit/client/Makefile:
311 * tests/Cubit/CORBAplus/MT_Cubit/client/Task_Client.cpp:
312 * tests/Cubit/CORBAplus/MT_Cubit/client/Task_Client.h:
313 * tests/Cubit/CORBAplus/MT_Cubit/client/client.cpp:
314 * tests/Cubit/CORBAplus/MT_Cubit/client/cubit.idl:
315 * tests/Cubit/CORBAplus/MT_Cubit/server/Makefile:
316 * tests/Cubit/CORBAplus/MT_Cubit/server/cubit.idl:
317 * tests/Cubit/CORBAplus/MT_Cubit/server/cubit_i.cpp:
318 * tests/Cubit/CORBAplus/MT_Cubit/server/cubit_i.h:
319 * tests/Cubit/CORBAplus/MT_Cubit/server/svr.cpp:
320 Ported the MT_Cubit example to CORBAplus.
322 Fri Dec 19 11:33:51 1997 Sergio Flores <sergio@tango.cs.wustl.edu>
325 * tests/Thruput/CORBAplus/Makefile:
326 * tests/Thruput/CORBAplus/README:
327 * tests/Thruput/CORBAplus/client.cpp:
328 * tests/Thruput/CORBAplus/extract:
329 * tests/Thruput/CORBAplus/run:
330 * tests/Thruput/CORBAplus/run_client:
331 * tests/Thruput/CORBAplus/run_server:
332 * tests/Thruput/CORBAplus/run_test:
333 * tests/Thruput/CORBAplus/run_tests:
334 * tests/Thruput/CORBAplus/server.cpp:
335 * tests/Thruput/CORBAplus/ttcp.idl:
336 * tests/Thruput/CORBAplus/ttcp_decl.h:
337 * tests/Thruput/CORBAplus/ttcp_i.cpp:
338 * tests/Thruput/CORBAplus/ttcp_i.h:
339 * tests/Thruput/CORBAplus/utils.cpp: Ported the Thruput example to
340 CORBAplus for C++ by Expersoft. Try running the "run_tests"
341 script for the client side.
343 * tests/Thruput/Orbix/Client.cpp:
344 * tests/Thruput/Orbix/Makefile:
345 * tests/Thruput/Orbix/README:
346 * tests/Thruput/Orbix/Srv_Main.cpp:
347 * tests/Thruput/Orbix/extract:
348 * tests/Thruput/Orbix/loop64:
349 * tests/Thruput/Orbix/orbixsol2s4.mk:
350 * tests/Thruput/Orbix/run:
351 * tests/Thruput/Orbix/run_client:
352 * tests/Thruput/Orbix/run_server:
353 * tests/Thruput/Orbix/run_test:
354 * tests/Thruput/Orbix/run_tests:
355 * tests/Thruput/Orbix/ttcp.idl:
356 * tests/Thruput/Orbix/ttcp_decl.h:
357 * tests/Thruput/Orbix/ttcp_i.cpp:
358 * tests/Thruput/Orbix/ttcp_i.h:
359 * tests/Thruput/Orbix/utils.cpp: Included the Thruput example for
360 IONAs Orbix ORB in the tests directory.
362 * tests/Thruput/TAO/Makefile:
363 * tests/Thruput/TAO/README:
364 * tests/Thruput/TAO/client.cpp:
365 * tests/Thruput/TAO/run:
366 * tests/Thruput/TAO/run_client:
367 * tests/Thruput/TAO/run_server:
368 * tests/Thruput/TAO/run_test:
369 * tests/Thruput/TAO/server.cpp:
370 * tests/Thruput/TAO/svc.conf:
371 * tests/Thruput/TAO/ttcp.idl:
372 * tests/Thruput/TAO/ttcp_decl.h:
373 * tests/Thruput/TAO/ttcp_i.cpp:
374 * tests/Thruput/TAO/ttcp_i.h:
375 * tests/Thruput/TAO/utils.cpp: Moved the TAO version of the
376 Thruput example to a "TAO" directory in the Thruput directory.
378 * tests/Thruput_test: Renamed this directory to Thruput.
380 Fri Dec 19 00:28:24 1997 <nw1@JIG>
382 * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (main): Removed some
385 * tao/tao_internals.cpp (close_services): Disabled closing down
386 the ACE_Service_Config when reference count drops to 0.
388 Thu Dec 18 20:36:28 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
390 * TAO version 0.0.44, released Thu Dec 18 20:36:28 1997.
392 Thu Dec 18 19:35:28 1997 Sergio Flores <sergio@tango.cs.wustl.edu>
394 * orbsvcs/tests/Logger/clnt.cpp (init):
395 * orbsvcs/Naming_Service/CosNaming_i.cpp (bind_new_context): Fixed
396 a bug in the Naming Service and the Logger test program
397 implementation. Thanks to Marina Spivak <marina@cs.wustl.edu> for
400 Thu Dec 18 16:18:01 1997 <nw1@JIG>
402 * TAO_IDL/be/be_sequence.cpp (gen_name): Removed a local variable
403 <seq>. It is no longer used.
405 * TAO_IDL/be/be_union.cpp (gen_client_stubs): Removed local
406 variables <bt> and <s>. They are not longer used.
408 Thu Dec 18 15:50:01 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
410 * orbsvcs/orbsvcs/Makefile:
411 realclean was not removing all the IDL compiler generated
414 Thu Dec 18 15:06:23 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
415 Thanks to Keith Nicewarner <knicewar@sanders.com>, Tom Richards
416 <tomr@mcmenterprise.com>, and Carlos O'Ryan <coryan@cs.wustl.edu>
417 for reporting bugs which led to some of the changes below.
419 * TAO_IDL/be/be_array.cpp: Preliminary support for arrays. Not
422 * TAO_IDL/be/{be_operation, be_attribute}.cpp: The ParamData
423 structure *must* hold the "size" of the outermost level of the
424 return values and out parameters because the ORB has to allocate
425 memory for it and hence needs to know the size. We had a 0 in it
426 which crashed any return types that were variable in size.
428 * TAO_IDL/be/be_codegen.cpp: Added a new state for
429 unions. Corresponding change to the *.h file.
431 * TAO_IDL/be/be_decl.cpp: Added a method called "scope" that
432 returns the corresponding scope defined by this node (if one
433 exists). Added method to the *.h file also.
435 * TAO_IDL/be/be_scope.cpp: Added a method called "decl" that
436 returns the be_decl method corresponding to this scope. The header
437 file was also updated.
439 * TAO_IDL/be/{be_exception, be_state_exception}.cpp: I was making
440 the most stupid mistake of generating constructors per member
441 rather than one constructor that takes all the members as a
444 * TAO_IDL/be/{be_sequence, be_state_sequence}.cpp: Changed the
445 naming scheme for anonymous sequences to avoid code bloat.
447 * TAO_IDL/be/be_state.cpp: Added template instantiation for
448 additional state to deal with code generation of members of
451 * TAO_IDL/be/be_state_structure.cpp: Made some changes so that
452 spurious code for array members doesn't get generated.
454 * TAO_IDL/be/{be_union, be_state_union}.cpp: Added a new state
455 because we were not generating code for union members that were
456 sequences or structs.
458 * TAO_IDL/be/be_type.cpp: Modified netsed_type_name to use the new
459 methods on class be_decl/be_scope.
461 * TAO_IDL/be/be_union_branch.cpp: gen_client_stubs uses the same
462 strategy as the other gen_client methods.
464 * TAO/tao/deep_free.cpp: In deep_free of structures, instead of
465 passing the address of a string member to be freed, we were simply
466 passing the string that led to a segmentation fault. A careful
467 code review is necessary.
469 * TAO/tao/orb_core.cpp: Made "use_ior" as default as ooposed to
470 using the URL based scheme for IORs. This was necessary to have
471 interoperability with other ORBs.
473 * TAO/tao/poa.cpp: The server request was being released
474 immediately after returning from the dispatch method. This should
475 be done after all return/inout/out parameters are marshaled.
477 Tue Dec 17 12:53:01 1997 Brian Mendel <brian.r.mendel@boeing.com>
479 * tao/encode.cpp: Additional changes for wchar's
481 Tue Dec 17 10:37:45 1997 Brian Mendel <brian.r.mendel@boeing.com>
483 * tao/TAO.dsp: Removed obsolete files from the VC++ project.
484 Changed name of folder from Include Files to Inline Files.
485 Inserted new header files for classview.
487 * TAO_IDL/tao_idl.dsp: Added missing be_state_exception.cpp to the
488 the project to eliminate link error.
490 * tao/corbacom.cpp: Inserted wslen and wscpy back to handle wchar
491 problems with VxWOrks and GHS.
493 * tao/encode.cpp: Inserted wslen and wscpy back to handle wchar
494 problems with VxWOrks and GHS.
496 Tue Dec 16 18:29:42 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
500 Started up the documentation for TAO services, at this point
501 only the directory hierarchy is explained.
503 Tue Dec 16 08:49:11 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
505 * TAO_IDL/be_include/be_codegen.h: Added three more states for
506 return types to be generated for operator [] of sequences of
507 strings and object references.
509 * TAO_IDL/be_include/be_sequence.h: Added enum constants to
510 indicate what kind of managed type is handled by the sequence. For
511 sequences other than that of strings and objrefs, this enum const
512 is MNG_NONE. Added a new method that returns the managed type.
514 * TAO_IDL/be/{be_sequence, be_state_sequence.cpp}: Added code to
515 generate sequences of strings and objrefs. This requires
516 generating special "managed" objects. In addition, for
517 be_state_sequence.cpp, we were not handling the case where base
518 types of sequences were not having any scope which resulted in
521 * TAO_IDL/be/{be_state_argument, be_state_operation}.cpp: Some
522 small bugs fixed. These included lack of a whitespace in the
523 generated code as well as spurious extra level of indirection
526 * TAO_IDL/be/be_type.cpp: "nested_type_name" now checks if the
527 scope with which are comparing is NUL or not before proceeding
528 further. Such a situation may arise for sequences whose base types
529 are anonymous (e.g., strings) and have no enclosing scope.
531 * TAO/tao/managed_types.{h,cpp,i}: Removed. No more needed as teh
532 code is generated by the IDL compiler. Accordingly modified
533 corb.h and did a "make depend" on the Makefile.
535 * TAO/docs/releasenotes/index.html: Updated to reflect new changes
536 as well as TO-DO stuff such as adding support for TIEs.
538 Mon Dec 15 22:31:50 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
540 * TAO version 0.0.43, released Mon Dec 15 22:31:50 1997.
542 Mon Dec 15 19:13:51 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
545 Removed Solaris specific code, somehow it survived from some
546 debugging session. Thanks to Arturo Montes
547 <mitosys@colomsat.net.co> for pointing out this bug.
549 Mon Dec 15 16:52:58 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
551 * TAO-INSTALL.html: Added some explanations for setting CPP_PATH
554 Mon Dec 15 16:49:58 1997 David L. Levine <levine@cs.wustl.edu>
556 * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (cube_sequence): declare
557 local variables "l" and "j" as u_int instead of int, to avoid
558 signed/unsigned comparison.
560 Thu Dec 11 16:44:26 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
562 * orbsvcs/Scheduling_Service/Config_Scheduler.cpp:
563 Fixed typo missed on the previous release.
565 Thu Dec 11 22:18:52 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
567 * TAO_IDL/be/be_interface.cpp: Moved the code generation for the
568 _var and _out classes before the actual class declaration, but
569 after the forward declaration. This was necessary if any elements
570 in the scope of the interface are defined to be of the same type
571 as that interface. In such a situation those elements are defined
572 to be of the _var type. Hence the declaration for _var and _out
573 must precede the class declaration.
575 Thu Dec 11 22:00:52 1997 Sergio Flores <sergio@tango.cs.wustl.edu>
577 * orbsvcs/Naming_Service/Naming_Service.cpp (main): Fixed a bug
578 related to returning an empty string as the ior in the reply from
579 the multicast request.
581 Thu Dec 11 14:06:50 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
583 * TAO_IDL/be/{be_exception,be_state_exception}.cpp: Support for
584 exceptions added. Added a new file called
585 "be_state_exception.cpp".
587 * TAO_IDL/be_include/be_state.h: Added a new singleton for
590 * TAO_IDL/be/be_state.cpp: Template instantiations for
593 * TAO/docs/releasenotes/index.html: Updated to include exception
596 * TAO/tao/except.{h,cpp}: Moved the TypeCode member from the
597 private section to the protected section so that derived classes
598 can set it. Also, changed the variable from _type to type_ to
599 stick to the ACE design standards.
601 Thu Dec 11 00:01:41 1997 Chris Cleeland <cleeland@cs.wustl.edu>
603 * TAO version 0.0.42, released Thu Dec 11 00:01:41 1997.
605 Wed Dec 10 23:04:04 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
607 * orbsvcs/Scheduling_Service/Config_Scheduler.cpp:
608 Still struggling with g++, it seems to use the wrong cast for
609 IDL generated T_out classes.
611 * orbsvcs/tests/Logger/Makefile:
612 * orbsvcs/tests/Logger/clnt.cpp:
613 * orbsvcs/tests/Logger/clnt.h:
614 * orbsvcs/tests/Logger/svr.cpp:
615 These files were missed in the orbsvcs hierarchy
618 Wed Dec 10 22:38:08 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
620 * TAO/tests/Cubit/TAO/DII_Cubit: Fixed the hand-crafted code to
621 make use of the many changes that were made to the dispatching
622 scheme as well as changes made to the signature of the skeletons
623 for operations of interfaces.
625 Wed Dec 10 21:41:48 1997 Sergio Flores <sergio@tango.cs.wustl.edu>
627 * docs/releasenotes/index.html: Updated the release notes on the
630 Wed Dec 10 20:13:57 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
633 Added orbsvcs to the hierarchy.
635 * The orbsvcs directory was completely reorganized, in preparation
636 for its official release. The new hierarchy is:
637 - orbsvcs/orbsvcs: Contains a library with:
638 + The client stubs for the services.
639 + Common utility classes to access the services.
640 + The server skeletons, but not their implementation.
641 - orbsvcs/Naming_Service: the COSS Naming Service.
642 - orbsvcs/Scheduling_Service: TAO Real-Time Scheduling Service.
643 - orbsvcs/Event_Service: TAO Real-Time Event Service.
644 - orbsvcs/tests: test programs and examples.
646 * docs/releasenotes/index.html:
647 Updated documentation on the Event Service and its friends.
649 Wed Dec 10 19:57:07 1997 Chris Cleeland <cleeland@cs.wustl.edu>
651 * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (Cubit_i::cube_sequence):
652 Changed to explicitly use the vector_out::ptr() method to get a
653 ptr. It seems that g++ wanted to interpret this expression
654 (output == 0) differently from Sun's C++, and this made both
655 interpret it in the desired way.
657 Wed Dec 10 14:23:24 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
659 * TAO_IDL/be/be_state_structure.cpp:
660 Fixed a bug when handling typedefs.
661 It was generating code for imported types, we protected the
662 generation with a !imported(), thank to Andy Gokhale
663 <gokhale@cs.wustl.edu> for helping me on this.
666 Set the TCP_NODELAY option by default, otherwise oneway calls
667 are considerably slower. It should have no effect for twoway
668 calls. Anyway an option should be added to control this
671 Wed Dec 10 13:15:11 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
673 * TAO_IDL/be_include/{be_array, be_decl, be_field, be_module,
674 be_operation, be_predefined_type, be_structure, be_typedef}.h:
675 Added a protected function called "compute_size_type" which is
676 invoked if the size type of a data structure is not known in
677 advance. This happens for structs, unions, arrays, and typedefs
678 whose size type depends on their base types.
680 * TAO_IDL/be/{be_array, be_decl, be_field, be_module,
681 be_operation, be_predefined_type, be_structure, be_typedef}.cpp:
682 Implementation of the "compute_size_type".
684 * TAO_IDL/be/be_decl.cpp: Changed code that sets "size_type" so
685 that we first see if we are unknown in which case we set our size
686 type. However, once we are VARIABLE, no body can reset us to
687 fixed. Similarly, the overloaded size_type method that return the
688 size type first checks if our size is still unknown in which case
689 it calls for "compute_size_type". This is very essential for data
690 types defined in an imported (included) *.idl file. Thanks to Tom
691 Richards (tomr@mcmenterprise.com) for reporting the bug with
692 included file which resulted in this change.
694 * TAO_IDL/be/be_state_attribute.cpp: Included a case for
695 IN_PARAM_TYPE_CH for strings (had previously forgotten to do so).
697 * TAO_IDL/be/{be_state_structure, be_structure, be_field}.cpp:
698 Revamped so that we use the same switch based technique in
699 be_state_structure.cpp to generate code. For fields that are
700 sequences or structures or unions, we also generate their code.
702 * TAO_IDL/be/be_state_argument.cpp: Thanks to Tom Richards and
703 Carlos O'Ryan for noticing a bug when we use out sequences. There
704 used to be a seg fault in deep_free.cpp because a NUL pointer was
705 being owned by an Any and getting freed. In the server skeleton,
706 for out params we now generate code after the upcall is made so
707 that for out parameter value is inserted in the NVList that is
708 marshaled by the server.
710 * TAO_IDL/be/be_interface.cpp: In the generated call to _is_a, we
711 were calling CORBA::Object::_is_a if a remote call is
712 necessary. However, MSVC++ cannot handle a call of the form
713 CORBA::Object::_is_a. So we have to generate code that uses
714 ACE_CORBA_3 so as to be portable. Thanks to Nanbor Wang
717 * TAO/test/Cubit/TAO/IDL_Cubit/clnt.cpp: Changed the type of the
718 variable that was passed as the out parameter to cube_sequence.
720 Wed Dec 10 01:02:36 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu>
722 * tao/iiopobj.cpp (set): Added a special case to IIOP Profile::set
723 so that if the address is INADDR_ANY, it uses the host name, but
724 otherwise uses the IP address. This eliminates the cryptic
725 appearance of the address "0.0.0.0" in a server's IOR.
727 Tue Dec 9 21:48:52 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
729 * tests/Cubit/TAO/IDL_Cubit/clnt.cpp:
730 The sequence test is not running right now, I'm commenting it
731 out until we can make it work properly.
733 Tue Dec 9 18:02:43 1997 Chris Cleeland <cleeland@cs.wustl.edu>
735 * tao/orb_core.cpp: The moral of this changelog entry is to be
736 VERY careful when cutting and pasting code...the
737 resource_factory() accessor should not be setting the
738 client_factory_ member at all!
740 Tue Dec 9 11:55:50 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu>
742 * tao/compat/objbase.h: Added NOERROR as #define if we're not on
743 WIN32 so that IDL-generated code would continue to work.
745 * tao/tao_internals.cpp: Changed faked Resource Factory resource
746 source specifier to "tss" rather than "global".
748 * tao/orb_core.*: Added resource_factory() accessor to
749 TAO_ORB_Core. This will create a default instance if it can't
750 locate one in the Service Repository, which will allow
751 applications to not encounter a hard failure when a svc.conf file
752 is missing. A warning message is emitted stating that a default
753 is being used. Applications should not rely on the default
754 settings, as it is very likely that the applicat might require
755 alternate settings for proper desired operation.
757 * tao/default_server.*: Added TAO_Reactive_Strategy template
758 class to use in place of the ACE_Reactive_Strategy. It's only
759 difference from ACE_Reactive_Strategy is that instead of using the
760 reactor provided in the open method, it always uses that found
761 through the TAO_ORB_Core_instance(). This fix was motivated by a
762 general problem which was only observable on VxWorks with a
763 special pseudo-network transport.
765 * tao/connect.cpp: Added code to fail gracefully if socket buffer
766 size changes are not supported.
768 Mon Dec 8 13:11:46 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
770 * docs/releasenotes/index.html:
771 Added more information on how the Event Channel and friends are
774 * orbsvcs/bin/Naming_Service/svc.conf:
775 Removed some foreign ^M from the file.
784 Added a instrumentation class to measure time interval, also
785 instrumented some code, as part of the ongoing effort to
786 optimize the EC, unfortunately the problems are not in TAO ;-)
787 The code is only instrumented if compiled using probe=1, no
788 overhead is introduced in normal compiles.
790 * tests/Cubit/TAO/IDL_Cubit/cubit.idl:
791 * tests/Cubit/TAO/IDL_Cubit/clnt.cpp:
792 * tests/Cubit/TAO/IDL_Cubit/clnt.h:
793 * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp:
794 * tests/Cubit/TAO/IDL_Cubit/cubit_i.h:
795 Addded code to test sequences (as input and output parameters)
796 they don't work (yet).
798 * orbsvcs/lib/Makefile:
799 * orbsvcs/lib/Timeprobe.h:
800 * orbsvcs/lib/Timeprobe.i:
801 * orbsvcs/lib/Timeprobe.cpp:
802 The file was moved toTAO_ROOT/tao.
804 * orbsvcs/lib/Scheduler_Factory.cpp:
805 Fixed default dump file, it was using stdout!
807 Sat Dec 06 15:42:25 1997 <nw1@DINGO>
809 * tests/Cubit/TAO/IDL_Cubit/{server,client}.dsp: Updated link time
844 * tao/compat/initguid.h:
845 * tao/compat/objbase.h: Removed dependencies on Microsoft's DCOM
846 files. Below is a list of names that got changed.
848 HRESULT -> TAO_HRESULT
850 IUnknown -> TAO_IUnknown
851 IID_IUnknown -> IID_TAO_IUnknown
853 NOERROR -> TAO_NOERROR
854 E_NOINTERFACE -> TAO_E_NOINTERFACE
855 VARTYPE -> TAO_VARTYPE
856 VARENUM -> TAO_VARENUM
858 VARIANT -> TAO_VARIANT
861 Fri Dec 5 11:42:25 1997 Chris Cleeland <cleeland@cs.wustl.edu>
863 * tao/iiopobj.cpp (set): Changed the IIOP::Profile::set() methods
864 which take an ACE_INET_Addr to retrieve the host IP address rather
865 than host name for storage in the profile. This is motivated by
866 the following situation: machine has 3 interfaces (not including
867 loopback), and it is desired that clients and servers communicate
868 across only one interface.
870 When our IDL_Cubit example's factory created new Cubit instances,
871 the set() method would set the host name for that IIOP::Profile to
872 whatever ACE_INET_Addr::get_host_name() returned. In this case,
873 the IP addr for interface 3 (which is not the primary interface)
874 would return a *LIST* of names in which the first name was that of
875 the primary interface. Thus, the IP address used by the client
878 * tao/object.h: Minor corrections to header comments.
880 * tao/{orb_core,orbobj}.{h,cpp}: Moved server_factory and
881 client_factory ptr storage from CORBA_ORB to TAO_ORB_Core. It
882 really didn't belong there in the first place.
884 * tao/poa.cpp: CTOR now fetches server factory ptr from the
885 TAO_ORB_Core rather than from the ORB.
887 Thu Dec 4 18:20:55 1997 Chris Gill <cdgill@cs.wustl.edu>
889 * TAO_IDL/tao_idl.dsp: Changed hard coded path for cl.exe to CPP_PATH
892 Thu Dec 4 11:23:55 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
894 * TAO_IDL/include/{idl,ast,utl_idlist, utl_identifier}.h: removed
895 #include "ace/stdcpp.h" since this file was removed from
896 ACE. Instead we now include "ace/streams.h" in idl.h
898 Also made make depend on all the Makefiles.
900 Wed Dec 3 16:08:34 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
902 * orbsvcs/lib/Event_Utilities.cpp:
903 * orbsvcs/lib/Event_Utilities.i:
904 * orbsvcs/lib/RtecEventComm.idl:
905 Added some more time-stamps to the events to track and measure
906 the delays as they move on the EC.
908 * orbsvcs/lib/RtecEventChannelAdminC.cpp:
909 * orbsvcs/lib/RtecEventChannelAdminC.h:
910 * orbsvcs/lib/RtecEventChannelAdminC.i:
911 * orbsvcs/lib/RtecEventChannelAdminS.cpp:
912 * orbsvcs/lib/RtecEventChannelAdminS.h:
913 * orbsvcs/lib/RtecEventChannelAdminS.i:
914 * orbsvcs/lib/RtecEventCommC.cpp:
915 * orbsvcs/lib/RtecEventCommC.h:
916 * orbsvcs/lib/RtecEventCommC.i:
917 * orbsvcs/lib/RtecEventCommS.cpp:
918 * orbsvcs/lib/RtecEventCommS.h:
919 * orbsvcs/lib/RtecEventCommS.i:
920 * orbsvcs/lib/RtecSchedulerC.cpp:
921 * orbsvcs/lib/RtecSchedulerC.h:
922 * orbsvcs/lib/RtecSchedulerC.i:
923 * orbsvcs/lib/RtecSchedulerS.cpp:
924 * orbsvcs/lib/RtecSchedulerS.h:
925 * orbsvcs/lib/RtecSchedulerS.i:
926 Thanks to Andy Gokhale efforst the IDL compiler is able to emit
927 proper code for the EC&friends, hence I'm removing the
930 Wed Dec 3 11:12:48 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
932 * TAO_IDL/be/be_interface.cpp: Had forgotten to emit code that
933 adds one more cast to the base POA_* class in the generated *S.i
936 Wed Dec 03 09:40:36 1997 David L. Levine <levine@cs.wustl.edu>
938 * tao/Makefile: added TAO_PLATFORM_SVC_CONF_FILE_NOTSUP to
939 CPPFLAGS on CHORUS. Thanks to Wei Chiang for this change.
941 Tue Dec 2 15:47:09 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
943 * TAO_IDL/be/be_interface.h: Added some helper methods to generate
944 additional code in the form of larger operation tables, and
945 skeletons. This situation arises when we have single/multiple
946 inheritance of interfaces.
948 * TAO_IDL/be_include/be.h: Included ace/Containers.h for the
949 ACE_Unbounded_Queue that uses the breadth-first strategy used in
952 * TAO_IDL/be/{be_interface,be_operation,be_attribute}.cpp: Added code
953 to generate a new "virtual void dispatch" method on the skeleton
954 classes. The dispatch method enables us to access the most derived
955 type when invoking the skeleton for a method. The skeletons
956 instead of taking a CORBA::Object_ptr, now take void*. The
957 skeletons themselves cast this void* to the appropriate POA_*
960 In addition to the above, for the case of inheritance of
961 interfaces, it is not appropriate to pass a pointer to the most
962 derived class as a void* to the skeleton of a base class and cast
963 that to the POA_* of the base class. So we generate inlined code
964 for skeletons of methods in the most derived class even if those
965 methods were defined in the base classes. These inlined skeletons
966 simply cast the object pointer to the right type and invoke the
967 corresponding skeleton of the base class method.
969 be_interface.cpp defines a template method to traverse the entire
970 inheritance graph. This traversal is done using a breadth-first
971 traversal. This traverse method takes a pointer to one of the
972 static helper methods defined on class be_interface. Each helper
973 achieves a different purpose such as generation of extended
974 operation tables, providing comparisons of repositoryIDs of base
975 classes in the _is_a methods of derived classes.
977 The client-side class now defines a virtual CORBA::Boolean _is_a
978 method. This uses local knowledge of repository ids thereby
979 preventing the expensive remote call in most cases. All changes
980 made in be_interface.cpp
982 * TAO/tao/corbacom.h: Changed the signature of TAO_Skeleton so that
983 it uses void*obj and a void *context.
985 * TAO/tao/object.h: Added a virtual dispatch method as explained
988 * TAO/tao/orb.h: Redefinition of TAO_Skeleton removed.
990 * TAO/tao/poa.cpp: Changed the demultiplexing code to reflect the
991 change made with the dispatch method. The poa on finding the right
992 object corresponding to the key, now invokes the dispatch method
993 on that object which by dynamic binding invokes the dispatch
994 method of the POA_* class.
996 Tue Dec 02 15:29:41 1997 <nw1@CHA-CHA>
998 * tao/{connect,orb_core}.h: Moved Win32 specific template
999 specialization declaration from connect.h to orb_core.h because
1000 the definition had moved to orb_core.i.
1002 * tao/object.cpp: Removed conditional directives around
1003 DEFINE_GUID for IID_IUnknown. This is now defined for Win32
1006 * tao/TAO.dsp: Removed macro definition __IIOP_BUILD. It was not
1009 Tue Dec 2 10:25:47 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
1012 Fixed some problems with the ACE_RETHROW macros.
1014 * orbsvcs/lib/Makefile:
1015 * orbsvcs/lib/Timeprobe.h:
1016 * orbsvcs/lib/Timeprobe.i:
1017 * orbsvcs/lib/Timeprobe.cpp:
1018 Added a high resolution timer facility, to measure the delays in
1019 the Event Channel and in its client.
1021 * orbsvcs/lib/RtecEventComm.idl:
1022 Changed the time_ field of Event to a double. It should be an
1023 structure or a long long, but double is big enough to store
1025 * orbsvcs/lib/RtecEventChannelAdminC.cpp:
1026 * orbsvcs/lib/RtecEventChannelAdminS.cpp:
1027 * orbsvcs/lib/RtecEventCommC.cpp:
1028 * orbsvcs/lib/RtecEventCommC.h:
1029 * orbsvcs/lib/RtecEventCommS.cpp:
1030 * orbsvcs/lib/RtecSchedulerC.cpp:
1031 * orbsvcs/lib/RtecSchedulerC.h:
1032 * orbsvcs/lib/RtecSchedulerC.i:
1033 * orbsvcs/lib/RtecSchedulerS.cpp:
1034 * orbsvcs/lib/RtecSchedulerS.h:
1035 Regenerated the files using the newest IDL compiler; still some
1036 hand crafting due to inherited classes.
1038 Tue Dec 2 03:12:50 1997 Sergio Flores <sergio@tango.cs.wustl.edu>
1040 * tao/orbobj.cpp (resolve_name_service): Check for errors when
1041 resolving using the "NameService" environment variable.
1043 * orbsvcs/bin/Naming_Service/CosNaming_i.cpp (NS_NamingContext):
1044 * orbsvcs/bin/Naming_Service/CosNaming_i.h (NS_NamingContext):
1045 - Added constructor that takes a key to initialize the object,
1046 instead of using the default name generation.
1047 - Enabled some exceptions that are already supported.
1049 * orbsvcs/bin/Naming_Service/svr.cpp (main): Create first naming
1050 context with key "NamingContext". And minor changes.
1052 * tests/Cubit/CORBAplus/IDL_Cubit/Makefile:
1053 * tests/Cubit/CORBAplus/IDL_Cubit/README:
1054 * tests/Cubit/CORBAplus/IDL_Cubit/clnt.cpp:
1055 * tests/Cubit/CORBAplus/IDL_Cubit/clnt.h:
1056 * tests/Cubit/CORBAplus/IDL_Cubit/cubit.idl:
1057 * tests/Cubit/CORBAplus/IDL_Cubit/cubit_i.cpp:
1058 * tests/Cubit/CORBAplus/IDL_Cubit/cubit_i.h:
1059 * tests/Cubit/CORBAplus/IDL_Cubit/svr.cpp: Ported the IDL cubit
1060 example to CORBAplus. Currently, the calls using DII are not
1061 ported, so only the "cube average" and the "cube_union_stub" stats
1064 Mon Dec 1 16:51:08 1997 Chris Cleeland <cleeland@cs.wustl.edu>
1066 * tao/except.{h,cpp}: Changed semantics of CORBA::Exception so
1067 that the mere creation of them does not take a reference.
1068 Instead, the user of the exception is expected to call AddRef().
1069 CORBA::Environment has been modified (and even documented!) to
1070 reflect that as well.
1072 Sun Nov 30 17:08:56 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
1074 * orbsvcs/lib/RtecSchedulerC.cpp:
1075 Added missed parameter in do_call() for
1076 RtecScheduler::Scheduler::set().
1078 Sat Nov 29 13:34:58 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
1080 * tao/stub.i (STUB_Object):
1081 No need to release type_id, since it is a String_var now. Thanks
1082 to Wei Chiang <chiang@tele.nokia.fi> for pointing this out.
1085 If things go wrong TAO_GIOP::send_request will close the
1086 handler and set it to zero, but only a temporary was
1087 affected, I decided to set the original value to zero also;
1088 based on the return value.
1090 Wed Nov 26 23:24:57 1997 <cleeland@cs.wustl.edu>
1092 * TAO version 0.0.41, released Wed Nov 26 23:24:57 1997.
1094 Wed Nov 26 16:40:29 1997 Chris Cleeland <cleeland@cs.wustl.edu>
1096 * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Changed release calls to use
1097 the CORBA standard version rather than the non-standard TAO
1098 Release() method. Also moved the client's parse_args() AFTER the
1099 ORB_init() so that -ORB parameters were parsed correctly.
1101 * tao/params.*: Added storage for send and receive socket buffer
1102 size to be used for all newly created sockets. These sizes are
1103 initialized to ACE_DEFAULT_MAX_SOCKET_BUFSIZ, and can be changed
1104 by the user by using -ORBsndsock and -ORBrcvsock.
1106 * tao/orbobj.h: Added documentation.
1108 * tao/orb_core.i: Changed system-specific conditional compilation
1109 to use the more general ACE_LACKS_TEMPLATE_SPECIALIZATION.
1111 * tao/orb_core.cpp: Added code to make -ORBsndsock and -ORBrcvsock
1112 options actually work. Added -ORBpreconnect option to implement
1113 pre-cached connections.
1115 * tao/giop.cpp: Removed the old static inline version of
1116 start_message(). Also changed to use send_n() to guarantee
1117 correct blocking nature on Win32 with the WFMO Reactor.
1119 * tao/connect.cpp: Changed set_option() calls to use the socket
1120 buffer sizes stored in the TAO_ORB_Parameters instance. Also
1121 added a correct environment-clearing call before initializing a
1124 * tao/client_factory.h: Removed extraneous code.
1126 * tao/{connect,any,giop,iiopobj,marshal,nvlist,objtable,optable,
1127 orb_core,poa,principa,stub,svrrqst,typecode}.h:
1128 Addressed or assigned some '@@' comments.
1130 * docs/releasenotes/orbcore.html: Added information regarding new
1131 options, known bugs, etc.
1133 * docs/Options.html: Added documentation for new -ORBpreconnect
1136 * TAO_IDL/be/Makefile: Added an explicit PIC=-fPIC for when g++ is
1137 being used as the compiler. This fixes the linker complaints.
1139 Sat Dec 20 14:57:30 1997 <nw1@CHA-CHA>
1141 * All MSVC 5.0 project files: Removed unnecessary library
1142 inclusions. Most of them are not necessary.
1144 Tue Nov 25 20:49:24 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
1151 Removed the parameters to specify the event service and schedule
1152 service IOR, the naming service is working now so it can be
1153 used. And the support in "resolve_initial_references".
1157 Reverted the previous change, but this time added proper
1158 comments: the spec says that a Naming_var taking a <char*> is
1159 *not* supposed to copy it. Hence the ObjRef decoder cannot
1160 release the string it just read.
1162 Mon Nov 24 20:40:47 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
1165 Fixed string allocation problem for String_var(char*): if it
1166 does not copy the string we run into problems with the
1169 * orbsvcs/lib/Event_Utilities.cpp:
1170 * orbsvcs/lib/Event_Utilities.h:
1171 * orbsvcs/lib/Event_Utilities.i:
1172 * orbsvcs/lib/RtecEventChannelAdmin.idl:
1173 * orbsvcs/lib/RtecEventChannelAdminC.cpp:
1174 * orbsvcs/lib/RtecEventChannelAdminC.h:
1175 Removed the unused forward_event parameter in the ConsumerQoS.
1177 * orbsvcs/lib/RtecSchedulerC.h:
1178 * orbsvcs/lib/RtecSchedulerC.i:
1179 Hand crafted the T_out constructors to take a "const T_out&"
1180 instead of just "T_out&".
1182 Sat Nov 22 18:21:10 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
1184 * TAO_IDL/be_include/be_codegen.h, be/be_codegen.cpp: Added a
1185 number of states to handle attributes
1187 * TAO_IDL/be/{be_attribute,be_state_attribute}.cpp: Code added to
1188 handle attributes. This code is a mix of code that is used to
1189 handle operations as well as arguments because for attributes we
1190 have 2 methods, one to set the value and one which returns the
1191 value. For a readonly attribute, there is only the get method.
1193 A special note: Due to the large switch statement, I had to use
1194 -fPIC for g++. We are working on abstracting all the commin
1195 functionality once we have the basic IDL compiler working.
1197 * TAO_IDL/be/be_interface.cpp: Operation table now also includes
1198 methods to set and get the attributes if they are present. In
1199 addition, the variable name for the operation tables is now the
1200 full flattened name to avoid conflicts.
1202 * TAO_IDL/be/be_sequence.cpp: In the length method, the index of
1203 lookp variable "i" is changed from "int" to CORBA::ULong as g++
1204 was issuing a warning.
1206 * TAO_IDL/be/be_string.cpp, be_state_argument,cpp: Proper handling
1207 of in, inout, and out strings that are either anonymous or are
1210 Fri Nov 21 13:22:39 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1212 * TAO version 0.0.40, released Fri Nov 21 13:22:39 1997.
1214 Thu Nov 20 10:31:24 1997 Chris Cleeland <cleeland@cs.wustl.edu>
1216 * tao/orbconf.h (SIZEOF_LONG_DOUBLE): Made sure this is defined
1217 properly for Chorus. Thanks to Wei Chiang <chiang@tele.nokia.fi>
1218 for submitting these!
1220 * tao/orb_core.cpp (init): Added some changes for Chorus. Thanks
1221 to Wei Chiang <chiang@tele.nokia.fi> for submitting these!
1223 * tao/object.cpp (_is_a): Explicitly specify which conversion
1224 operator to use when comparing type_id to 0.
1226 Thu Nov 20 00:10:52 1997 Sergio Flores <sergio@cs.wustl.edu>
1228 * orbsvcs/tests/Logger/clnt.h :
1229 * orbsvcs/tests/Logger/clnt.cpp (Logger_Client): Fixed a bug
1230 dealing with using "_bind" when the naming service is not
1233 Thu Nov 20 00:06:03 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1235 * TAO version 0.0.39, released Thu Nov 20 00:06:03 1997.
1237 Thu Nov 20 00:01:06 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu>
1239 * tao/Makefile: Reordered the files so they are built in
1240 alphabetic order (within each grouping of targets). This makes it
1241 easier to see how the compilation process is doing ;-).
1243 Wed Nov 19 22:59:18 1997 Sergio Flores <sergio@cs.wustl.edu>
1245 * tao/orbobj.cpp (resolve_name_service): Minor change to output
1248 Wed Nov 19 23:01:46 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
1250 * TAO_IDL/be/be_state_operation.cpp: Fixed the problem with
1251 strings as return values. Thanks to Mark L Boriack
1252 <mark@vtcibm4a> for reporting this.
1254 Wed Nov 19 20:48:01 1997 James C Hu <jxh@cs.wustl.edu>
1256 * tests/Thruput_test/server.cpp: Commented out some unreachable
1257 code at the bottom of main.
1259 Wed Nov 19 19:04:53 1997 Sergio Flores <sergio@tango.cs.wustl.edu>
1261 * tao/decode.cpp (decode): Added a cast so that compiler would
1262 know which operator to call.
1264 * orbsvcs/bin/Naming_Service/svr.cpp (handle_input): Change port
1265 number received to host byte order. Minor changes.
1267 * tao/orbobj.cpp (resolve_name_service): Send port number in
1270 Wed Nov 19 17:45:52 1997 Chris Cleeland <cleeland@cs.wustl.edu>
1272 * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Put in proper release of
1273 resources after _narrow operation.
1275 * tao/stub.h: Used CORBA::String_var as the underlying type for
1276 'type_id' in STUB_Object. In the long run this may be a bad idea
1277 for performance considerations, but we may be able to improve that
1278 by improving the implementation of String_var.
1280 * tao/orbobj.cpp: Removed unreachable ACE_NOTSUP_RETURN.
1282 * tao/decode.cpp: Made allocation and free semantics of
1283 'type_hint' consistent with its type of CORBA::String.
1285 Wed Nov 19 17:33:42 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu>
1287 * Task_Client.cpp: Fixed error_count.. Thanks to James Hu.
1289 Wed Nov 19 17:20:45 1997 James C Hu <jxh@cs.wustl.edu>
1291 * TAO_IDL/be/be_operation.cpp: Removed an unreachable return
1292 statement. There was already a return above it.
1294 * TAO_IDL/ast/ast_expression.cpp: Added casts to comparisons of
1295 char variables to 0, since chars are unsigned by default in
1298 * tests/Cubit/TAO/MT_Cubit/client/Task_Client.cpp: Removed a
1299 couple of unreachable return statements. There are still
1300 unreachable statements remaining. Need help with them.
1302 * tests/Cubit/TAO/IDL_Cubit/clnt.cpp:
1303 * tests/Cubit/TAO/DII_Cubit/clnt.cpp:
1304 Meaningless type qualifier (const ...) removed.
1306 Some functions were returning `retval' before it was set. I had
1307 these functions return a passed in paramenter instead.
1309 Wed Nov 19 13:50:36 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1311 * TAO version 0.0.38, released Wed Nov 19 13:50:36 1997.
1313 Wed Nov 19 13:11:53 1997 David L. Levine <levine@cs.wustl.edu>
1315 * orbsvcs/lib/Scheduler_Factory.cpp (dump_schedule): changed loop
1316 index from int to u_int to avoid signed/unsigned comparison.
1317 (use_runtime): return 0.
1319 * orbsvcs/lib/Event_Utilities.cpp (debug): changed loop
1320 index from int to u_int to avoid signed/unsigned comparison.
1322 Wed Nov 19 12:22:50 1997 Chris Cleeland <cleeland@cs.wustl.edu>
1324 * tao/orbobj.cpp (resolve_name_service): Reverted some of the
1325 minor changes below, specifically the use of ACE_ERROR_RETURN
1326 rather than ACE_ERROR/return. ACE_ERROR_RETURN cannot be used
1327 as-is because the 2nd parameter is used as an 'int' to specify the
1328 operational status, and the return value of this function is NOT
1329 an int. Also had to add a missing semi-colon which caused none of
1330 the code to compile.
1332 Wed Nov 19 12:07:42 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1334 * TAO version 0.0.37, released Wed Nov 19 12:07:42 1997.
1336 Wed Nov 19 10:37:19 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
1338 * orbsvcs/lib/Scheduler_Factory.cpp:
1339 The type declared for the rt_info array was wrong.
1341 Wed Nov 19 09:18:30 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1343 * TAO version 0.0.36, released Wed Nov 19 09:18:30 1997.
1345 Wed Nov 19 09:15:15 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
1347 * tao/orbobj.cpp (resolve_name_service): Made a bunch of minor
1348 Changes for resolving the Naming service.
1350 Wed Nov 19 08:44:12 1997 Brian Mendel <brian.r.mendel@boeing.com>
1352 * tests/Cubit/TAO/DII_Cubit/default.bld:
1353 * tests/Cubit/TAO/DII_Cubit/clnt.bld:
1354 * tests/Cubit/TAO/DII_Cubit/svr.bld:
1355 * tests/Cubit/TAO/IDL_Cubit/default.bld:
1356 * tests/Cubit/TAO/IDL_Cubit/clnt.bld:
1357 * tests/Cubit/TAO/IDL_Cubit/svr.bld:
1358 * tests/Cubit/TAO/MT_Cubit/default.bld:
1359 * tests/Cubit/TAO/MT_Cubit/clnt.bld:
1360 * tests/Cubit/TAO/MT_Cubit/svr.bld: Added build files in the new
1361 test structure for VxWorks using the GHS compiler.
1363 * tests/Cubit/Build: Removed the obsolete build directory for vxWorks.
1365 Wed Nov 19 07:47:13 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1367 * TAO version 0.0.35, released Wed Nov 19 07:47:13 1997.
1369 Wed Nov 19 05:53:42 1997 Sergio Flores <sergio@tango.cs.wustl.edu>
1371 * tests/Cubit/TAO/DII_Cubit/clnt.cpp:
1372 * tests/Cubit/TAO/DII_Cubit/clnt.h:
1373 * tests/Cubit/TAO/IDL_Cubit/clnt.cpp:
1374 * tests/Cubit/TAO/IDL_Cubit/clnt.h: Changed code to add loop
1375 around all cube calls, and make output more consistent.
1377 * orbsvcs/tests/Logger/Makefile:
1378 * orbsvcs/tests/Logger/ior_multicast.cpp:
1379 * orbsvcs/tests/Logger/ior_multicast.h: Removed unneeded
1380 ior_multicast.* source files from the logger example. It now uses
1381 the resolve_initial_references() to use the naming service for its
1384 * orbsvcs/lib/Makefile (realclean): Updated with realclean & clean
1385 rules to delete CosNamingS.* and CosNamingC.*
1387 * docs/releasenotes/index.html: Updated status of the naming
1388 service to working implementation.
1390 * orbsvcs/lib/CosNamingS.cpp:
1391 * orbsvcs/lib/CosNamingS.i:
1392 * orbsvcs/lib/CosNamingS.h:
1393 * orbsvcs/lib/CosNamingC.cpp:
1394 * orbsvcs/lib/CosNamingC.i:
1395 * orbsvcs/lib/CosNamingC.h: Removed these files from the
1396 repository, since the IDL compiler generates these correctly.
1398 * orbsvcs/bin/Naming_Service/CosNaming_i.cpp (list): Remove
1399 warning for unused variable.
1401 * orbsvcs/bin/Naming_Service/svr.h: Constructor of event handler
1402 for multicast doesn't need reply port anymore.
1404 * orbsvcs/bin/Naming_Service/svr.cpp (handle_input): Now receives
1405 the port number in the multicast request. Suggested by Doug
1408 * tao/orbobj.cpp (resolve_name_service): changed return value
1409 variable to be signed. Added code to send the port number in the
1410 multicast resolution mechanism as a CORBA::Short.
1412 * orbsvcs/bin/Naming_Service/NS_CosNaming.cpp (NS_ExtId):
1413 Reordered initializers in the constructor.
1415 * tests/Cubit/TAO/IDL_Cubit/clnt.h:
1416 * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (run): Added a loop around
1417 all cube calls and added calls/sec stats for them.
1419 * tao/corba.h: Changed order of inclusion of marshal.i, due to
1420 warnings of the declaration of the inline function
1421 make_marshal_object().
1423 * tao/orbobj.i: reorder the declaration of inline
1424 CORBA_OBJ::Add_Ref(), to remove a warning.
1426 * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (main):
1427 removed return statement that was causing a warning.
1429 Wed Nov 19 04:22:48 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1431 * TAO version 0.0.34, released Wed Nov 19 04:22:48 1997.
1433 Tue Nov 18 01:29:00 1997 <nw1@COYOTE>
1435 * tao/TAO.dsp: Added Arg_Shifter.cpp into project file.
1437 Tue Nov 18 18:53:57 1997 Sergio Flores <sergio@polka.cs.wustl.edu>
1439 * TAO_IDL/be/be_state_typedef.cpp (gen_code):
1440 * TAO_IDL/be/be_state_structure.cpp (gen_code):
1441 * TAO_IDL/be/be_state_sequence.cpp (gen_code):
1442 * TAO_IDL/be/be_state_operation.cpp (gen_code):
1443 * TAO_IDL/be/be_state_array.cpp (gen_code): Comment out
1444 unreachable break statements.
1446 * TAO_IDL/ast/ast_array.cpp (n_dims):
1447 * TAO_IDL/include/ast_array.h (AST_Array::n_dims):
1448 * TAO_IDL/ast/ast_attribute.cpp (readonly):
1449 * TAO_IDL/include/ast_attribute.h (AST_Attribute::readonly):
1450 * TAO_IDL/ast/ast_argument.cpp (direction):
1451 * TAO_IDL/include/ast_argument.h (AST_Argument::direction):
1452 * tao/nvlist.h (CORBA_NamedValue::name):
1453 * TAO_IDL/include/utl_scope.h (UTL_Scope::scope_node_type):
1454 * TAO_IDL/ast/ast_predefined_type.cpp (pt):
1455 * TAO_IDL/include/ast_predefined_type.h (AST_PredefinedType::pt):
1456 removed const from declarations that it didn't have a meaning for.
1457 Also from return statements. These changes were suggested by
1458 James Hu and the SGI compiler.
1460 Tue Nov 18 18:34:16 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu>
1462 * tests/Cubit/COOL/client.cpp: ORB_init is now called in
1463 Task_Client.cpp instead of the main program, to insure that its
1464 called in the right thread.
1466 * tests/Cubit/COOL/Task_Client.{h,cpp}: Used the COOL_Activity to
1467 create threads instead of ACE_Task.
1469 * tests/Cubit/COOL/server.cpp: Used the createActivity stuff to
1470 create threads. The server now creates two servants, one for high
1471 and the other for low priority clients.
1473 Tue Nov 18 17:44:02 1997 Chris Cleeland <cleeland@cs.wustl.edu>
1475 * tao/corbacom.h: Added special case for CORBA::WChar to be a
1476 short on VxWorks/GreenHills.
1478 * TAO_IDL/be/be_state.cpp: Added template instantiations for SGI.
1480 * tao/deep_free.cpp (deep_free): Removed unused 'alignment'
1483 * tao/deep_copy.cpp (deep_copy): Removed unused 'alignment'
1486 * tao/encode.cpp (encode): Removed unused 'continue_encoding'
1489 * tao/orbobj.cpp (POA_init): Removed options which were no longer
1490 supported/necessary, as well as their corresponding variables.
1492 Tue Nov 18 17:33:20 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
1494 * orbsvcs/lib/RtecEventChannelAdmin.idl:
1495 * orbsvcs/lib/RtecEventComm.idl:
1496 Changed several operations to "oneway" to avoid dead-locks in
1497 the Event Channel tests.
1499 * orbsvcs/lib/Runtime_Scheduler.h:
1500 * orbsvcs/lib/Runtime_Scheduler.cpp:
1501 This class is a servant, event though it is only used
1502 collocated, so it must inherit from the POA class.
1504 * orbsvcs/lib/Scheduler_Factory.cpp:
1505 Care must be exercised to create the Runtime_Scheduler instance
1506 only once the ORB is up and running.
1508 * orbsvcs/lib/CosNamingC.cpp:
1509 * orbsvcs/lib/CosNamingC.h:
1510 * orbsvcs/lib/CosNamingS.cpp:
1511 * orbsvcs/lib/CosNamingS.h:
1512 * orbsvcs/lib/RtecEventChannelAdminC.cpp:
1513 * orbsvcs/lib/RtecEventChannelAdminC.h:
1514 * orbsvcs/lib/RtecEventChannelAdminS.cpp:
1515 * orbsvcs/lib/RtecEventChannelAdminS.h:
1516 * orbsvcs/lib/RtecEventCommC.cpp:
1517 * orbsvcs/lib/RtecEventCommC.h:
1518 * orbsvcs/lib/RtecEventCommS.cpp:
1519 * orbsvcs/lib/RtecEventCommS.h:
1520 * orbsvcs/lib/RtecSchedulerC.cpp:
1521 * orbsvcs/lib/RtecSchedulerC.h:
1522 * orbsvcs/lib/RtecSchedulerS.cpp:
1523 * orbsvcs/lib/RtecSchedulerS.h:
1524 Regenerated all the stubs and skeletons using the latest IDL
1525 compiler, but still some hand crafting is required, namely for
1526 operations in base classes.
1528 Tue Nov 18 14:27:02 1997 Chris Cleeland <cleeland@cs.wustl.edu>
1530 * tao/cdr.cpp (CDR): Changed TAO_PURIFY to ACE_PURIFY.
1532 * tests/Cubit/TAO/MT_Cubit/serdatever/svr.cpp: Added code to put use a
1533 kinder, gentler high priority value on VxWorks. This makes it
1534 easier for the machine to remain running. :-\
1536 * tao/corbacom.h: Added CVS id keyword.
1538 * tao/{corba.h,tao_internals.h,tao_internals.cpp}: Backed out
1539 tao_internals.h, which is not intended to be publicly visible.
1540 corba.h should contain only headers/inlines for things which
1541 should be externally visible.
1543 Tue Nov 18 04:00:46 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
1546 An operation lookup on the dispatching code will cause an error
1547 message and the CORBA::BAD_OPERATION exception to be raised.
1550 Somehow the options for setting the Event Service and the
1551 Scheduling Service IOR were lost. Eventually they must be
1552 removed, but we are still testing the Naming Service.
1554 Tue Nov 18 02:17:24 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1556 * TAO version 0.0.33, released Tue Nov 18 02:17:24 1997.
1558 Tue Nov 18 02:03:22 1997 Sergio Flores <sergio@tango.cs.wustl.edu>
1560 * orbsvcs/tests/Logger/svr.cpp:
1561 * orbsvcs/tests/Logger/clnt.cpp: This test example now uses the
1562 naming service in the server and client. Also changed the code to
1563 have a default use in case the naming service is not available.
1565 * tao/orbobj.cpp (resolve_name_service): Fixed a bug, dealing with
1566 closing the endpoint of communication for the response of the
1567 multicast mechanism.
1569 Tue Nov 18 01:37:42 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
1571 * TAO_IDL/be/{be_operation.cpp,be_state_operation}.cpp: We now
1572 properly handle the declaration and assigning to the return value.
1574 * TAO_IDL/be/be_state_argument.cpp: Removed a spurious ()
1575 appearing after a function call.
1577 * TAO_IDL/be/{be_structure,be_union}.cpp: Carlos had removed the
1578 if !imported check in the member counting function, but it had
1579 crept in again, maybe due to me. So this is fixed again.
1581 * test/Cubit/TAO/IDL/svr.cpp: Removed the hack which was
1582 separating command line arguments starting with O. We leave this
1583 task to the newly added Arg_Shifter.
1585 * tao.orbobj.cpp: In ORB_init, the call to
1586 TAO_ORb_Core_instance->init needed a char ** argv and we were
1587 passing a char * const* argv. So we cast this. g++ was giving this
1590 * TAO_IDL/be_include/be_codegen.h, TAO_IDL/be/be_codegen.cpp:
1591 Added 5 new states for code generation. All of these for
1592 operations and arguments.
1594 * TAO_IDL/be/be_argument.cpp: Made all methods uniform so that the
1595 state will be set by the corresponding be_operation method. Thus
1596 the be_operation method will vary the state but still invoke the
1597 same be_argument method.
1599 * TAO_IDL/be/be_enum.cpp, be_structure.cpp, be_union.cpp, be_field.cpp,
1600 be_sequence.cpp: Some reformatting, removed unused variables.
1602 * TAO_IDL/be/be_scope.cpp: Changes include adding ACE_ERROR_RETURN
1603 with file name, line number capability. In addition, we were not
1604 testing for return status of the various gen methods called.
1606 * Most important changes in these files:
1608 TAO_IDL/be/{be_operation,be_state_argument,be_state_operation}.cpp:
1610 Large scale changes that include a uniform way to invoke methods
1611 of the be_argument class from the be_operation methods. Added the
1612 5 new states. Added proper handling of _out parameters in stubs
1615 Mon Nov 17 20:05:40 1997 Chris Cleeland <cleeland@cs.wustl.edu>
1617 * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Cleaned up lots of places
1618 where the allocated stuff wasn't being deallocated.
1620 * tao/request.cpp: Insured that the CTOR adds a reference for the
1621 dynamically-allocated NamedValue.
1623 * tao/orb_core.cpp: Freed the faked service configurator argv.
1625 * tao/iiopobj.h: Removed anachronistic comments.
1627 * tao/iiopobj.{i,cpp}: Changed allocation of IIOP::Profile.host to use
1628 new/delete rather than strdup/free b/c the decoder, which is
1629 generic, must use new to allocate the space. Thus, the strdup had
1630 to go. Purify now happier.
1632 * tao/cdr.cpp: Added call to memset bracketed by #if
1633 defined(TAO_PURIFY) in order to appease the purify gods.
1635 Mon Nov 17 20:05:16 1997 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu>
1638 fixed a bug where in new, gcc used the address of an integer
1639 reference rather than its value. weird.
1642 Modified the init routine to "consume" command line arguments it
1643 recognizes by placing them in the rear of argv, and adjusting
1644 argc. It uses the Arg_Shifter class to accomplish this.
1646 * tao/arg_shifter.h:
1647 * tao/arg_shifter.cpp:
1648 The Arg_Shifter class is an iterator that, as it iterates over
1649 argv, places consumed arguments at the end of the vector,
1650 ignored ones in their original order at the beginning of the
1651 vector, and adjusts argc to hide the consumed arguments.
1653 Mon Nov 17 18:40:49 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
1656 Some data was not initialized when used from a thread different
1657 than the one doing ORB_init (even though we choose a global ORB
1658 in the svc.conf file). Chris found a fix for this. The affected
1659 methods are reactor(), thr_mgr(), connector() and acceptor().
1661 * TAO_IDL/be/be_sequence.cpp:
1662 length was not working if the value was <= than the maximum.
1664 * orbsvcs/lib/CosNamingC.cpp:
1665 * orbsvcs/lib/RtecEventChannelAdminC.cpp:
1666 * orbsvcs/lib/RtecEventCommC.cpp:
1667 * orbsvcs/lib/RtecSchedulerC.cpp:
1668 * orbsvcs/lib/RtecSchedulerS.cpp:
1669 Fixed the length() problem by hand, even though the new IDL
1670 compiler should do it right.
1672 Mon Nov 17 11:52:54 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
1674 * TAO_IDL/be/be_codegen.cpp (server_header),
1675 TAO_IDL/util/utl_global.cpp (be_change_idl_file_extension):
1676 Updated several methods to ensure const correctness for the
1677 updated ACE_OS::str*() methods. Thanks to David Levine for
1680 Mon Nov 17 02:40:14 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1682 * TAO version 0.0.32, released Mon Nov 17 02:40:14 1997.
1684 Mon Nov 17 01:48:17 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
1686 * TAO_IDL/be/be_scope.cpp:
1687 TypeCode generation was failing for imported members.
1689 * TAO_IDL/be/be_structure.cpp:
1690 Member count must include all members, imported or not.
1692 * TAO_IDL/be/be_typedef.cpp:
1693 Added missing decr_indent() in the typecode generation which was
1694 making the generated code completely unreadable.
1696 * orbsvcs/lib/RtecEventChannelAdmin.idl:
1697 * orbsvcs/lib/RtecEventComm.idl:
1698 Removed the PullConsumer and PullSupplier classes, they are not
1701 * orbsvcs/lib/CosNamingC.cpp:
1702 * orbsvcs/lib/CosNamingS.cpp:
1703 * orbsvcs/lib/RtecEventChannelAdminC.cpp:
1704 * orbsvcs/lib/RtecEventChannelAdminC.h:
1705 * orbsvcs/lib/RtecEventChannelAdminC.i:
1706 * orbsvcs/lib/RtecEventChannelAdminS.cpp:
1707 * orbsvcs/lib/RtecEventChannelAdminS.h:
1708 * orbsvcs/lib/RtecEventChannelAdminS.i:
1709 * orbsvcs/lib/RtecEventCommC.cpp:
1710 * orbsvcs/lib/RtecEventCommC.h:
1711 * orbsvcs/lib/RtecEventCommC.i:
1712 * orbsvcs/lib/RtecEventCommS.cpp:
1713 * orbsvcs/lib/RtecEventCommS.h:
1714 * orbsvcs/lib/RtecEventCommS.i:
1715 * orbsvcs/lib/RtecSchedulerC.cpp:
1716 * orbsvcs/lib/RtecSchedulerS.cpp:
1717 New version of the generated files, this last version is almost
1718 making in it, but still needs hand crafting.
1720 * TAO_IDL/be/be_array.cpp:
1721 * TAO_IDL/be/be_sequence.cpp:
1722 * TAO_IDL/be/be_typedef.cpp:
1723 Fixed buggy TypeCode lenght computation, it was only taking into
1724 account the tc_encap_len() for the base type but it should use
1728 Object references *must* be passed a pointer to Object_ptr in
1729 the marshalling code.
1731 * TAO_IDL/be/be_operation.cpp:
1732 * TAO_IDL/be/be_state_operation.cpp:
1733 Fixed generated code for Object references as return values. It
1734 allocates the Object_ptr in the heap, stores the result there
1735 and creates an Any for it.
1737 Sun Nov 16 23:30:26 1997 Sergio Flores <sergio@tango.cs.wustl.edu>
1739 * orbsvcs/tests/Logger/svr.cpp (main):
1740 Changed the code to use the resolve_initial_references ()
1741 interface to get the object refrence to the naming service.
1743 * orbsvcs/tests/Logger/clnt.cpp (main): Now uses the
1744 resolve_initial_references() to get the naming service object
1745 reference, to get the logger factory object reference.
1747 * orbsvcs/bin/Naming_Service/svr.cpp (main):
1748 * orbsvcs/bin/Naming_Service/svr.h:
1749 Added code to respond to multicast requests for the IOR.
1751 Added code to respond to multicast requests for the IOR.
1753 * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Fixed some formatting
1754 problems dealing with the precision of the output.
1756 Sun Nov 16 14:48:00 1997 <nw1@COYOTE>
1758 * test/Cubit/TAO/IDL_Cubit/{server,client}.dsp: Updated library
1759 path for release version.
1761 * TAO_IDL/TAO_IDL.mak:
1762 * TAO_IDL/tao_idl.dsp: Added new files (be_state_*.cpp) into
1765 Sun Nov 16 12:56:24 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
1767 * TAO_IDL/be/be_interface.cpp: The _is_a_skel method's signature
1768 had an Object_ptr obj parameter which was unused. Instead of
1769 generating the ACE_UNUSED_ARG (obj) line of code, we use /* obj */
1772 Sun Nov 16 05:51:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1774 * TAO version 0.0.31, released Sun Nov 16 05:51:38 1997.
1776 Sun Nov 16 00:22:04 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
1778 * tests/Cubit/TAO/IDL_Cubit/clnt.cpp:
1779 Fixed output for structs and union test.
1782 If the user provides no key for an object we generate one, based
1783 on the object address.
1785 * TAO_IDL/be/be_sequence.cpp:
1786 The length() method should get the maximum if reallocation
1794 Added new options to the ORB (-ORBeventserviceior,
1795 -ORBscheduleserviceior), this should go away once the Naming
1796 Service works properly, but are needed now to locate this
1799 * orbsvcs/lib/Makefile:
1800 Added several small classes that help when using the Scheduling
1801 and/or the Event Service.
1803 * orbsvcs/lib/Scheduler_Factory.cpp:
1804 * orbsvcs/lib/Scheduler_Factory.h:
1805 * orbsvcs/lib/Scheduler_Factory.i:
1806 Encapsulate the construction and configuration of the Scheduling
1809 * orbsvcs/lib/Runtime_Scheduler.cpp:
1810 * orbsvcs/lib/Runtime_Scheduler.h:
1811 * orbsvcs/lib/Runtime_Scheduler.i:
1812 Implement a simple, but fast, Scheduling Service based on a
1813 precomputed scheduling.
1815 * orbsvcs/lib/Event_Utilities.cpp:
1816 * orbsvcs/lib/Event_Utilities.h:
1817 * orbsvcs/lib/Event_Utilities.i:
1818 Simplify the creation of QoS structures for the Event Service.
1820 * orbsvcs/lib/Scheduler_Utilities.cpp:
1821 * orbsvcs/lib/Scheduler_Utilities.h:
1822 * orbsvcs/lib/Scheduler_Utilities.i:
1823 Simplify manipulation of the RT_Infos for the Scheduling
1826 * orbsvcs/lib/Channel_Clients.cpp:
1827 * orbsvcs/lib/Channel_Clients.h:
1828 * orbsvcs/lib/Channel_Clients_T.cpp:
1829 * orbsvcs/lib/Channel_Clients_T.h:
1830 Helpers to adapt PushSuppliers and PushConsumers.
1832 * orbsvcs/lib/CosNamingC.cpp:
1833 * orbsvcs/lib/CosNamingC.h:
1834 * orbsvcs/lib/CosNamingC.i:
1835 * orbsvcs/lib/CosNamingS.cpp:
1836 * orbsvcs/lib/RtecEventChannelAdminC.cpp:
1837 * orbsvcs/lib/RtecEventChannelAdminC.h:
1838 * orbsvcs/lib/RtecEventChannelAdminC.i:
1839 * orbsvcs/lib/RtecEventChannelAdminS.cpp:
1840 * orbsvcs/lib/RtecEventChannelAdminS.h:
1841 * orbsvcs/lib/RtecEventComm.idl:
1842 * orbsvcs/lib/RtecEventCommC.cpp:
1843 * orbsvcs/lib/RtecEventCommC.h:
1844 * orbsvcs/lib/RtecEventCommC.i:
1845 * orbsvcs/lib/RtecEventCommS.cpp:
1846 * orbsvcs/lib/RtecSchedulerC.cpp:
1847 * orbsvcs/lib/RtecSchedulerC.h:
1848 * orbsvcs/lib/RtecSchedulerC.i:
1849 * orbsvcs/lib/RtecSchedulerS.cpp:
1850 This files were generated by the IDL compiler and don't need any
1851 hand crafting (so far). I still maintain them in CVS because the
1852 compiler is not stable enough.
1854 * orbsvcs/bin/Naming_Service/Makefile:
1855 Removed spurious call to rm.
1857 * orbsvcs/lib/RtecEventComm.idl:
1858 Removed the (already commented out) include of "orb.idl".
1860 Sat Nov 15 21:38:48 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
1862 * TAO_IDL/be/be_sequence.cpp:
1863 The generated length() method will reallocate the sequences
1866 * TAO_IDL/be/be_constant.cpp:
1867 It was initializing nested constants in the client header file,
1868 Andy told me how to fix it.
1870 * TAO_IDL/be/be_operation.cpp:
1871 Fixed typo in generated code:
1872 s/_tao_enviroment/_tao_environment/
1874 * TAO_IDL/be/be_field.cpp:
1875 Only generate the inline members of the field type if the type
1878 * TAO_IDL/driver/drv_fork.cpp:
1879 * TAO_IDL/driver/drv_preproc.cpp:
1880 Removed old code to support plain fork (without ACE).
1881 Also removed temporary files *unless* we are on Win32, were
1882 removing the file and keeping it open fails.
1884 * TAO_IDL/include/idl_global.h:
1885 * TAO_IDL/util/utl_global.cpp:
1886 Added routines to obtain the generated names of any IDL file,
1887 not only the one we are processing.
1889 * TAO_IDL/be/be_codegen.cpp:
1890 The compiler now generate all the required include directives
1891 when the IDL file contains some.
1894 Initialize name_service_port_ to zero in the constructor.
1896 Sat Nov 15 21:20:01 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
1898 * TAO_IDL/be/be_string.cpp: The typecode info was getting
1899 generated in a wrong file because of setting the worng file to
1902 * TAO_IDL/be/be_typedef.cpp: Some extra indentation was getting
1903 generated for typecodes. This is fixed.
1905 * TAO_IDL/be/be_state_argument.cpp: For parameters of type
1906 ObjRefs, we were not passing the address of the object_ptr to the
1907 Any constructor. This would have caused seg faults when
1908 decoding. This is now fixed.
1910 * TAO_IDL/be: Split be_state.cpp into a number of files based on
1911 the IDL types, e.g., be_state_struct.cpp, be_state_union.cpp, ...
1913 * TAO_IDL/be/be_sequence.cpp: Name creation now uses a uniform
1914 strategy rather than typedefed sequences assuming the name of the
1915 typedef and anonymous sequences getting a generated name. This was
1916 required to eliminate a number of multiple declarations errors.
1918 * TAO_IDL/be/be_state_union.cpp: Since C++ does not allow
1919 instances of classes to appear inside a union declaration, the
1920 private data members for data members of type objref, strings,
1921 sequences, and anys must be pointers. This changes code in the
1922 accessor methods defined in the generated *.i files for the union.
1924 * TAO_IDL/be/be_operation.cpp: There were some instances of the
1925 incorrectly spelled _tao_enviroment remaining which have been
1928 * TAO/tao/managed_types.{h,i,cpp}: Added these 3 files that define
1929 the self managed data type similar to a String_var. These self
1930 managed data types are required for struct/union members that are
1931 strings or obj references, as well as for element types of
1934 * TAO_IDL/be/be_typedef.cpp: Added code to generate the typecode
1935 structure for typedefs. These use the tk_alias kind field.
1937 * TAO_IDL/be/{be_union,be_state}.cpp: Improvements to union with
1938 string members. However, this is still incomplete and will be
1939 done by the next couple of commits.
1941 * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Removed the ACE_DEBUG
1942 stmt for printing object keys.
1944 Sat Nov 15 18:03:39 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
1946 * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (make_cubit): We don't
1947 need to free up the object key since it's no longer allocated
1950 * tao/object: Changed the _get_name() method to return const char
1951 * to be consistent with the iiopobj change below.
1953 * tao/iiopobj: Fixed _get_name() so that it doesn't allocate
1954 memory by having it return const char * and just return the
1955 pointer. This should fix some subtle problems.
1957 Sat Nov 15 12:19:55 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu>
1959 * TAO_IDL/be/be_codegen.cpp: Changed two loop counters from type
1962 Sat Nov 15 01:33:08 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1964 * TAO version 0.0.30, released Sat Nov 15 01:33:08 1997.
1966 Fri Nov 14 19:45:01 1997 Sergio Flores <sergio@polka.cs.wustl.edu>
1968 * tests/Cubit/TAO/DII_Cubit/clnt.cpp :
1969 * tests/Cubit/TAO/DII_Cubit/clnt.h :
1970 * tests/Cubit/TAO/IDL_Cubit/clnt.cpp :
1971 - Fixed the difference in latency problem from DII and IDL.
1972 - Changed the DII_Cubit client interface to be similar to IDL, now
1973 you can specify hostname and port number, instead of the IOR.
1975 Fri Nov 14 17:48:14 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
1977 * orbsvcs/bin/Naming_Service/CosNaming_i.cpp:
1978 Fixed problem with the new Environment parameter for _narrow ().
1980 * orbsvcs/bin/Naming_Service/Makefile:
1981 No need to include rules.bin.GNU.
1983 Fri Nov 14 17:08:20 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
1985 * tao/iiopobj.cpp: Make sure that host is set to 0 in all the
1988 * tao/iiopobj.cpp (Profile): Modified the code to consistently
1989 store a NUL at the end of each object key string.
1991 Fri Nov 14 17:10:20 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu>
1993 * cubit_i.cpp: Changed &d to %d in ACE_ERROR
1995 Fri Nov 14 16:42:21 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu>
1997 * tao/tao_internals.cpp (fake_service_entries_i): Made sure that
1998 the resource factory faked entry had the proper number of
1999 arguments specified.
2001 Fri Nov 14 14:11:47 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
2003 * orbsvcs/lib/Makefile:
2004 Added new library that contains the stubs and skeletons for the
2008 * orbsvcs/bin/Makefile:
2009 * orbsvcs/tests/Makefile:
2010 Added top level Makefiles.
2012 * orbsvcs/bin/Naming_Service/Makefile:
2013 * orbsvcs/bin/Naming_Service/svr.cpp:
2014 * orbsvcs/bin/Naming_Service/svc.conf:
2015 * orbsvcs/bin/Naming_Service/NS_CosNaming.h:
2016 * orbsvcs/bin/Naming_Service/NS_CosNaming.cpp:
2017 * orbsvcs/bin/Naming_Service/CosNaming_i.h:
2018 * orbsvcs/bin/Naming_Service/CosNaming_i.cpp:
2019 Moved the naming service implementation from the TAO
2020 subdirectory to this place.
2022 * orbsvcs/tests/Simple_Naming/Makefile:
2023 * orbsvcs/tests/Simple_Naming/svc.conf:
2024 * orbsvcs/tests/Simple_Naming/clnt.h:
2025 * orbsvcs/tests/Simple_Naming/clnt.cpp:
2026 A simple test program for the naming service, it simply tries to
2027 locate it and connect to it.
2029 * orbsvcs/bin/Naming_Service/Orbix/Client.cpp:
2030 * orbsvcs/bin/Naming_Service/Orbix/CosNaming.idl:
2031 * orbsvcs/bin/Naming_Service/Orbix/Makefile:
2032 * orbsvcs/bin/Naming_Service/Orbix/NS_CosNaming.cpp:
2033 * orbsvcs/bin/Naming_Service/Orbix/NS_CosNaming.h:
2034 * orbsvcs/bin/Naming_Service/Orbix/logger-main.cpp:
2035 * orbsvcs/bin/Naming_Service/Orbix/logger.idl:
2036 * orbsvcs/bin/Naming_Service/Orbix/logger_tie.cpp:
2037 * orbsvcs/bin/Naming_Service/Orbix/logger_tie.h:
2038 * orbsvcs/bin/Naming_Service/Orbix/server-main.cpp:
2039 * orbsvcs/bin/Naming_Service/TAO/CosNaming.idl:
2040 * orbsvcs/bin/Naming_Service/TAO/CosNaming_i.cpp:
2041 * orbsvcs/bin/Naming_Service/TAO/CosNaming_i.h:
2042 * orbsvcs/bin/Naming_Service/TAO/Makefile:
2043 * orbsvcs/bin/Naming_Service/TAO/NS_CosNaming.cpp:
2044 * orbsvcs/bin/Naming_Service/TAO/NS_CosNaming.h:
2045 * orbsvcs/bin/Naming_Service/TAO/clnt.cpp:
2046 * orbsvcs/bin/Naming_Service/TAO/clnt.h:
2047 * orbsvcs/bin/Naming_Service/TAO/svc.conf:
2048 * orbsvcs/bin/Naming_Service/TAO/svr.cpp:
2049 We will only maintain the TAO version for the naming service, no
2050 need to keep this subdirectories.
2052 * orbsvcs/lib/RtecScheduler.idl:
2053 The Real Time Scheduling Service. This module declares the QoS
2054 structures (RT_Info) and the interface for the global scheduler.
2056 * orbsvcs/lib/RtecEventComm.idl:
2057 Part of the Real Time Event Services interface, this file
2058 contains the Event type, the basic interfaces for consumers and
2059 suppliers and some exceptions.
2061 * orbsvcs/lib/RtecEventChannelAdmin.idl:
2062 Part of the Real Time Event Services interface, in particular
2063 this module defines the event channel, the proxy interfaces and
2064 the QoS aware subscription and registration interfaces.
2066 * orbsvcs/lib/Event_Service_Constants.h:
2067 The Event Service implementation and the Scheduling Service
2068 implementation require this file, which defines some constants
2069 and static limits. For lack of a better place I putted it here.
2071 * orbsvcs/lib/CosNaming.idl:
2072 Moved the IDL file to the library, otherwise it cannot be used
2076 Added some macros that support portable exception handling,
2077 either through C++ exceptions or the CORBA::Enviroment
2080 * orbsvcs/lib/RtecEventCommC.h:
2081 * orbsvcs/lib/RtecEventCommC.i:
2082 * orbsvcs/lib/RtecEventCommC.cpp:
2083 * orbsvcs/lib/RtecEventCommS.h:
2084 * orbsvcs/lib/RtecEventCommS.i:
2085 * orbsvcs/lib/RtecEventCommS.cpp:
2086 * orbsvcs/lib/RtecEventChannelAdminS.h:
2087 * orbsvcs/lib/RtecEventChannelAdminS.i:
2088 * orbsvcs/lib/RtecEventChannelAdminS.cpp:
2089 * orbsvcs/lib/RtecEventChannelAdminC.h:
2090 * orbsvcs/lib/RtecEventChannelAdminC.i:
2091 * orbsvcs/lib/RtecEventChannelAdminC.cpp:
2092 * orbsvcs/lib/CosNamingC.h:
2093 * orbsvcs/lib/CosNamingC.i:
2094 * orbsvcs/lib/CosNamingC.cpp:
2095 * orbsvcs/lib/CosNamingS.h:
2096 * orbsvcs/lib/CosNamingS.i:
2097 * orbsvcs/lib/CosNamingS.cpp:
2098 I had to modify the IDL compiler generated files, I will keep
2099 the files in CVS until we no longer need to modify it.
2101 Fri Nov 14 13:02:52 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
2103 * tao/decode.cpp: TAO_Marshal_Objref::decode line 615 which tried
2104 to set the underlying object_addr was invoking an incorrect inline
2105 function because of lack of passing an argument to the object_addr
2106 () method. Specifically, due to the lask of argment, the
2107 "retrieve" method was getting called whereas we wanted the "set"
2108 method. All we do is pass a 0 (NUL) argument. This suffices
2109 because we have already decoded the host and port number. So all
2110 information is with us to set the server address.
2112 Fri Nov 14 00:29:09 1997 David L. Levine <levine@cs.wustl.edu>
2114 * TAO_IDL/fe/lex.yy.cpp: set RCS -ko option so that the Id keyword
2115 won't get expanded on checkout. That was causing CVS to think
2116 that a merge was needed.
2118 Thu Nov 13 19:11:36 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
2120 * tao/giop.cpp (start): Updated the code to use the new
2121 object_addr() style.
2123 * tao/iiopobj: Added many fixes to the Profile code to fix nasty
2124 bugs. Also, renamed {get|set}_object_addr() to simply
2125 object_addr(), which is the correct style.
2127 * tao/iiopobj.h: Replaced the use of "localhost" with
2128 ACE_DEFAULT_SERVER_HOST. This is necessary to support broken
2129 platforms like MVS that don't support "localhost"...
2131 * TAO/tests/Cubit/TAO/IDL_Cubit/svr.cpp (parse_args): Assume for
2132 the moment that any arguments starting with `-O' are `-ORB' or
2133 `-OA'. This should be fixed by having the ORB_init() and
2134 POA_init() methods consume their argv/argc's.
2136 Thu Nov 13 16:18:32 1997 <nw1@CHA-CHA>
2139 * tao/default_client.h:
2140 * tao/default_server.h: Changed ACE_SVC_FACTORY_DECLARE to
2141 ACE_FACTORY_DECLARE.
2144 * tao/default_client.cpp:
2145 * tao/default_server.cpp: Changed ACE_SVC_FACTORY_DEFINE to
2148 * tao/corba.h: Added include "tao/tao_internals.h".
2150 * tao/tao_internals.h: Disable header file inclusions. I've put
2151 this file into corba.h.
2153 * tao/tao_internals.cpp: Changed to use "tao/corba.h".
2156 * tao/TAO.dsp: Replaced ACE_BUILD_SVC_DLL with TAO_BUILD_DLL.
2158 * tao/corba.h: Added TAO_Export definition.
2160 * tao/*.h: Replaced ACE_Svc_Export with TAO_Export. Added
2161 default definition to build TAO DLL on Win32.
2163 Thu Nov 13 01:47:02 1997 Chris Cleeland <cleeland@macarena.cs.wustl.edu>
2165 * tao/iiopobj.cpp (IIOP_Object): Removed the duplicate CTORs that
2166 I'd accidentally included here during the prior merge/commit
2169 Wed Nov 12 23:59:29 1997 <nw1@COYOTE>
2171 * TAO/TAO_IDL/tao_idl.dsp: Changed to generate multithreaded codes
2174 * TAO/TAO_IDL/be/be_scope.cpp:
2175 * TAO/TAO_IDL/fe/idl.ll:
2176 * TAO/TAO_IDL/fe/lex.yy.cpp:
2177 * TAO/TAO_IDL/fe/y.tab.cpp:
2178 * TAO/TAO_IDL/include/ast_decl.h:
2179 * TAO/TAO_IDL/include/idl.h:
2180 * TAO/TAO_IDL/include/utl_identifier.h:
2181 * TAO/TAO_IDL/include/utl_idlist.h:
2182 * TAO/TAO_IDL/include/utl_tmpl/utl_decllist.h:
2183 * TAO/TAO_IDL/include/utl_tmpl/utl_exceptlist.h:
2184 * TAO/TAO_IDL/include/utl_tmpl/utl_exprlist.h:
2185 * TAO/TAO_IDL/include/utl_tmpl/utl_idlist.h:
2186 * TAO/TAO_IDL/include/utl_tmpl/utl_labellist.h:
2187 * TAO/TAO_IDL/include/utl_tmpl/utl_namelist.h:
2188 * TAO/TAO_IDL/include/utl_tmpl/utl_strlist.h: Changed to use
2189 "ace/stdcpp.h" and removed inclusion of header files that
2190 conflict with standard C++ library.
2192 Wed Nov 12 18:59:20 1997 Chris Cleeland <cleeland@cs.wustl.edu>
2194 * tao/iioporb.cpp: Added call to set object address in Profile.
2196 * tao/iiopobj.cpp: Corrected code in the copy CTOR where the host
2197 was being copied over the old host. This could prove bad if the
2198 amount of space allocated previously was too small for the
2199 hostname we're copying in. Ideally we'd use something smarter
2200 than this, but hopefully (if you read the comment below) this will
2203 * tao/iiopobj.*: Added an ACE_INET_Addr to IIOP::Profile so that
2204 we only need to do a gethostbyname() once. After that we can used
2205 the cached information. I'd really like to remove the host/port
2206 as explicit public data members, but for now we take one step at a
2209 * tao/giop.cpp: Use the IIOP::Profile object address when making a
2212 * tao/decode.cpp: Added code to set the object address in the
2213 Profile when an object ref is decoded.
2215 * tao/debug.h: Removed old questions in comments.
2217 * tao/connect.h: Added some documentation.
2219 Wed Nov 12 17:41:02 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
2221 * tao/iiopobj.cpp: I had forgotten to update the return type of
2222 _get_name in iiopobj.cpp to "char *" instead of "const char *".
2224 Wed Nov 12 14:28:48 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
2226 * TAO_IDL/ast/ast_union.cpp: Fixed a problem where the front end
2227 would not give any error if there were duplicate case labels. This
2228 was happening since an overloaded == operator taking an
2229 AST_Expression* was not getting called. Instead a simple
2230 comparison of addresses was taking place. We now use the "compare"
2231 method defined on the AST_Expression class to fix this problem.
2233 * TAO_IDL/be/be_interface.cpp: Removed some code under #if 0. The
2234 noteworthy change, however, has to do with code that gets
2235 generated for the "_is_a_skel". Some compilers were issuing a
2236 warning saying "unused argument obj". Since we cannot change the
2237 signature of the generated "_is_a_skel", we use the trick of
2238 generatung ACE_UNUSED_ARG (obj); in the code. Some other
2239 formatting changes made.
2241 * TAO_IDL/be/be_operation.cpp: Some very minor changes so that the
2242 generated code is properly indented.
2244 * tao/{iiopobj,object,stub}.h, iiopobj.cpp: Changed the return
2245 type of _get_name to return a heap-allocated "char *". In the
2246 earlier case we were erroneously returning a pointer to local
2247 array. This was a change I made a couple of days back to deal with
2248 the fact that object keys are octet arrays and are not null
2249 terminated. Now we take the object key and make a NULL terminated
2250 copy in a heap allocated string. It is the caller's responsibility
2253 * tao/tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Used string_free to
2254 free the string returned by _get_name.
2256 * tao/tests/Thruput/client.cpp: _narrow now uses the additional
2259 Wed Nov 12 09:22:47 1997 David L. Levine <levine@cs.wustl.edu>
2261 * tao/tao_internals.cpp (open_services): added ACE_UNUSED_ARGs
2262 for argc and argv if TAO_PLATFORM_SVC_CONF_FILE_NOTSUP.
2264 * TAO_IDL/Makefile: disabled clean and realclean targets on VxWorks,
2265 so that they don't remove tao_idl from the host build tree.
2267 Tue Nov 11 23:50:06 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
2269 * TAO version 0.0.29, released Tue Nov 11 23:50:06 1997.
2271 Tue Nov 11 20:45:26 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
2273 * tao/default_server.cpp (parse_args): Replaced NULL with 0.
2275 * tao/corbacom.h: Fixed the macro for TAO_SYSTEM_EXCEPTION so
2276 compilers don't whine about extra semi-colons.
2278 * tao/iioporb.cpp (iiop_string_to_object): Added a cast of (char
2279 *) 0 to disambiguate one of the methods.
2281 * tao/iiopobj.cpp: Moved the constructors and destructors of
2282 IIOP_Object from the *.i file to the *.cpp file and made them
2285 Tue Nov 11 18:19:16 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
2287 * tao/iiopobj.{h,cpp}: Added two new constructors one of which is
2288 useful for the _bind call generated by the IDL compiler. This
2289 constructor takes the host name, port number, and key value
2290 thereby avoiding the costly string2object call inside the _bind
2291 method. The second constructor is used to reduce the amount of
2292 code that gets generated to set a IIOP_Object in the constructor
2293 of the skeleton class.
2295 Additionally, these constructors use the REENTRANT get_host_name
2296 method of the INET_Addr class to retrieve the host name.
2298 * tao/iiopobj.h,stub.h: Modified the signature of _get_name to
2299 return a const char*. So users will have to copy this value.
2301 * tao/iiopobj.cpp: The method _get_name uses an internal character
2302 array in which the object key is copied. This is necessary so that
2303 we can NULL terminate the opaque key and return it to the user.
2305 * tao/orbconf.h,cdr.h: Commented (and will eventually remove) the
2306 defintion of MY_BYTE_SEX from cdr.h. Instead, we now use the macro
2307 TAO_ENCAP_BYTE_ORDER which gets defined in orbconf.h. The files
2308 affected due to this renaming are:
2310 tao/{iioporb.cpp, giop.cpp, except.cpp, cdr.cpp, encode.cpp,
2311 interp.cpp, tc_const.cpp}
2313 The following files in the IDL compiler source were affected since
2314 they had to generate TAO_ENCAP_BYTE_ORDER instead of MY_BYTE_SEX.
2315 TAO_IDL/be/{be_array,be_enum,be_interface,be_sequence,be_structure,
2318 * tao/{typecode,decode}.cpp: some reformatting, indentation.
2320 * TAO_IDL/be/be_interface.cpp: code generated for _bind uses the
2321 newly added constructor to class IIOP_Object.
2323 * TAO_IDL/be/{be_interface.be_state}.cpp: Code generated for
2324 _narrow now takes an additional CORBA::Environment parameter.
2326 * tests/Cubit/TAO/IDL_Cubit: cubit_i.cpp - in the method
2327 make_cubit, we make a copy of the string returned by _get_name and
2328 then free that memory.
2330 clnt.cpp: The tests for unions have been uncommented. The reason
2331 they were not working and resulting in seg fault was that methods
2332 of the cubit interface were being invoked on the factory object.
2334 Tue Nov 11 10:07:04 1997 David L. Levine <levine@cs.wustl.edu>
2336 * tests/Cubit/TAO/DII_Cubit/Makefile: added missing before (VAR)
2339 * tao/orbconf.h: added __i386 to TAO_WORDS_BIGENDIAN check,
2340 because that's what g++/VxWorks uses. Also added __alpha
2341 to little endian CPUs.
2343 * tao/orb_core.i: fixed preprocessor test for using the
2344 ACE_Hash_Addr<ACE_INET_Addr>::hash_i specialization.
2346 Tue Nov 11 04:22:44 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
2348 * TAO version 0.0.28, released Tue Nov 11 04:22:44 1997.
2350 Tue Nov 11 01:16:07 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
2352 * tao/orbobj.cpp (resolve_name_service): Reformatted the
2353 multicast Name Service locator just a bit.
2355 * tao/orbconf.h: Started putting a more sane way of automatically
2356 determining the size of various datatypes into TAO.
2358 Tue Nov 11 00:36:39 1997 Sergio Flores <sergio@macarena.cs.wustl.edu>
2360 * orbsvcs/bin/Logger/ior_multicast.h:
2361 * orbsvcs/bin/Logger/ior_multicast.cpp:
2362 * orbsvcs/bin/Logger/clnt.cpp:
2363 * orbsvcs/bin/Logger/clnt.cpp:
2364 * orbsvcs/bin/Logger/svr.cpp:
2365 * orbsvcs/bin/Logger/Makefile:
2366 Added multicast resolution of the logger service example.
2368 Tue Nov 11 00:36:39 1997 Sergio Flores <sergio@macarena.cs.wustl.edu>
2370 * tao/orbobj.cpp (resolve_name_service): changed macro for default
2372 - Added support for multicast mechanism to resolve the name
2375 * tao/orbconf.h: Added some definitions for TAO's default
2376 multicast and reply port, and the default timeout value.
2378 Tue Nov 11 00:00:25 1997 David L. Levine <levine@cs.wustl.edu>
2380 * tests/Cubit/TAO/IDL_Cubit/Makefile: removed MUNCHED because
2381 it's no longer needed for g++/VxWorks.
2383 Mon Nov 10 22:02:42 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
2385 * tao/interp.cpp (declare_entry): Moved TAO_ALIGNMENT_MAGIC_NUMBER
2386 to orbconf.h instead of burying it in interp.cpp.
2388 * tao/corbacom.h: Rather than trying to guess what the size of
2389 wchar_t, let's just use what's in ACE.
2391 Mon Nov 10 19:26:03 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu>
2393 * tao/orbconf.h (SIZEOF_INT): FreeBSD and NetBSD have 4 byte
2394 ints. Thanks to Nanbor for pointing this out.
2396 * tao/orbobj.cpp: Added template instantiation for ACE_Atomic_Op.
2398 * tao/orbconf.h: NetBSD has a long double of size 12, as does
2399 FreeBSD. Fixed SIZEOF_LONG_DOUBLE to fix this.
2401 * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (main): Removed cerr's
2402 and replaced them with ACE_ERROR_RETURN's and the like.
2404 Mon Nov 10 01:25:19 1997 <nw1@COYOTE>
2406 * tao/giop.h: Added ACE_Svc_Export to classes
2407 (TAO_GIOP_Request_Header, TAO_GIOP_Invocation, TAO_GIOP.) Some
2408 of them may not be necessary.
2410 Mon Nov 10 00:09:24 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
2412 * TAO version 0.0.27, released Mon Nov 10 00:09:24 1997.
2414 Sun Nov 09 23:43:04 1997 <irfan@TWOSTEP>
2416 * tao/corba.h: Reordered the inclusion of poa.i, giop.i,
2417 iioporb.i, and iiopobj.i
2419 * tao/tao_internals.cpp (close_services): Fixed typo.
2421 Sun Nov 09 23:32:58 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
2423 * TAO version 0.0.26, released Sun Nov 09 23:32:58 1997.
2425 Sun Nov 09 22:04:12 1997 <irfan@TWOSTEP>
2427 * tao/orbobj.cpp (ORB_init):
2428 * tao/tao_internals.cpp (close_services):
2430 Changed ACE_Recursive_Thread_Mutex to ACE_SYNCH_RECURSIVE_MUTEX.
2432 Sun Nov 9 16:05:56 1997 Sergio Flores <sergio@macarena.cs.wustl.edu>
2434 * tests/Cubit/TAO/DII_Cubit/clnt.cpp: *
2435 tests/Cubit/TAO/DII_Cubit/clnt.h: Added clnt.h and restructured
2436 the code so it is similar to the IDL_Cubit example. It doesn't,
2437 however, have the same options because the DII example uses an ior
2440 * tao/debug.cpp: Added dummy function to get rid of
2441 "'debug_stream' defined but not used" warning.
2443 Sun Nov 9 13:03:37 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
2445 * tao: Removed the svc.conf.eg file since it was out of date.
2447 * tao/svrrqst: Removed the #include for svrrqst.i since we don't
2448 need any inline functions now.
2450 * tao/tao_internals: Removed the #include for tao_internals.i
2451 since we don't need any inline functions now.
2453 * tao/varout.h: Cleaned up the programming style.
2455 * tao: Continued to replace all fields with names _foo to foo_.
2457 * tao/iioporb.cpp: Move the hex routines into ACE since they are
2460 * tao/iioporb.cpp: Removed the inclusion of iioporb.i since it is
2461 already included in corba.h.
2463 * tao: Replaced all uses of ACE_Thread_Mutex with ACE_SYNCH_MUTEX
2464 since this is portable...
2466 * tao/iiopobj.cpp: Removed the inclusion of iiopobj.i since it is
2467 already included in corba.h.
2469 * tao/giop.cpp: Moved several large inlined methods into the *.cpp
2472 * tao/giop: Removed the enormous (and unused) incoming_message()
2475 * tao/giop.cpp: Removed the inclusion of giop.i since that is
2478 * tao: Removed the factories.i and factories.cpp files since they
2479 don't seem to be used by anything.
2481 * tao/{corbacom,except}.*: Changed SYSEX to the more politically
2482 correct TAO_SYSTEM_EXCEPTION.
2484 * tao: Replaced all uses of wslen() and wscpy() with the
2485 corresponding ACE_OS wide string functions.
2487 * tao/orbconf.h: Removed all the HAVE_WIDEC_H stuff. This should
2490 * tao/connect.i: Removed the template instantiations since they
2491 were commented out and didn't appear to be used.
2493 * tao/connect.cpp: connect.i was already being included in corba.h,
2494 so don't include it again.
2496 * tao/client_factory.cpp: Moved inlined constructor/destructor
2497 from the *.i file into the *.cpp file.
2499 * tao/cdr.cpp (CDR): Moved a bunch of absurdly long inlined methods
2500 from the *.i file into the *.cpp file.
2502 * tao/any.cpp (CORBA_Any): refcount_ has previously been
2503 uninitialized. I gave it a value of 1.
2505 * tao/any.cpp (CORBA_Any): Moved the initialization into the
2506 base/member section, where it belongs.
2508 * tao/any.h: Corrected a spelling mistake in an enumeral and
2509 upper-cased the minor codes for exceptional returns. Are these
2510 actually used anywhere?
2512 * tao: Removed all the unnecessary #if 0 ... #endif header files.
2513 I don't know why there were still there.
2515 * tao/except.h: Moved the #ifdef for minor and major into
2516 orbconf.h, where they belong.
2518 * tao/orbconf.h: Removed all the DECLARED_* macros since they
2519 no longer made sense once we've got ACE.
2521 * tao/orbconf.h: Moved the TAO_DEFAULT* macros from ace/OS.h
2522 here, which is more where they belong.
2524 * tao/default_server.cpp (TAO_Default_Server_Strategy_Factory):
2526 * tao/{debug.h,orbconf.h}: Removed the DECLARED_STRERROR macro
2527 since ACE handles this.
2529 Sun Nov 09 10:18:06 1997 David L. Levine <levine@cs.wustl.edu>
2531 * tao/connect.cpp: fixed RCS keyword (Id instead of id).
2533 Sat Nov 08 23:23:41 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
2535 * TAO version 0.0.25, released Sat Nov 08 23:23:41 1997.
2537 Sat Nov 8 21:27:34 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
2539 * tao/orb_core.cpp (init): Removed the code that always binded us
2540 to our hostname. This is unnecessary and makes it hard to use
2541 other interfaces on the same host (such as localhost or some ATM
2542 interface, etc.). With this change (and the corresponding
2543 changes to ACE_INET_Addr::get_host_name()), we can now bind to
2546 * docs/releasenotes: Added Marina's documentation for the Trader
2547 and cleaned up all the other entries to make them consistent.
2549 * tao: Changed ProfileBody to Profile, TaggedProfile to
2550 Tagged_Profile, ProfileSeq to Profile_Sequence, and ProfileId to
2553 * tao/iiopobj.cpp (ProfileBody): For some god knows why reason,
2554 the CORBA::String and CORBA::UShort parameters to ProfileBody
2555 where being passed as references. This is silly, so I changed
2556 them to non-references.
2558 * tao/connect.cpp (open),
2559 tao/poa.cpp (create): Replaced a use of
2560 ACE_INET_Addr::get_host_name(void) with
2561 ACE_INET_Addr::get_host_name (char *, size_t), which is
2564 * tao/Makefile: Removed the DCFLAGS, OCFLAGS, and the TAO_ORB_CORE
2565 target macros from the Makefile since they were unnecessary.
2566 Thanks to Arturo for reporting this.
2568 * tao/except.cpp (print_exception): Fixed a strange format code in
2569 print_exception that was causing a seg fault. What the heck
2570 does %#lx mean? Thanks to Mark L Boriack <mark@vtcibm4a> for
2573 Fri Nov 07 21:23:35 1997 Carlos O'Ryan <coryan@MILONGA>
2578 Added ACE_Svc_Export to some classes.
2581 Removed delete after DEEP_FREE call, it crashes on NT and it
2584 * TAO_IDL/be/be_state.cpp (gen_code):
2585 When generating arguments for the server header don't use nested
2586 types. The fully qualified type name is needed, even on NT.
2588 * TAO_IDL/be/be_exception.cpp:
2589 Added code to generate a default constructor.
2591 Fri Nov 07 17:26:49 1997 <nw1@CHA-CHA>
2594 * tests/Cubit/TAO/DII_Cubit/{client,server}.dsp:
2595 * tests/Cubit/TAO/IDL_Cubit/{client,server}.dsp:
2596 * tests/Cubit/TAO/MT_Cubit/client/client.dsp: Removed
2597 ACE_HAS_TSS_ORB_CORE flag.
2599 * tests/Cubit/TAO/MT_Cubit/client/client.cpp (main): Added a
2600 return statement to satisfy MSVC.
2602 Fri Nov 7 18:20:46 1997 Chris Cleeland <cleeland@cs.wustl.edu>
2604 * tests/Cubit/TAO/MT_Cubit/{client,server}/svc.conf: Updated to
2605 reflect the proper combination of options to achieve the
2606 thread-per-ORB-per-rate concurrency model.
2608 * docs/components.html: Updated to refer to seminal documentation
2611 * docs/configurations.html: Started some new documentation. It's
2612 got a ways to go right now. :-)
2614 Fri Nov 07 15:42:45 1997 David L. Levine <levine@cs.wustl.edu>
2616 * tao/default_server.cpp (parse_args): check for 0 argv[curarg]
2617 before calling strcmp on it.
2619 * tests/Cubit/TAO/IDL_Cubit/Makefile: added MUNCHED for
2622 Fri Nov 7 10:30:59 1997 Chris Cleeland <cleeland@cs.wustl.edu>
2624 * tao/tao_internals.cpp (fake_service_entries_i): Updated faked
2625 service entries to include new Resource Factory. This is the
2626 fallback for VxWorks.
2628 * tao/orb_core.h (TAO_Resource_Factory): Added much comments.
2630 Fri Nov 07 02:45:56 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
2632 * TAO version 0.0.24, released Fri Nov 07 02:45:56 1997.
2634 Fri Nov 7 01:58:30 1997 Nanbor Wang <nw1@coyote.wolfpack.cs.wustl.edu>
2636 * TAO_IDL/driver/drv_preproc.cpp:
2637 * TAO_IDL/driver/drv_fork.cpp: Added the (__FreeBSD__) flag to
2638 correctly include wait.h file.
2640 * tao/orb_core.cpp: Replaced ACE_NETBSD with ACE_HAS_THREADS in
2641 template instantiation segment.
2643 * tao/orbconf.h: Added the (__FreeBSD__) flag to exclude inclusion of
2646 * tao/orbobj.cpp (Release): Wrapped ACE_GUARD with ACE_MT macro.
2648 Fri Nov 07 01:46:04 1997 <irfan@TWOSTEP>
2650 * tests/Cubit/TAO/DII_Cubit/(cubitC.cpp, cubit.cpp): Byte order
2651 changed from 1 to MY_BYTE_SEX.
2653 Thu Nov 6 23:59:45 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
2655 * tao/params.cpp: Moved all the inlined methods out of the header
2656 file and put them in the *.cpp file. I hope this doesn't cause
2657 problems for GCC on VxWorks.
2659 * tests/Thruput_test/client.cpp: Fixed a mistake with how
2660 the long string constant was defined. The scheme being
2661 used wasn't portable.
2663 Thu Nov 06 20:58:52 1997 <irfan@TWOSTEP>
2665 * tao/connect.cpp: Made sure that TAO_Server_Connection_Handler
2666 and TAO_Client_Connection_Handler have a zero Reactor pointer.
2667 If this is not the case, they will try to deregister from a
2668 sometimes non-existent Reactor.
2670 Thu Nov 6 19:06:59 1997 Sergio Flores <sergio@polka.cs.wustl.edu>
2672 * docs/releasenotes/index.html: Updated status of Naming Service
2675 * TAO_IDL/be/be_exception.cpp (gen_client_header):
2676 removed warning for unused variable.
2678 Thu Nov 6 17:07:58 1997 Chris Cleeland <cleeland@cs.wustl.edu>
2680 * tao/tao_internals.i: Added missing #include file.
2682 * tao/tao_internals.i: Change lock used as monitor for service
2683 count to use ACE_Static_Object_Lock::instance(). This pleases
2684 VxWorks (but makes me nauseous).
2686 * tao/tao_internals.h: Removed static instances of locks to please
2689 * tao/orbobj.cpp (ORB_init): Changed lock used for the monitor
2690 here to be ACE_Static_Object_Lock::instance(). This pleases
2691 VxWorks (but makes me nauseous).
2693 * tao/orb_core.cpp (init): Merged in changes for new Naming
2694 Service-related options that got accidentally overwritten last
2697 * docs/Options.html: Added documentation for new Naming
2698 Service-related options in.
2700 * tao/orbobj.h: Added documentation for a few static methods.
2702 * tao/params.h: Changed LOCAL_INLINE macro to TAO_LOCAL_INLINE to
2703 avoid possible collisions with application macros.
2705 Thu Nov 6 14:51:22 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu>
2707 * TAO_IDL/Makefile: Renamed libutil to libtao_idl_util. libutil is
2708 a system library on NetBSD. Updated TAO_IDL/util/Makefile to be
2709 compatible with this.
2711 * TAO_IDL/be/be_codegen.cpp (server_header): Changed ::toupper to
2712 be toupper, since toupper is a macro on some platforms (like
2715 * TAO_IDL/driver/{drv_preproc.cpp, drv_fork.cpp}: NetBSD has
2716 sys/wait.h, instead of wait.h. Added #define to fix it.
2718 Thu Nov 6 01:40:29 1997 Sumedh Mungee <sumedh@macarena.cs.wustl.edu>
2720 * tao/tao_internals.h: #defined ACE_Thread_Mutex to be
2721 ACE_Null_Mutex for NetBSD.
2723 * tao/orbconf.h: Added NetBSD to the #define around HAVE_WIDEC_H.
2725 * tao/orb_core.cpp: #defined around some thread-specific template
2726 instantiations which are not needed on NetBSD.
2728 * tao/except.h: Undefined "minor" and "major, since these are
2731 Thu Nov 06 14:47:15 1997 David L. Levine <levine@cs.wustl.edu>
2733 * tao/params.[hi]: inlined some functions in the class declaration
2734 because g++ for VxWorks couldn't deal with them in the .i file.
2736 * tao/tao_internals.*,orbobj.cpp: fixed replacement of orbinit_lock_
2737 and service_lock_ with ACE_Static_Object_Lock::instance ().
2739 Thu Nov 06 02:17:02 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
2741 * TAO version 0.0.23, released Thu Nov 06 02:17:02 1997.
2743 Wed Nov 5 23:44:42 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
2745 * tao/{orbobj,iioporb}.h: Made the first parameter to
2746 string_to_object() a const CORBA::String rather than just a
2749 * tao/params (addr): Fixed a bug where we should have been using
2750 const ACE_INET_Addr & rather than just ACE_INET_Addr &.
2752 * tao/orbobj: Began adding the hooks for a multicast-based
2753 implementation of resolve_initial_references().
2755 * tao/params: Added a new set/get interface to optionally set/get
2756 the IOR of the configured Naming Service.
2758 * tao/orb_core.cpp (init): Added a -ORBnameservice command-line
2759 option. If this option is given, it indicates the IOR where the
2760 Naming Service resides.
2762 * tao/params: Changed the signature of TAO_ORB_Parameters::addr()
2763 to return a const ACE_INET_Addr & rather than an ACE_INET_Addr.
2765 * tao/params: Added new get/set name_service_port() methods to
2766 get/set the name service multicast port.
2768 Wed Nov 5 22:38:08 1997 Sergio Flores <sergio@macarena.cs.wustl.edu>
2770 * tests/Thruput_test/client.cpp (main):
2771 * tests/Thruput_test/server.cpp (main): Fixed missing declarations
2772 and unused variables and labels. Fixed uninitialized and unused
2775 * tests/Thruput_test/ttcp_i.cpp (ttcp_sequence_i):
2776 * tests/Thruput_test/ttcp_i.h (class ttcp_sequence_i): Change to
2779 * tests/Cubit/TAO/DII_Cubit/README (server): Changed comment on
2780 how to start the server to indicate the use of "-d" to see the
2783 * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (Cubit_Client): Reordered
2784 member initializers to match declaration order
2786 * tests/Cubit/TAO/DII_Cubit/svr.cpp (main): Fixed comparison of
2787 ">=" on an unsigned variable to compare only ">".
2789 Wed Nov 05 20:35:52 1997 <irfan@TWOSTEP>
2791 * tao/orb_core.cpp (fini): Close down the connector. Other
2792 ORB_Core specific objects also need to be cleaned up (and
2795 * tests: Made sure that the orb pointer returned by ORB::init() is
2796 correctly freed up. Following files were updated:
2798 TAO/tests/Cubit/TAO/DII_Cubit/clnt.cpp
2799 TAO/tests/Cubit/TAO/DII_Cubit/svr.cpp
2800 TAO/tests/Cubit/TAO/IDL_Cubit/clnt.cpp
2801 TAO/tests/Cubit/TAO/IDL_Cubit/clnt.h
2802 TAO/tests/Cubit/TAO/IDL_Cubit/svr.cpp
2803 TAO/tests/Cubit/TAO/MT_Cubit/client/Task_Client.cpp
2804 TAO/tests/Cubit/TAO/MT_Cubit/server/svr.cpp
2805 TAO/tests/Cubit/VisiBroker/base_server/server.cpp
2807 Wed Nov 5 19:37:25 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
2811 files be_array.cpp, be_interface.cpp, be_sequence.cpp,
2812 be_structure.cpp, be_union.cpp, be_enum.cpp - Added MY_BYTE_SEX to
2813 the typecode generation methods.
2815 be_operation.cpp, be_argument.cpp, be_state.cpp, be_codegen.* -
2816 Modified to deal with _out parameters that are passed to the
2817 actual upcalls in the server-side skeleton.
2819 Some minor changes involving removing commented-out code in the
2820 constructors of some classes.
2822 * tests/Thruput_test: Some modifications. Still needs more work
2825 Wed Nov 05 19:26:44 1997 <nw1@COYOTE>
2827 * tests/Cubit/TAO/DII_Cubit/DII_Cubit.dsp:
2828 * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit.dsp:
2829 * tests/Cubit/TAO/MT_Cubit/client/client.dsp:
2830 * tests/Cubit/TAO/MT_Cubit/server/server.dsp:
2831 * tao/TAO.dsp: Renamed debeg version of TAO library to TAO.dll for
2834 Wed Nov 05 13:39:19 1997 David L. Levine <levine@cs.wustl.edu>
2836 * TAO_IDL/Makefile: more hacks to not build the IDL compiler
2839 Wed Nov 05 12:53:53 1997 <irfan@TWOSTEP>
2843 - Win32 does not use "fixed" byte alignment. Fixed the
2844 setup_entry macro to take this into account.
2846 - (declare_entry) Seperated the declaration of the structs from
2847 their use. This is necessary for the VC++4.2 compiler.
2849 * tests/Cubit/TAO/DII_Cubit/svr.cpp (main): Commented out debug
2850 message, since obj is not declared.
2852 Wed Nov 05 01:41:34 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
2854 * TAO version 0.0.22, released Wed Nov 05 01:41:34 1997.
2856 Wed Nov 5 00:48:58 1997 Sergio Flores <sergio@macarena.cs.wustl.edu>
2858 * tests/Thruput_test/utils.cpp: Delete static definitions of
2861 * tests/Thruput_test/ttcpS.cpp:
2862 * tests/Thruput_test/ttcpC.cpp (_duplicate):
2863 * tests/Thruput_test/client.cpp (main):
2864 * tests/Thruput_test/ttcp_i.cpp (sendStructSeq):
2865 * tests/Cubit/TAO/DII_Cubit/clnt.cpp:
2866 * tests/Cubit/TAO/DII_Cubit/svr.cpp: Removed a couple of warnings
2867 of unused and uninitialized variables. Included "ace/ACE.h" to
2868 be able to have the _REENTRANT flag.
2870 Wed Nov 5 00:18:17 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
2872 * TAO_IDL/be/be_sequence.cpp: Added code to generate the missing
2873 operator [] for sequences.
2875 Tue Nov 4 23:38:54 1997 Sumedh Mungee <sumedh@macarena.cs.wustl.edu>
2877 * tests/Cubit/TAO/MT_Cubit/{server,client}/Makefile: Removed the
2878 (evil) TAO_HAS_TSS_ORB_CORE flag. Now this functionality is
2879 provided by svc.conf.
2881 * tests/Cubit/TAO/MT_Cubit/: Fixed the server code to use the new
2882 IDL compiler generated code.
2884 * TAO/tests/Cubit/TAO/MT_Cubit/client/Task_Client.cpp: Changed the
2885 order of the initializers to remove g++ warnings, and added some
2886 ACE_UNUSED_ARGs. Also removed the hand-crafted stubs, to make way
2887 for the idl-compiler generated files.
2889 Tue Nov 4 23:21:29 1997 Sergio Flores <sergio@macarena.cs.wustl.edu>
2891 * tests/Cubit/TAO/DII_Cubit/clnt.cpp (main):
2892 * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (run): Changed the format of the
2893 output to be more readable. Also, fixed resolution of the time for
2894 the cube_struct_dii() call.
2896 Tue Nov 4 21:12:48 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
2898 * tao/except.h: Removed print_exception(). It seems unnecessary
2899 and pollutes the global namespace.
2901 Tue Nov 4 16:58:12 1997 Chris Cleeland <cleeland@cs.wustl.edu>
2903 * {tests/Cubit/TAO/DII_Cubit,tests/Cubit/TAO/IDL_Cubit,
2904 tests/Cubit/TAO/MT_Cubit,tests/Demux_Test,
2905 tests/Thruput_test}/Makefile: Added an explicit definition for
2906 VBIN so that VxWorks can build properly.
2908 * tao/orb_core.*: Modified TAO_Resource_Factory so that it divides
2909 the information that it tracks between pre-allocated resources and
2910 resources which are allocated by the application. Specifically,
2911 the orb and root poa pointers are in here (though it's possible
2912 that when we move to a full POA implementation that the root poa
2913 can be pre-allocated as well). These pointers are initialized to
2914 zero and are given values by the TAO_ORB_Core instance writing
2915 through back to the TAO_Resource_Factory instance.
2917 Also, this implementation reduced the number of singletons/TSS
2918 singletons utilized by the resource factory. The initial
2919 "get-it-working" cut used a singleton/tss singleton pair for every
2920 resource, which was quite wasteful in environments such as NT that
2921 don't have many TSS slots available. Perhaps if we get even more
2922 clever this can be reduced even further.
2924 * tao/except.*: Added print_exception() function for backwards
2925 compatibility. It simply calls
2926 CORBA::Environment::print_exception().
2928 Tue Nov 04 10:45:07 1997 <nw1@CHA-CHA>
2930 * TAO_IDL/fe/y.tab.cpp: Enclosed a #pragma ident with #if !defined
2931 ACE_WIN32. Compilers other than SunCC might also need this.
2933 Tue Nov 4 13:47:26 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
2935 * TAO/tests/Cubit/TAO/MT_Cubit: Modified the Makefiles in the
2936 client and server directory so that they use the TAO IDL
2937 compiler. Also added the clean and realclean targets. Updated the
2938 server side cubit.idl because it was different from what the
2941 * TAO_IDL compiler: Fixed the following problems
2943 (1) Removed the extra call to Release in the generated _narrow
2944 method in be_interface.cpp
2946 (2) Used ACE_CORBA_1 (Object) instead of CORBA::Object in the
2947 class declaration for interfaces - in be_interface.cpp
2949 (3) be_interface_fwd.cpp - var_impl had to be updated to generate
2950 code that uses the ptr () method in the calls to _duplicate
2952 * TAO/tests/Cubit/TAO/IDL_Cubit: Fixed some outstanding issues and
2953 made sure that it works. Updated the README file.
2955 Tue Nov 04 09:48:51 1997 David L. Levine <levine@cs.wustl.edu>
2957 * tao/orb_core.i: disabled the ACE_Hash_Addr<ACE_INET_Addr>::hash_i ()
2958 template specialization on g++/VxWorks because g++
2959 cygnus-2.7.2-960126 can't handle it.
2961 * tao/except.h (line 118): removed backslash at end of comment line.
2962 Some compilers complain about that.
2964 * tao/except.cpp (CORBA_SystemException): reordered initializers to
2965 match declaration order.
2967 * TAO_IDL/Makefile: don't build the IDL compiler on VxWorks.
2969 Tue Nov 04 06:26:14 1997 Carlos O'Ryan <coryan@MILONGA>
2971 * TAO_IDL/be/be_state.cpp:
2972 It still generated fully qualified names for some sequences,
2973 that will not work on NT.
2975 Tue Nov 04 05:32:44 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
2977 * TAO version 0.0.21, released Tue Nov 04 05:32:44 1997.
2979 Tue Nov 4 04:42:17 1997 Sergio Flores <sergio@macarena.cs.wustl.edu>
2981 * tests/Thruput_test/server.cpp:
2982 * tests/Thruput_test/client.cpp:
2983 * tests/Thruput_test/ttcpS.cpp:
2984 Fixed "print_exception" errors and errors due to some changes in
2987 * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (svc): Use unsigned
2988 int for variable that is used for positive comparisons only.
2990 Tue Nov 04 01:00:51 1997 <nw1@COYOTE>
2992 * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit.dsw: Renamed former test.dsw
2995 * tests/Cubit/TAO/IDL_Cubit/{client,server}.dsp: Renamed
2996 executables for debug version to client.exe and server.exe on
2999 * tests/Cubit/TAO/DII_Cubit/DII_Cubit.dsw: Renamed former test.dsw
3002 * tests/Cubit/TAO/DII_Cubit/{client,server}.dsp: Renamed
3003 executables for debug version to client.exe and server.exe on
3006 * tests/Cubit/TAO/IDL_Cubit/Cubit.mak: Added cubit.idl into
3007 makefile and its custom build settings.
3009 * tests/Cubit/TAO/MT_Cubit/MT_Cubit.dsw: Renamed former
3010 MTCubit.dsw to MT_Cubit.dsw.
3012 Mon Nov 03 23:16:06 1997 <nw1@COYOTE>
3014 * TAO_IDL/ast/ast_expression.cpp (coerce_value): Added an explicit
3015 cast (float) to avoid NT warnging messages.
3017 * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (svc): Removed
3018 declaration of function print_exception. It's now a member
3019 function of CORBA_Environment.
3021 * TAO_IDL/fe/y.tab.cpp: Commented out include <values.h>. This
3022 was causing compilation errors on NT.
3024 * tests/Cubit/TAO/DII_Cubit/svr.cpp:
3025 * tests/Cubit/TAO/DII_Cubit/clnt.cpp: Changed to use the new
3026 CORBA_Environment::print_exception.
3028 * tao/except.h (CORBA_Environment): Added ACE_Svc_Export to this
3031 * tests/Cubit/TAO/MT_Cubit/MTCubit.dsw:
3032 * tests/Cubit/TAO/MT_Cubit/client/client.dsp:
3033 * tests/Cubit/TAO/MT_Cubit/server/server.dsp:
3034 * tests/Cubit/TAO/IDL_Cubit/client.dsp:
3035 * tests/Cubit/TAO/IDL_Cubit/server.dsp:
3036 * tests/Cubit/TAO/IDL_Cubit/test.dsw: Added new workspace and
3039 * TAO_IDL/tao_idl.dsp: Moved the output executables to the usual
3042 * TAO_IDL/be/be.h: Added #ifdef'ed pragma to diable warning 4250
3043 on NT. This is only temporary and should be fixed later.
3045 * TAO_IDL/be/be_union.cpp (gen_var_defn):
3046 * TAO_IDL/be/be_structure.cpp (gen_var_defn):
3047 * TAO_IDL/be/be_array.cpp (gen_var_defn): Removed unused local
3048 variables declaration (s).
3050 Mon Nov 3 23:25:30 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
3052 * TAO_IDL Compiler: Files be_sequence.cpp, be_typedef.cpp,
3053 be_state.cpp: Lots of improvements to get sequences to
3054 work. Support for sequences of strings or obj references is
3055 limited. But for all other cases, this seems to be working fine.
3057 There were some unnecessary lines of code in be_state.cpp that
3058 were giving rise to multiple declarations errors. These are
3061 Mon Nov 3 18:30:09 1997 Sergio Flores <sergio@macarena.cs.wustl.edu>
3063 * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (main): compare with
3064 "!= 0" rather than "== -1" for errors.
3066 * tests/Cubit/TAO/IDL_Cubit/cubit.idl (enum discrim): Deleted
3067 enumerations not used.
3069 * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (please_exit): Fixed
3072 * tests/Cubit/TAO/IDL_Cubit/cubit_i.h (Cubit_Factory_i):
3073 * tests/Cubit/TAO/IDL_Cubit/cubit_i.h (objrefs): Fixed invalid
3074 comparison between a signed and unsigned variable.
3076 * tests/Cubit/TAO/IDL_Cubit/svr.cpp (main): Fixed comparison of
3077 ">=" on an unsigned variable to compare only ">".
3079 * TAO_IDL/be/be_typedef.cpp (gen_client_stubs): Removed unused
3082 * TAO_IDL/fe/y.tab.cpp (yytoks): Added brackets to the array
3083 of structures being initialized.
3085 Mon Nov 03 18:43:37 1997 Carlos O'Ryan <coryan@MILONGA>
3087 * TAO_IDL/be/be_operation.cpp:
3088 "Fixed" skeleton generation code. Sometimes the formal parameter
3089 names for the skeleton can clash with the user defined names for
3090 the (IDL) method parameter names.
3091 To minimize the chances of such a problem I choose very long
3092 parameter names for the skeleton (things like <_tao_enviroment>
3093 instead of just <env>), but the right solution is to ignore the
3094 user defined parameter names and generate them using some
3097 * TAO_IDL/be/be_predefined_type.cpp:
3098 Generate CORBA::_tc_Object as the TypeCode for all pseudo
3099 object, this is a hack but works for the files we are using
3100 right now (maybe it will fail for complex things, like the
3101 interface repository).
3103 * TAO_IDL/be/be_sequence.cpp:
3104 Fixed a number of minor problems:
3105 Missing _ptr type for sequences.
3106 The return type for T_var::operator-> was different in the
3109 * TAO_IDL/be/be_type.cpp:
3110 tc_name_ and type_name_ were not initialized, producing some
3113 Mon Nov 3 13:45:54 1997 Chris Cleeland <cleeland@cs.wustl.edu>
3115 * {tao,TAO_IDL/util,TAO_IDL/narrow,TAO_IDL/fe,TAO_IDL/driver,
3116 TAO_IDL/be,TAO_IDL/ast,Benchmark/benchmark}/Makefile (SHLIB):
3117 Fixed definition so that the extension was(SOEXT) rather than
3118 hard-coded to "so". This makes things compile on VxWorks better.
3119 Thanks to David Levine for pointing this out.
3121 Sun Nov 02 19:42:08 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
3123 * TAO version 0.0.20, released Sun Nov 02 19:42:08 1997.
3125 Sun Nov 2 19:20:57 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
3127 * TAO/tao/except.*: Made the "print_exception" utility function
3128 as a method of class Environment.
3130 * TAO/tao/giop.cpp: In the TAO_GIOP_Invocation::start method, we
3131 were previously not returning even if the connection establishment
3132 phase was failing. A return statement is inserted. However, there
3133 still are problems when the GIOP_Invocation variable called "call"
3136 * TAO_IDL Compiler: be_interface.cpp - The _bind call now
3137 generates a "char IOR" instead of "static char IOR" since the
3138 latter will be problematic with multiple threads. Thanks to
3139 Arturo Montes <mitosys@colomsat.net.co> for pointing that out.
3141 * TAO/test/Cubit/TAO/IDL_Cubit : Improved the code so that it uses
3142 the "print_exception" which is now defined on class
3143 CORBA::Environment. The clnt still needs improvement in terms of
3144 handling invalid parameters and gracefully exiting.
3146 * IDL_Compiler: The bug resulting out of encoding object
3147 references has been fixed atleast on Solaris using g++ as well as
3148 SunCC. Changes made to be_operation.cpp and be_state.cpp such that
3149 the return value for object references is always of type
3150 CORBA::Object_ptr rather than the real interface type. In
3151 addition, keeping in perspective the change that Irfan made and
3152 described below (in encode.cpp), the Any that holds the result
3153 *does not* own the value. In contrast, for the rest of the cases
3154 the result (of type Any) owns the result.
3156 * be_sequence.cpp: Additional work in progress. Full changelog
3157 entry will be available in the next commit.
3159 Fri Oct 31 22:20:06 1997 <irfan@TWOSTEP>
3161 * tao/encode.cpp (encode): Changed cast of data from
3162 *(CORBA::Object_ptr *) to (CORBA::Object_ptr).
3164 * tao/default_server.cpp (parse_args): Manipulation of curarg was
3165 all messed up. Fixed it such that it was not incremented
3168 Fri Oct 31 13:46:04 1997 Chris Cleeland <cleeland@cs.wustl.edu>
3170 * docs/Options.html: Updated to specify new TAO_Resource_Factory
3171 service and its options.
3173 * docs/releasenotes/orbcore.html: Updated to reflect recent work.
3175 * tao/orb_core.*: Added the acceptor and related members and
3176 methods from CORBA_ORB. Made TAO_Resource_Factory a Service
3177 Object so that it can be loaded via the Service Configurator. The
3178 option to change its resources between global and thread-specific
3179 is "-ORBresources global" and "-ORBresources tss", respectively.
3181 * tao/orbobj.*: Moved the acceptor and related members and methods
3184 * tests/.../svc.conf: Added Resource Factory as a service.
3186 * tests/Cubit/TAO/{DII_Cubit,MT_Cubit}/cubitS.cpp,
3187 tests/Thruput_test/ttcpS.cpp, tao/poa.cpp: Changed acceses that
3188 used to go to CORBA_ORB::params() to go to TAO_ORB_Core::params().
3190 Fri Oct 31 08:39:54 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
3192 * TAO_IDL Compiler - Intermediate commit of all improved features.
3194 * be/be_type.* : Improved the nested_type_name method such that it
3195 now takes an additional parameter called suffix that has a default
3196 value of NULL. Carlos, Sergio, and myself independently found an
3197 extremely bad piece of code that was getting generated that looked
3199 ACE_NESTED_CLASS (XXXX, YYYY)_ptr
3201 The new convention is to pass the suffix such as "_ptr", or "_var"
3202 or "_out" to this method so that it can generate valid code of the
3204 ACE_NESTED_CLASS (XXXX, YYYY_ptr)
3206 * be/be_decl.cpp : All the methods such as repoID (), flatname
3207 (), etc now check if the corresponding data member was created or
3208 not. If they are not, the corresponding private method e.g.,
3209 compute_repoID (), are invoked. This way we do not have to call
3210 all these private methods in the constructors of all the derived
3211 be classes. The one compelling reason to do it this way is because
3212 the "names" for certain types are not available at construction
3213 time, e.g., sequences. A name to a sequence is assigned from the
3214 context it is in i.e., whether it was a named sequence in the form
3215 of a "typedef" statement or it was an anonymous sequence.
3217 As of this commit, all calls to such compute_* methods in the
3218 constructors of all the derived be classes are commented out and
3219 will eventually disappear in the next commit.
3221 * be/be_decl.cpp : One more change in be_decl.cpp is to add the
3222 case for "interface_fwd" in the generation of the _var and _out
3223 definitions and implementations.
3225 * be/be_helper.* : Added two new methods called "gen_ifdef_macro"
3226 and "gen_endif". These are required to generate the #if !defined
3227 (...) <code> #endif macros. These are very essential if the IDL
3228 has forward declarations of interfaces. Forward declarations of
3229 interfaces must generate a forward class declaration. In addition,
3230 it has to typedef the "_ptr" type and define the "_var" and "_out"
3231 types. However, the real "be_interface" class does this too which
3232 can result in "multiple declarations" errors from the C++
3233 compiler. Hence we use this scheme. As in the case of the
3234 nested_type_name method mentioned above, this method also takes a
3235 default "suffix" parameter (= 0). This is required for the "_var",
3236 "_ptr", and "_out" suffixes.
3238 * be/be_interface.cpp
3239 be/be_interface_fwd.cpp:
3241 Used the TAO_OutStream::gen_ifdef_macro () and gen_endif methods
3242 for the definitions of the _ptr, _var, and _out classes and their
3245 *be/be_sequence.* : Lot of modifications and change in the design
3246 in terms of handling the base types that themselves could be
3247 sequences. Although the AST_Sequence i.e., OMG IDL does not define
3248 a "sequence" to be a scope producing construct like structs or
3249 unions, we choose to make "be_sequence" to be a scope producing
3250 construct. This is no way alters the OMG IDL language because the
3251 front-end is still the same. "be_sequence" was made to inherit
3252 from scope because the sequence mapping gives rise to a C++ class
3253 which is a scoping construct. This way, base types that turn out
3254 to be anonymous sequences can be assigned a parent scope and their
3255 name generation will fall in line with other classes.
3257 There are certain features missing with sequences at this commit
3258 time, but this should reduce tweaking the generated code to a
3261 * be/be_state.cpp: Update the code for handling sequences and
3262 typedefs. Typedefs should be handled properly now.
3264 * All other *.cpp files: Either commented out the compute_* calls
3265 in the constructors or removed them.
3267 Fri Oct 31 03:00:09 1997 Chris Cleeland <cleeland@cs.wustl.edu>
3269 * tao/orb_core.cpp: Moved call to connector's open() into init(),
3270 thus insuring that it gets called only AFTER all the resources are
3271 available from the Resource Factory.
3273 * tao/orb_core.*: Changed data members to be associations rather
3274 than containment. This allows decoupling of the
3275 "thread-specificness" of these resources from the
3276 thread-specificness of the general TAO_ORB_Core container. Also
3277 added set accessors for those resources.
3279 Added TAO_Resource_Factory class from which the TAO_ORB_Core
3280 container initializes itself. For now this remains a singleton
3281 which is, at compile-time, determined to be either TSS or not.
3282 But, soon, it will be loaded via the Service Configurator and its
3283 TSS nature determined at runtime.
3285 * tao/giop.h: Updated to use the new ACE macro
3286 ACE_CLASS_IS_NAMESPACE.
3288 * tao/default_server.*: Implemented the new open() method so that
3289 it initializes the Reactive and Threaded strategies from the
3290 information in TAO_ORB_Core.
3292 * tao/server_factory.*: Added open() method to be called after all
3293 ORB resources are loaded up. This method can then be used by a
3294 strategy factory to further initialize its contained strategies if
3295 they require handles to resources to which the ORB might legislate
3296 access. The default implementation does nothing.
3298 Fri Oct 31 01:03:05 1997 <irfan@TWOSTEP>
3300 * tests/Cubit/TAO/IDL_Cubit/svr.cpp (main): obj was not declared.
3301 Commented out use of obj in dmsg1.
3303 * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (Cubit_Factory_i):
3304 numobjs_ was used before it was assigned.
3306 * TAO/TAO_IDL/TAO_IDL.{mak,mdp}: Added VC++4.2 make files.
3308 * TAO_IDL/ast/ast_expression.cpp (dump): Streaming the enum was
3309 ambiguous. Therefore the enum was cast to an int.
3311 Thu Oct 30 22:50:44 1997 Carlos O'Ryan <coryan@MILONGA>
3314 Added a definition for ACE_NESTED_CLASS, maybe it is defined in
3315 some place else, but I couldn't find it.
3317 * TAO_IDL/be/be_interface.cpp:
3318 Fixed the definition for skeleton destructors.
3320 * TAO_IDL/be/be_helper.cpp:
3321 Added a lot of redundant ACE_OS::fflush() calls. Apparently we
3322 have two FILE* or file descriptors over the same file, bt the
3323 fflush hides the problem.
3325 * TAO_IDL/be/be_decl.cpp:
3326 Fixed inconsistency between operator-> declaration and
3327 definition for _out classes.
3329 Thu Oct 30 14:06:54 1997 Sergio Flores <sergio@polka.cs.wustl.edu>
3331 * TAO_IDL/fe/Makefile:
3332 Added an expression to the sed command in the rule to construct
3333 lex.yy.cpp, that replaces ECHO with TAO_ECHO, because a
3334 different ECHO macro is already defined in
3335 /usr/include/sys/termios.h
3337 * TAO_IDL/fe/idl.ll:
3338 Fixed some warnings about nested comments.
3339 Changed the declaration of variable i to outside of
3340 the 'for' initialization to avoid obsolete binding warnings.
3342 * TAO_IDL/be/be_interface_fwd.cpp (gen_client_header):
3343 Added ACE_UNUSED_ARG macro to avoid unused variable warning,
3346 * TAO_IDL/be/be_constant.cpp (exprtype_to_string):
3347 * TAO_IDL/util/utl_error.cpp (exprtype_to_string):
3348 Added case statements to handle the rest of un-handled
3349 enumerations from AST_Expression::ExprType. These will
3350 handle a default value (i.e. NULL). Enumerations added are:
3351 AST_Expression::EV_wstring
3352 AST_Expression::EV_wchar
3353 AST_Expression::EV_longdouble
3354 AST_Expression::EV_ulonglong
3355 AST_Expression::EV_longlong
3357 Thu Oct 30 09:56:41 1997 Chris Cleeland <cleeland@cs.wustl.edu>
3359 * tao/giop.h: Added comments to TAO_GIOP class explicitly pointing
3360 out its use as a namespace. Concurrently, I also scoped the CTOR,
3361 Copy CTOR, and DTOR as 'private' so nobody can mistakenly
3362 instantiate one of these puppies.
3364 Thu Oct 30 03:40:26 1997 <nw1@COYOTE>
3366 * tests/Cubit/TAO/DII_Cubit/client.dsp:
3367 * tests/Cubit/TAO/DII_Cubit/server.dsp: Updated include files
3368 path and libarary path.
3370 * tao/giop.cpp (close_connection): Use ACE_HANDLE instead of int.
3372 Thu Oct 30 02:53:20 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
3374 * TAO version 0.0.19, released Thu Oct 30 02:53:20 1997.
3376 Thu Oct 30 02:20:21 1997 Sergio Flores <sergio@polka.cs.wustl.edu>
3379 Added more comments and changed the header to be ACE'ified.
3380 Make output more consistent.
3382 Thu Oct 30 02:12:27 1997 Sumedh Mungee <sumedh@macarena.cs.wustl.edu>
3384 * tests/{TAO, Cubit}: Changed the directory heirarchy to the
3385 following: tests/Cubit/TAO/ now contains all the Cubit examples,
3386 i.e. IDL_Cubit, MT_Cubit and DII_Cubit, instead of tests/. Updated
3387 the README and Makefiles to reflect this. DII_Cubit is the
3388 handcrafted "original" Cubit example.
3390 * tests/Cubit/COOL: Added the COOL version of the Cubit test. The
3391 COOL version is written for Chorus COOL version 4.1.
3393 Wed Oct 29 22:26:10 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
3395 * tests/IDL_Cubit/clnt.cpp (init): Fixed the error handling so we
3396 exit correctly when things go wrong.
3398 * tao/connect.cpp (open): Revised the code to use the new
3399 ACE_LACKS_SOCKET_BUFSIZ to detect when this feature isn't
3402 * tao/{giop,connect}: Added a nifty typedef called TAO_SVC_HANDLER
3403 to remove the drudgery of expanding the template each time.
3405 * tao: Changed the name of TAO_OA_Connection_Handler to
3406 TAO_Server_Connection_Handler to be compliant with the
3407 TAO_Client_Connection_Handler.
3409 Wed Oct 29 20:47:47 1997 Sergio Flores <sergio@polka.cs.wustl.edu>
3411 * tests/IDL_Cubit/clnt.cpp:
3412 * tests/IDL_Cubit/clnt.h:
3413 Cleaned up the code. Added ACE_Profile_Timer to time the calls.
3414 Changed copyright header. Added more comments.
3416 Wed Oct 29 18:55:57 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
3418 * tao/giop: Added "_"'s to the data members in
3419 TAO_GIOP_Invocation.
3421 * tao/giop (send_request): Swaped the order of the parameters for
3422 send_request() so that it would be consistent with recv_request.
3424 * tao/{connect,giop}: Changed read_message() to recv_request(),
3425 and send_message() to send_request() since these things really
3426 work on GIOP requests.
3428 * tao/{connect,giop}: Changed read_message() to recv_message(),
3429 which is more like other parts of ACE.
3431 * tao/connect.cpp: Fixed the calls to read_message() and
3432 send_message() so that they don't try to modify "this."
3434 * tao/giop: Changed the send_message() and read_message() in the
3435 TAO_GIOP class to take ACE_Svc_Handler<ACE_SOCK_STREAM,
3436 ACE_NULL_SYNCH> rather than TAO_Client_Connection_Handler.
3438 Wed Oct 29 17:53:12 1997 <irfan@CHA-CHA>
3440 * tao: Added TAO_HAS_TSS_ORB_CORE to tao and Cubit NT makefiles.
3441 This probably needs to be added to the other NT makefiles.
3443 * tests/Cubit/TAO/svc.conf: Updated files to pass the correct
3444 options to the factory.
3446 Wed Oct 29 16:07:20 1997 Chris Cleeland <cleeland@cs.wustl.edu>
3448 * tao/giop.*: Changed most methods that took ACE_SOCK_Stream&
3449 parameters to take TAO_Client_Connection_Handler*& parameters.
3450 This makes it easier to clean up properly after errors. Also
3451 #ifdef'd out seemingly unused code (TAO_GIOP::incoming_message).
3452 Fixed call to ACE_Svc_Handler::idle() to not contain an argument.
3454 * docs/Options.html: Updated the documentation to reflect recent
3457 Wed Oct 29 15:59:30 1997 Sergio Flores <sergio@polka.cs.wustl.edu>
3459 * tests/IDL_Cubit/clnt.cpp: OO'ified the code. Added class
3461 * tests/IDL_Cubit/clnt.h: added this file to contain the class
3464 Wed Oct 29 11:01:11 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
3466 * TAO_IDL compiler: be_type.cpp::nested_type_name: A quick commit
3467 made that includes an improvement over the previous scheme of
3468 generating ACE_NESTED_CLASS macros. We handle the problem of
3469 generating fully scoped names for types that were defined in some
3470 ancestor of the scope in which that type is being used.
3472 * Makefiles under TAO_IDL: Fixed a bug in the Makefiles under all
3473 the subdirectories. This bug was reported by "ARTURO MONTES"
3474 <mitosys@colomsat.net.co>. The bug was causing circular
3475 dependencies on the libraru that was getting compiled.
3477 Wed Oct 29 06:17:36 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
3479 * tao/default_server.cpp (parse_args): Must increase the loop
3482 Wed Oct 29 02:11:43 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
3484 * TAO version 0.0.18, released Wed Oct 29 02:11:43 1997.
3486 Wed Oct 29 00:56:26 1997 Chris Cleeland <cleeland@cs.wustl.edu>
3488 * tests/Cubit/TAO/svc.conf: Updated documentation comments to
3489 reflect factory option changes.
3491 * tao/orbobj.*: Wiped argvec_shift and all its bugs off the face
3492 of the earth. Manojkumar Acharya <cvsf325.gpt.co.uk> should prove
3493 to be very happy about this turn of events. :-)
3495 * tao/orbobj.cpp: Weeded out old, dead code here and there and
3496 migrated much of what had been in ORB_init() into
3497 TAO_ORB_Core::init().
3499 * tao/orb_core.*: Added methods init() and fini() which perform
3500 ORB Core-related initializations and cleanups, respectively. This
3501 is all in anticipation of having a Unified Factory which provides
3502 ORB Core as well as other information. Also began stubbing out
3503 and migrating various data members and associated accessors so
3504 that they are pointers rather than actual members. The next step
3505 is to actually make them pointers and have everything get
3506 initialized properly and deterministically and keep everything
3509 * tao/{giop,orb_core}.cpp: Revised code due to recent changes in
3510 ACE related to the Caching connector.
3512 * tao/default_server.{h,cpp} (parse_args): This method now uses
3513 options of the style -ORBfoo rather than the previously-cryptic
3514 single-letter options. This should allow us to eventually allow
3515 this same routine to parse args from the command line as well as
3516 inside the svc.conf file. The price we pay for consistency,
3517 however, is verbosity to the point of insanity (e.g.,
3518 -ORBconcurrency...blech!) These options are briefly documented in
3519 the method header as well as in subsequent svc.conf files.
3521 * tao/decode.cpp: Added some comments for arguments.
3523 * tao/connect.{h,cpp}: Moved Connector-related typedefs and
3524 corresponding template instantiations into the proper
3527 * tao/orb_core.cpp (init): Moved much of what used to be
3528 ORB_init() into here. Changed the manner in which objref style
3529 was determined--it's no longer via a special ORB name but rather
3530 by the -ORBobjrefstyle option which can have either the value
3531 "IOR" or "URL" (default is URL).
3533 Tue Oct 28 21:15:36 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
3535 * build/SunOS5.5/TAO/tests/IDL_Cubit/clnt.cpp (main): Fixed the
3536 code so that if you give incorrect parameters the program exits
3537 cleanly, rather than segfaulting.
3539 Tue Oct 28 20:49:28 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
3541 * tao/giop.cpp (start): NT Access Violation error, AGAIN! Added
3542 codes to reset this->handler_ so that
3543 ACE_Cached_Connect_Strategy won't complain.
3545 Tue Oct 28 19:19:05 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
3547 * TAO_IDL/be/{be_state.cpp, be_union.cpp, be_struct.cpp}: Added code
3548 that will generate the ACE_NESTED_CLASS macro
3550 *TAO_IDL/be/be_type.cpp: Implemented be_type::nexted_type_name
3551 that will generate the ACE_NESTED_CLASS macro. However, this may
3552 not be completely correct at this point because we want to see if
3553 teh compiler fails for types defined in some ancestor and whose
3554 fully scoped names are generated .
3556 * TAO_IDL/be/be_interface.cpp: Added code that will generate the
3557 _bind call on the interface class.
3559 * TAO/tests/IDL_Cubit: Added the _bind call in clnt.cpp. Improved
3562 *MAXNAMELEN : There was a clash with TAO_CodeGen::MAXNAMELEN. So
3563 it has been substituted by NAMEBUFSIZE as a macro in be_codegen.h
3565 Mon Oct 27 22:22:22 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
3567 * TAO_IDL/be_decl.cpp: Added a ptr () function to the _var classes
3568 hat returns the underlying ptr_ data member. This ptr () member
3569 function is now used to pass a pointer type to constructor and
3570 assignment operator from a T_var class.
3572 * TAO_IDL/be_state.cpp: Important changes related to generation of
3573 return values of operations in the stubs. In addition, an & was
3574 missing for passing string types. Some additional bugs arising out
3575 of operations with void return type have been fixed.
3577 * ./tests/IDL_Cubit: This test has been modified to include a
3578 factory interface that reads a key for the cubit object and
3579 produces an obj reference for Cubit. In addition, a preliminary
3580 version of the _bind call has been tested with IDL_Cubit.
3582 *MAXNAMELEN : Carlos informed me that MAXNAMELEN was a small
3583 constant on some platforms. This has been changed to
3584 TAO_CodeGen::MAXNAMELEN with a value of 100.
3586 Mon Oct 27 22:07:58 1997 Carlos O'Ryan <coryan@MILONGA>
3588 * TAO_IDL/be/be_array.cpp:
3589 * TAO_IDL/be/be_helper.cpp:
3590 * TAO_IDL/be/be_sequence.cpp:
3591 * TAO_IDL/be/be_structure.cpp:
3592 * TAO_IDL/be/be_typedef.cpp:
3593 * TAO_IDL/be/be_union.cpp:
3594 Set this->cli_stub_gen_ to I_TRUE once the code has been
3597 Mon Oct 27 19:34:08 1997 Carlos O'Ryan <coryan@MILONGA>
3599 * TAO_IDL/be/be_exception.cpp:
3600 * TAO_IDL/be/be_enum.cpp:
3601 Set this->cli_stub_gen_ to I_TRUE at the end.
3603 * TAO_IDL/be/be_typedef.cpp:
3604 Set the state to TAO_CodeGen::TAO_TYPEDEF_CH instead of just
3607 Mon Oct 27 15:22:24 1997 Sergio Flores <sergio@polka.cs.wustl.edu>
3609 * TAO_IDL/be/be_state.cpp:
3610 * TAO_IDL/be_include/be_codegen.h:
3611 * TAO_IDL/be_include/be_factory.h:
3612 * TAO_IDL/be_include/be_state.h:
3618 The ACE_Singleton lock type needs to be changed from
3619 ACE_SYNCH_MUTEX (or ACE_SYNCH_RW_MUTEX) ACE_SYNCH_RECURSIVE_MUTEX.
3620 ACE handles those more efficiently for its singletons. Change
3621 suggested by David Levine.
3623 Mon Oct 27 11:59:51 1997 Chris Cleeland <cleeland@cs.wustl.edu>
3625 * tao/orbconf.h: Made it so _FAR is defined all the time. Thanks
3626 to Manojkumar Acharya <cvsf325.gpt.co.uk> for reporting this.
3628 Sun Oct 26 22:18:01 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
3630 * TAO version 0.0.17, released Sun Oct 26 22:18:01 1997.
3632 Sun Oct 26 17:53:25 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
3634 * {tao,tests}/Makefile: Commented out the TAO_HAS_TSS_ORBCORE in
3635 these Makefiles since it is going away anyhow and is confusing...
3637 * tests/IDL_Cubit/svc.conf,
3638 tests/Cubit/TAO/svc.conf:
3639 Changed the default concurrency policy to be reactive so that
3640 things work correctly if TAO_HAS_TSS_ORBCORE. Thanks to Sumedh
3641 for pointing this out.
3643 * tao/orbobj.cpp (ORB_init): Put the TAO_DEFAULT_SERVER_PORT into
3644 ACE's OS.h file and used it in TAO.
3646 Sun Oct 26 15:07:18 1997 Chris Cleeland <cleeland@cs.wustl.edu>
3648 * tao/params.h: Eliminated forward decls of the now-defunct ROA
3651 * tao/orb_core.h (TAO_DEFAULT_PORT): Added manifest constant for
3654 * tao/orbobj.cpp (ORB_init): Eliminated ugly anonymous constant
3655 use for hbuf's size. Utilized manifest constant for default port.
3657 * tao/giop.cpp: Changed calls to
3658 TAO_Client_Connection_Handler::in_use() to call the underlying
3659 Svc_Handler::idle().
3661 * tao/connect.{h,i}: Eliminated in_use() flags because they're no
3662 longer needed with the new Strategy Connector.
3664 * tao/iioporb.cpp (string_to_object): Removed setting of the orb
3665 in the underlying CORBA::Object because it's no longer there.
3667 * tao/object.{h,i} (CORBA_Object): Eliminated the pointer to an orb
3668 within this object. This should help solve some problems in
3669 passing object references across the wire.
3671 * tao/connect.cpp: Added template instantiations for
3672 ACE_Hash_Map_Iterator to reflect Irfan's recent changes.
3674 * tests/IDL_Cubit/README: Updated documentation on the server to
3675 reflect current reality.
3677 Sun Oct 26 01:01:32 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
3679 * tao/orbobj.cpp: Redid the template specialization of Hash_Addr
3680 to account for the new changes.
3682 Sun Oct 26 01:05:36 1997 <nw1@COYOTE>
3684 * tao/corba.h: Changed from using Strategies_T.h to Strategies.h.
3686 * tao/connect.h: Removed a template argument form ACE_Hash_Addr.
3687 Removed explicit instantiation of compare_i.
3689 * tao/connect.cpp: Removed a template argument from explicit
3690 instantiation of ACE_Hash_Addr.
3692 * tests/Cubit/TAO/clnt.cpp (main): Added a simple class
3693 ACE_Winsock_proper_shutdown here to shutdown winsock properly.
3694 This class should be removed later once we figure out how to
3695 close down winsock properly from ACE.
3697 * tests/Cubit/TAO/svc.conf: Changed the name of shared object from
3698 libTAO to TAO. Added configuration lines for using debug
3699 version of TAO library on NT.
3701 Sun Oct 26 01:47:04 1997 Sergio Flores <sergio@macarena.cs.wustl.edu>
3703 * TAO_IDL/be/be_codegen.cpp (upcase):
3704 * TAO_IDL/util/utl_string.cpp (canonicalize):
3705 * TAO_IDL/be/be_decl.cpp (tc_name2long):
3706 Added "unsigned" to index variable "i" used in for() loop,
3707 to avoid warning "comparison between unsigned and signed"
3709 * TAO_IDL/be/be_decl.cpp (compute_flatname):
3710 * TAO_IDL/be/be_decl.cpp (compute_repoID):
3711 * TAO_IDL/be/be_interface.cpp (compute_fullskelname):
3712 Fixed error "second - I_FALSE;", should be "second = I_FALSE;"
3714 * TAO_IDL/be/be_operation.cpp (gen_server_skeletons):
3715 * TAO_IDL/be/be_state.cpp (gen_code):
3716 Initialized pointers to 0
3718 * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc):
3719 * TAO_IDL/be/be_operation.cpp (gen_server_header):
3720 * TAO_IDL/be/be_operation.cpp (gen_client_header):
3721 * TAO_IDL/be/be_decl.cpp (gen_out_defn):
3722 * TAO_IDL/be/be_decl.cpp (gen_var_defn):
3723 * TAO_IDL/be/be_scope.cpp (gen_client_header):
3724 * TAO_IDL/be/be_state.cpp (gen_code):
3725 * TAO_IDL/be/be_helper.cpp (operator<<):
3726 * TAO_IDL/be/be_union.cpp (tc_encap_len):
3727 * TAO_IDL/be/be_typedef.cpp (gen_client_stubs):
3728 * TAO_IDL/be/be_string.cpp (gen_client_header):
3729 * TAO_IDL/be/be_root.cpp (gen_idl2cplusplus_mapping):
3730 * TAO_IDL/be/be_predefined_type.cpp (gen_typecode):
3731 * TAO_IDL/be/be_interface.cpp (gen_client_stubs):
3732 * TAO_IDL/be/be_interface.cpp (gen_server_skeletons):
3733 * TAO_IDL/be/be_interface.cpp (gen_operation_table):
3734 * TAO_IDL/be/be_interface.cpp (gen_server_inline):
3735 * TAO_IDL/be/be_interface.cpp (tc_encap_len):
3736 * TAO_IDL/be/be_field.cpp (gen_encapsulation):
3737 * TAO_IDL/be/be_field.cpp (tc_encap_len):
3738 * TAO_IDL/be/be_enum_val.cpp (gen_encapsulation):
3739 * TAO_IDL/be/be_enum.cpp (tc_encap_len):
3740 * TAO_IDL/be/be_constant.cpp (gen_client_header):
3741 * TAO_IDL/be/be_constant.cpp (gen_client_stubs):
3742 * TAO_IDL/be/be_argument.cpp (gen_client_header):
3743 * TAO_IDL/be/be_argument.cpp (gen_client_stubs):
3744 * TAO_IDL/be/be_argument.cpp (gen_server_header):
3745 * TAO_IDL/be/be_argument.cpp (gen_server_skeletons):
3746 * TAO_IDL/be/be_array.cpp (be_array):
3747 * TAO_IDL/be/be_array.cpp (gen_client_header):
3748 * TAO_IDL/be/be_array.cpp (gen_client_inline):
3749 * TAO_IDL/be/be_array.cpp (gen_forany_defn):
3750 * TAO_IDL/be/be_array.cpp (gen_forany_impl):
3751 * TAO_IDL/util/utl_stack.cpp (push):
3752 Added ACE_UNUSED_ARG macro to avoid unused variable warning,
3755 * TAO_IDL/be_include/be_helper.h (class TAO_OutStream):
3756 Made destructor virtual; we have virtual member functions.
3758 * TAO_IDL/be/be_codegen.cpp (TAO_CodeGen):
3759 * TAO_IDL/be/be_decl.cpp (be_decl):
3760 * TAO_IDL/util/utl_stack.cpp (UTL_ScopeStack):
3761 * TAO_IDL/util/utl_scope.cpp (UTL_ScopeActiveIterator):
3762 Reordered member initializers to match declaration order to
3763 satisfy the compiler.
3765 * TAO_IDL/util/utl_scope.cpp (lookup_primitive_type):
3766 Added "default" case to switch to return NULL.
3768 * TAO_IDL/util/utl_scope.cpp (add_attribute):
3769 * TAO_IDL/util/utl_scope.cpp (add_operation):
3770 * TAO_IDL/util/utl_scope.cpp (add_argument):
3771 * TAO_IDL/util/utl_scope.cpp (add_union_branch):
3772 * TAO_IDL/util/utl_scope.cpp (add_field):
3773 * TAO_IDL/util/utl_scope.cpp (add_typedef):
3774 * TAO_IDL/util/utl_scope.cpp (add_sequence):
3775 * TAO_IDL/util/utl_scope.cpp (add_array):
3776 Use 0 instead of NULL to initialize pointers in the
3777 member initialization list, again to avoid ANSI C++ forbids
3778 implicit (void *) conversions warnings.
3780 Sun Oct 26 01:01:32 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
3782 * TAO version 0.0.16, released Sun Oct 26 01:01:32 1997.
3784 Sun Oct 26 00:32:29 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
3786 * TAO/TAO_IDL/fe/idl.ll: Reverted a change that Carlos had
3787 overwritten. I guess he's not getting enough sleep these
3790 Sun Oct 26 00:31:38 1997 <irfan@TWOSTEP>
3792 * tao/orb_core.i (hash_i): Redid the specialization in view of the
3795 Sat Oct 25 18:14:14 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
3797 * TAO_IDL/be/be_interface.cpp (be_interface): Worked around a
3798 nasty MSVC++ compiler bug that doesn't like CORBA::Object
3799 (object_ptr). So we use an existing ACE macro for this.
3801 * TAO_IDL/be/be_interface.cpp (be_interface): Fixed yet another
3802 round of uninitialized data members. It is clear that the
3803 original authors of this code wouldn't pass my ugrad programming
3806 * TAO_IDL/fe/idl.ll (idl_parse_line_and_file): Had to make a minor
3807 change to skip over the #line directive from Microsoft. In
3808 addition, had to add some code to put Microsoft-style pathnames
3809 into a canonical form (i.e., replacing = '\\' with '\'). Thanks
3810 to Darrell for helping with this.
3812 * TAO_IDL/fe/idl.ll: Added a new rule to handle the fact
3813 that the Microsoft C++ preprocessor generates tags of the
3822 which is what UNIX C++ compilers seem to do.
3824 * TAO_IDL/be/be_decl.cpp (compute_fullname, compute_flatname):
3825 Fixed a nasty bug where the original author thought new always
3826 returned 0'd memory... Sheesh!
3828 * TAO_IDL/driver/drv_preproc.cpp: Changed fd < 0 to fd ==
3829 ACE_INVALID_HANDLE to be more portable.
3831 * TAO_IDL/be/be_decl.cpp (be_decl): There were two fields,
3832 flatname_ and repoID_, that weren't given initial values of 0.
3833 Thanks to Purify for finding this!
3835 * TAO_IDL/fe/idl.{yy,ll}: Replaced all uses of type names <name>
3836 (e.g., FLOAT) with IDL_<name> (e.g., IDL_FLOAT) so that the code
3837 won't bomb on lame systems like NT that typedef basic types to all
3838 capitals (e.g., typedef float FLOAT).
3840 Sat Oct 25 22:28:42 1997 Carlos O'Ryan <coryan@MILONGA>
3842 * TAO_IDL/fe/idl.ll: Since yytext may be an "unsigned char*" under
3843 HP-UX they define an "alias" __yytext. This hack fails miserably
3844 when using flex, since then the yytext thing can change on the
3845 fly. I use an inline function instead. Added support for #line
3846 preprocessor directives.
3848 * TAO_IDL/driver/drv_preproc.cpp: Documented some of my changes
3849 for NT, namely the fact that unlinking the output file while
3850 still open causes the parsing to fail on NT.
3852 * TAO_IDL/tao_idl.dsp: Added new folders for source files, header
3853 files, template files, etc. I modelled this based on the ACE
3856 Sat Oct 25 22:05:43 1997 Sergio Flores <sergio@macarena.cs.wustl.edu>
3858 * TAO_IDL/ast/ast_constant.cpp (exprtype_to_string):
3859 Added case statements to handle the rest of un-handled
3860 enumerations from AST_Expression::ExprType. These will
3861 handle a default value (i.e. the same case as
3862 AST_Expression::EV_none).
3864 * TAO_IDL/ast/ast_expression.cpp (operator==):
3865 * TAO_IDL/ast/ast_expression.cpp (compare):
3866 Make the default return value I_FALSE instead of NULL which
3867 was giving "lacks a cast" warning.
3869 * TAO_IDL/ast/ast_expression.cpp (fill_definition_details):
3870 Use 0 instead of NULL to initialize pointers in the
3871 member initialization list, again to avoid ANSI C++ forbids
3872 implicit (void *) conversions warnings.
3874 * TAO_IDL/ast/ast_expression.cpp (eval_symbol):
3875 Initialized pointers to 0.
3877 Sat Oct 25 17:45:17 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
3879 * TAO_IDL/driver/drv_preproc.cpp: Fixed the same bug that Sumedh
3880 fixed. In addition, ACEified the calls to strcat and strcmp in
3883 * TAO_IDL/fe/idl.ll: Used %array in the defintion section so that
3884 flex uses yytext as an array of characters rather than pointer to
3885 char. The pointer case was resulting in a segmentation fault due
3886 to lack of memory allocation for the yytext variable. However, we
3887 choose to use the array approach to be compatile with "lex"
3890 Sat Oct 25 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu>
3892 * TAO_IDL/driver/drv_preproc.cpp: Fixed proper tmp filename
3895 Sat Oct 25 14:14:53 1997 Carlos O'Ryan <coryan@MILONGA>
3897 * TAO_IDL/tao_idl.dsw:
3898 * TAO_IDL/tao_idl.dsp:
3899 Added a MSVC++ project file for the IDL compiler, needs several
3900 revisions byt the NT experts before shipping, but it has served
3903 * TAO_IDL/driver/drv_fork.cpp:
3904 * TAO_IDL/driver/drv_preproc.cpp:
3905 We use ACE components to fork&exec subprocesses, get the default
3906 TMP directory and generate protable pathnames.
3907 In one case the mapping to NT is not clear: the use case is fork
3908 to get a "fresh" copy of the process and provide a unit of
3909 protection for the parent; this feature is only used if more
3910 than one IDL file is compiled at the same time.
3912 * TAO_IDL/be/be_decl.cpp:
3913 Fixed minor bug, it said "second - I_FALSE;", it should be
3916 * TAO_IDL/ast/ast_argument.cpp:
3917 * TAO_IDL/ast/ast_array.cpp:
3918 * TAO_IDL/ast/ast_attribute.cpp:
3919 * TAO_IDL/ast/ast_check.cpp:
3920 * TAO_IDL/ast/ast_concrete_type.cpp:
3921 * TAO_IDL/ast/ast_constant.cpp:
3922 * TAO_IDL/ast/ast_decl.cpp:
3923 * TAO_IDL/ast/ast_enum.cpp:
3924 * TAO_IDL/ast/ast_enum_val.cpp:
3925 * TAO_IDL/ast/ast_exception.cpp:
3926 * TAO_IDL/ast/ast_expression.cpp:
3927 * TAO_IDL/ast/ast_field.cpp:
3928 * TAO_IDL/ast/ast_generator.cpp:
3929 * TAO_IDL/ast/ast_interface.cpp:
3930 * TAO_IDL/ast/ast_interface_fwd.cpp:
3931 * TAO_IDL/ast/ast_module.cpp:
3932 * TAO_IDL/ast/ast_operation.cpp:
3933 * TAO_IDL/ast/ast_predefined_type.cpp:
3934 * TAO_IDL/ast/ast_recursive.cpp:
3935 * TAO_IDL/ast/ast_redef.cpp:
3936 * TAO_IDL/ast/ast_root.cpp:
3937 * TAO_IDL/ast/ast_sequence.cpp:
3938 * TAO_IDL/ast/ast_string.cpp:
3939 * TAO_IDL/ast/ast_structure.cpp:
3940 * TAO_IDL/ast/ast_type.cpp:
3941 * TAO_IDL/ast/ast_union.cpp:
3942 * TAO_IDL/ast/ast_union_branch.cpp:
3943 * TAO_IDL/ast/ast_union_label.cpp:
3944 * TAO_IDL/be/be_args.cpp:
3945 * TAO_IDL/be/be_constant.cpp:
3946 * TAO_IDL/be/be_generator.cpp:
3947 * TAO_IDL/be/be_init.cpp:
3948 * TAO_IDL/be/be_produce.cpp:
3949 * TAO_IDL/be_include/be.h:
3950 * TAO_IDL/be_include/be_generator.h:
3951 * TAO_IDL/driver/drv_args.cpp:
3952 * TAO_IDL/driver/drv_fork.cpp:
3953 * TAO_IDL/driver/drv_init.cpp:
3954 * TAO_IDL/driver/drv_main.cpp:
3955 * TAO_IDL/driver/drv_preproc.cpp:
3956 * TAO_IDL/driver/drv_private.cpp:
3957 * TAO_IDL/fe/fe_declarator.cpp:
3958 * TAO_IDL/fe/fe_extern.cpp:
3959 * TAO_IDL/fe/fe_init.cpp:
3960 * TAO_IDL/fe/fe_interface_header.cpp:
3961 * TAO_IDL/fe/fe_private.cpp:
3962 * TAO_IDL/fe/lex.yy.cpp:
3963 * TAO_IDL/fe/y.tab.cpp:
3964 * TAO_IDL/include/ast.h:
3965 * TAO_IDL/include/ast_argument.h:
3966 * TAO_IDL/include/ast_array.h:
3967 * TAO_IDL/include/ast_attribute.h:
3968 * TAO_IDL/include/ast_concrete_type.h:
3969 * TAO_IDL/include/ast_constant.h:
3970 * TAO_IDL/include/ast_decl.h:
3971 * TAO_IDL/include/ast_enum.h:
3972 * TAO_IDL/include/ast_enum_val.h:
3973 * TAO_IDL/include/ast_exception.h:
3974 * TAO_IDL/include/ast_expression.h:
3975 * TAO_IDL/include/ast_extern.h:
3976 * TAO_IDL/include/ast_field.h:
3977 * TAO_IDL/include/ast_generator.h:
3978 * TAO_IDL/include/ast_interface.h:
3979 * TAO_IDL/include/ast_interface_fwd.h:
3980 * TAO_IDL/include/ast_module.h:
3981 * TAO_IDL/include/ast_operation.h:
3982 * TAO_IDL/include/ast_predefined_type.h:
3983 * TAO_IDL/include/ast_root.h:
3984 * TAO_IDL/include/ast_sequence.h:
3985 * TAO_IDL/include/ast_string.h:
3986 * TAO_IDL/include/ast_structure.h:
3987 * TAO_IDL/include/ast_type.h:
3988 * TAO_IDL/include/ast_typedef.h:
3989 * TAO_IDL/include/ast_union.h:
3990 * TAO_IDL/include/ast_union_branch.h:
3991 * TAO_IDL/include/ast_union_label.h:
3992 * TAO_IDL/include/be_extern.h:
3993 * TAO_IDL/include/drv_extern.h:
3994 * TAO_IDL/include/drv_private.h:
3995 * TAO_IDL/include/fe_declarator.h:
3996 * TAO_IDL/include/fe_extern.h:
3997 * TAO_IDL/include/fe_interface_header.h:
3998 * TAO_IDL/include/fe_private.h:
3999 * TAO_IDL/include/global_extern.h:
4000 * TAO_IDL/include/idl.h:
4001 * TAO_IDL/include/idl_bool.h:
4002 * TAO_IDL/include/idl_defines.h:
4003 * TAO_IDL/include/idl_extern.h:
4004 * TAO_IDL/include/idl_fwd.h:
4005 * TAO_IDL/include/idl_global.h:
4006 * TAO_IDL/include/idl_narrow.h:
4007 * TAO_IDL/include/intlmacros.h:
4008 * TAO_IDL/include/nr_extern.h:
4009 * TAO_IDL/include/util.h:
4010 * TAO_IDL/include/utl_decllist.h:
4011 * TAO_IDL/include/utl_error.h:
4012 * TAO_IDL/include/utl_exceptlist.h:
4013 * TAO_IDL/include/utl_exprlist.h:
4014 * TAO_IDL/include/utl_identifier.h:
4015 * TAO_IDL/include/utl_idlist.h:
4016 * TAO_IDL/include/utl_indenter.h:
4017 * TAO_IDL/include/utl_labellist.h:
4018 * TAO_IDL/include/utl_list.h:
4019 * TAO_IDL/include/utl_namelist.h:
4020 * TAO_IDL/include/utl_scope.h:
4021 * TAO_IDL/include/utl_scoped_name.h:
4022 * TAO_IDL/include/utl_stack.h:
4023 * TAO_IDL/include/utl_string.h:
4024 * TAO_IDL/include/utl_strlist.h:
4025 * TAO_IDL/include/utl_tmpl/utl_decllist.h:
4026 * TAO_IDL/include/utl_tmpl/utl_exceptlist.h:
4027 * TAO_IDL/include/utl_tmpl/utl_exprlist.h:
4028 * TAO_IDL/include/utl_tmpl/utl_idlist.h:
4029 * TAO_IDL/include/utl_tmpl/utl_labellist.h:
4030 * TAO_IDL/include/utl_tmpl/utl_list.h:
4031 * TAO_IDL/include/utl_tmpl/utl_namelist.h:
4032 * TAO_IDL/include/utl_tmpl/utl_strlist.h:
4033 * TAO_IDL/narrow/narrow.cpp:
4034 * TAO_IDL/util/utl_decllist.cpp:
4035 * TAO_IDL/util/utl_error.cpp:
4036 * TAO_IDL/util/utl_exceptlist.cpp:
4037 * TAO_IDL/util/utl_exprlist.cpp:
4038 * TAO_IDL/util/utl_global.cpp:
4039 * TAO_IDL/util/utl_identifier.cpp:
4040 * TAO_IDL/util/utl_idlist.cpp:
4041 * TAO_IDL/util/utl_indenter.cpp:
4042 * TAO_IDL/util/utl_labellist.cpp:
4043 * TAO_IDL/util/utl_list.cpp:
4044 * TAO_IDL/util/utl_namelist.cpp:
4045 * TAO_IDL/util/utl_scope.cpp:
4046 * TAO_IDL/util/utl_stack.cpp:
4047 * TAO_IDL/util/utl_string.cpp:
4048 * TAO_IDL/util/utl_strlist.cpp:
4049 * TAO_IDL/util/utl_tmpl/utl_decllist.cpp:
4050 * TAO_IDL/util/utl_tmpl/utl_exceptlist.cpp:
4051 * TAO_IDL/util/utl_tmpl/utl_exprlist.cpp:
4052 * TAO_IDL/util/utl_tmpl/utl_idlist.cpp:
4053 * TAO_IDL/util/utl_tmpl/utl_labellist.cpp:
4054 * TAO_IDL/util/utl_tmpl/utl_list.cpp:
4055 * TAO_IDL/util/utl_tmpl/utl_namelist.cpp:
4056 * TAO_IDL/util/utl_tmpl/utl_strlist.cpp:
4057 Removed a *big* number of warnings, in an attempt to surface
4058 real problems. The main one was "#pragma ident" and some unused
4061 Sat Oct 25 06:22:03 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
4063 * TAO_IDL/fe/idl.yy: I got errors parsing the idl.yy thru
4064 bison. There were errors indicating "type clash on default action".
4066 This had to do with the fact that the non-terminal "type_dcl" did not
4067 have any type defined for it, but it had "struct_type", "union_type"
4068 and others on the right-hand side of the rules. The default action of
4069 YACC is supposed to assign1 to. So the type for "struct_type"
4070 that happened to be a AST_Decl node was getting assigned to the
4071 non-terminal "type_dcl" who had no type.
4073 I am very surprised that the "yacc" on our Sparcs never ever gave this
4074 error, but bison did.
4076 Hence I have modified idl.yy slightly so that I have {$$ = 0;} as the
4077 default action. In addition, the non-terminal "type_dcl" is now
4078 defined to be of type "ival" which is defined as long inside the
4081 Above all, the bison generated files required some prototypes. So I
4082 had to add the following to idl.yy in the declarations section.
4085 void yyerror (char *);
4086 extern "C" yywrap (void);
4088 Somehow, this yywrap had to be under extern "C". I don't know why the
4089 others need not be under extern "C".
4092 Sat Oct 25 00:05:05 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
4094 * TAO version 0.0.15, released Sat Oct 25 00:05:05 1997.
4096 Sat Oct 25 02:46:05 1997 Sergio Flores <sergio@macarena.cs.wustl.edu>
4098 * TAO_IDL/fe/Makefile:
4099 Changed the YACC variable to use the bison compiler.
4100 Added "-y" to YFLAGS to make bison generate output files like yacc.
4101 Changed the LEX variable to use the flex parser instead of lex.
4102 These programs generate code that has less warnings and is better
4104 Added "-D_REENTRANT" to CPPFLAGS, to be able to eliminate the warnings
4105 in lex.yy.cpp. This could also be fixed if we include "ace/ACE.h" at
4106 the beginning of lex.yy.cpp, but this file is generated with flex.
4108 * TAO_IDL/fe/idl.yy:
4109 Added ACE_UNUSED_ARG macro to avoid unused variable warning,
4110 for variable "AST_Decl *v".
4112 * TAO_IDL/fe/idl.ll (idl_atof):
4113 Added ACE_UNUSED_ARG macro to avoid unused variable warning,
4114 for variable f and h.
4116 * TAO_IDL/include/idl.h:
4117 Added include file "ace/ACE.h". This was necessary to eliminate
4118 warnings of implicit declarations, which were because the _REENTRANT
4119 flag was not defined.
4121 * TAO_IDL/ast/ast_operation.cpp (AST_Operation):
4122 Reordered member initializers to match declaration order to
4123 eliminate warnings from the compiler.
4125 * TAO_IDL/ast/ast_operation.cpp (fe_add_exceptions):
4126 Added ACE_UNUSED_ARG macro to avoid unused variable warning,
4129 * TAO_IDL/ast/ast_interface.cpp (AST_Interface):
4130 Reordered member initializers to match declaration order to
4131 eliminate warnings from the compiler.
4133 * TAO_IDL/ast/ast_expression.cpp (operator==):
4134 * TAO_IDL/ast/ast_expression.cpp (coerce):
4135 * TAO_IDL/ast/ast_expression.cpp (coerce_value):
4136 * TAO_IDL/ast/ast_expression.cpp (compare):
4137 * TAO_IDL/ast/ast_expression.cpp (dump_expr_val):
4138 Added case statements to handle the rest of un-handled
4139 enumerations from AST_Expression::ExprType. These will
4140 handle a default value (i.e. the same case as
4141 AST_Expression::EV_none). Enumerations added are:
4142 AST_Expression::EV_wstring
4143 AST_Expression::EV_wchar
4144 AST_Expression::EV_longdouble
4145 AST_Expression::EV_ulonglong
4146 AST_Expression::EV_longlong
4148 * TAO_IDL/ast/ast_expression.cpp (AST_Expression):
4149 Reordered member initializers to match declaration order to
4150 eliminate warnings from the compiler.
4152 * TAO_IDL/ast/ast_decl.cpp (AST_Decl):
4153 Reordered member initializers to match declaration order to
4154 eliminate warnings from the compiler.
4155 Also, use 0 instead of NULL to initialize pointers in the
4156 member initialization list, again to avoid ANSI C++ forbids
4157 implicit (void *) conversions warnings.
4159 * TAO_IDL/ast/ast_array.cpp (dump):
4160 Added "unsigned" to index variable "i" used in for() loop,
4161 to avoid warning "comparison between unsigned and signed"
4163 * TAO_IDL/ast/ast_array.cpp (compute_dims):
4164 Added "unsigned" to index variable "i" used in for() loop,
4165 to avoid warning "comparison between unsigned and signed"
4167 * TAO_IDL/ast/ast_array.cpp (AST_Array):
4168 Reordered member initializers to match declaration order to
4169 eliminate warnings from the compiler.
4171 * TAO_IDL/fe/fe_declarator.cpp (FE_Declarator):
4172 Reordered member initializers to match declaration order to
4173 eliminate warnings from the compiler.
4175 * TAO_IDL/driver/drv_main.cpp (DRV_drive):
4176 Added ACE_UNUSED_ARG macro to avoid unused variable warning.
4178 * TAO_IDL/ast/ast_recursive.cpp (AST_illegal_recursive_type):
4179 Initialized pointer variables to avoid warnings.
4181 Fri Oct 24 19:18:22 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
4183 * tao: Changed remaining uses of BOA to POA.
4185 * cubit_i.cpp (please_exit): Replaced the call to
4186 please_shutdown() on the POA (which no longer exists) with the
4187 shutdown() call on the ORB.
4189 * tests/IDL_Cubit/svr.cpp: Removed
4191 oa_ptr->clean_shutdown (env);
4193 since this is no longer supported in TAO's POA.
4195 * tao/poa.h: Changed the get_boa() method to get_poa(). Even this
4196 will probably go away soon.
4198 Fri Oct 24 18:25:00 1997 Aniruddha Gokhale <gokhale@flamenco.cs.wustl.edu>
4200 * TAO/tao/svrrqst.cpp: Method params was allocating memory even
4201 when the Any's already had memory allocated for the IN and INOUT
4202 parameters. Due to this the params would retrieve results in the
4203 allocated storage whereas the stubs/skeletons would continue to
4204 use variables that they had defined to hold the values.
4206 Fri Oct 24 17:33:21 1997 Chris Cleeland <cleeland@cs.wustl.edu>
4208 * tao/poa.*: #ifdef'd out the IIOP 1.4 references to shutdown.
4209 I'm leaving them in there right now because they might be useful
4210 as private member later when we need to figure out how to get OAs
4211 to cooperate and shut themselves down in the face of an ORB
4214 * tao/orbobj.h (shutdown): Fixed up documentation.
4216 * tao/orbobj.i (shutdown): Provided appropriate arg default.
4218 * tests/Cubit/TAO/svr.cpp: Eliminated unnecessary Object Adapter
4219 name from POA_init() invocation.
4221 * tests/Cubit/TAO/cubit_i.cpp (Cubit_please_exit): Revised to use
4222 the new ORB::shutdown() method.
4224 * tests/Cubit/TAO/clnt.cpp: Got rid of IIOP 1.4-style debug
4227 * tao/orbobj.cpp (CORBA_ORB::ORB_init): Corrected a heinous
4228 problem in the option parsing loop where argvec_shift() would be
4229 asked to shift two argv elements when there was only one. This
4230 could cause problems if an option that required an argument didn't
4231 include the argument. Thanks to Manojkumar Acharya
4232 <cvsf325.gpt.co.uk> for sending in a bug report that lead to my
4235 Fri Oct 24 14:08:12 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
4237 * Improved the compiler to make Unions work. The most subtle error
4238 was the way the private section of the class for unions was being
4239 generated. TAO's Typecode library expected the union members to be
4240 inside of a C++ union declaration inside the private
4241 section. Whereas the compiler was generating each member
4244 Another source of error was bad typecode tables getting
4245 generated. This is now fixed.
4247 * TAO/tests/IDL_Cubit: The cubit_i.cpp for cube_union was doing
4248 wrong calculations for structs. This was due to my copy-paste
4249 tendency and not verifying if it was correct or not. This has been
4250 fixed. The README file is updated to reflect the fact that this
4251 directory contains code that uses the IDL compiler.
4253 Fri Oct 24 01:54:00 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
4255 * TAO version 0.0.14, released Fri Oct 24 01:54:00 1997.
4257 Fri Oct 24 01:02:01 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
4259 * clnt.cpp: Removed mysterious obsolete definitions of
4260 cube_union_stub() and cube_union_dii().
4262 * be_state.h: Added definitions for the methods in class
4263 be_state_attribute. For some reason, they were missing.
4265 * TAO_IDL/be/be_state.cpp: Added the necessary template
4266 specializations so that the TAO IDL compiler will work with GCC.
4268 Thu Oct 23 22:46:10 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
4270 * TAO IDL Compiler: More progress in terms of getting the Cubit
4271 example to work with the IDL generated code. However, we are still
4272 finding some problems with using the client-side cubit_union_dii
4275 Much of the improvements were to the server-side skeletons for
4276 operations. In addition, code for union constructors, assignment
4277 operator, and accessor for discriminant added.
4279 Some bugs in typecode generation are fixed. This had to do with
4280 the encapsulation length for predefined types. It was returning -1
4283 * TAO/tests/IDL_Cubit: Added this directory with the cubit
4284 example. Use this to test the IDL compiler. The makefile will
4285 invoke the IDL compiler to create the required files.
4287 Thu Oct 23 18:34:02 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
4289 * tests/*/Makefile: Fixed the Makefiles so that it has the correct
4290 files and dependencies. Thanks to Steven Wohlever
4291 <wohlever@mitre.org> for reporting this.
4293 Wed Oct 22 20:02:39 1997 Chris Cleeland <cleeland@cs.wustl.edu>
4295 * README.sun: Added an explicit reminder at the top that the
4296 information in this file is historical in nature and does not
4297 necessarily apply to current reality.
4299 * tao/orbobj.* (shutdown): Added code to the run() event loop so
4300 that it will terminate when it finds a flag set. This involved
4301 adding the flag to the ORB's state and minimally implementing the
4302 shutdown() method. The shutdown method still does not honor the
4303 "wait for completion" flag which can be passed to it, though.
4305 * README: Updated the season from "summer" to "Fall" ;-) Also
4306 added a note that warned people not to try to link TAO with a
4307 version of ACE that's linked with another ORB library, e.g.,
4308 liborbix.so. Thanks to Steven Wohlever <wohlever@mitre.org> for
4309 bringing this instructional omission to our attention.
4311 * tao/tao_internals.cpp (fake_service_entries_i): Made the body of
4312 this function conditional on the TAO_PLATFORM_SVC_CONF_FILE_NOTSUP
4313 preprocessor definition since it doesn't need to exist in
4314 platforms that grok the Service Configurator. This will also
4315 reduce the memory footprint :-). Thanks to David Miron
4316 <dxm@crapper.dsto.defence.gov.au> for pointing this out!
4318 * tao/orb_core.cpp (TAO_ORB_Core): Removed explicit CTOR
4319 initialization of reactor_ member.
4321 Wed Oct 22 19:37:22 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
4323 * TAO IDL Compiler: Improvements made so that the server-side
4324 skeletons for operations now generate valid code. The code
4325 generated for the Cubit.idl was compiling cleanly. It is under
4326 test currently to see if it runs.
4328 * Some progress in handling forward declarations of interfaces.
4330 Wed Oct 22 12:55:19 1997 <nw1@CHA-CHA>
4332 * tao/poa.h: Added ACE_Svc_Export to class CORBA_POA.
4334 * tao/TAO.{mdp,mak}: Updated files in project file.
4336 * tao/TAO.dsp: Removed boa, Orb_Core and added poa, orb_core to
4339 Tue Oct 21 17:21:51 1997 Chris Cleeland <cleeland@cs.wustl.edu>
4341 * docs/releasenotes/orbcore.html: Updated to reflect daily
4344 * tests/Cubit/TAO/Makefile: Updated dependencies.
4346 * tests/Cubit/TAO/svc.conf: Updated to eliminate empty quotes at
4347 the end that tickled a deficiency in the Service Configurator's
4350 * tests/multiCubit/svr.cpp: Updated to reflect POA_init change.
4352 * tests/Thruput_test/Makefile: Modified to reflect filename
4355 * tests/Thruput_test/server.cpp: Changed type of argv so that it
4358 * tao/boa.*: Renamed to tao/poa.*.
4360 * tao/Orb_Core.*: Renamed to tao/orb_core.*.
4362 * tao/{Makefile,corba.h,default_client.cpp,default_server.cpp,orb.h,orbobj.cpp,params.h}:
4363 Modified to reflect filename changes.
4365 Tue Oct 21 13:23:48 1997 Brian Mendel <brian.r.mendel@boeing.com>
4367 * tao/connect.i: Moved hash_i and compare_i template
4368 specialization to Orb_Core.i. Original code was left comment
4369 out until this mod is checked on all platforms.
4371 * tao/Orb_Core.i: Added hash_i and compare_i code from connect.i.
4373 Tue Oct 21 03:23:29 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
4375 * tao/Orb_Core.cpp: Removed conditional inclusion of Orb_Core.i
4376 since, according to corba.h, it is always included as an inline
4379 Tue Oct 21 02:24:14 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
4381 * TAO version 0.0.13, released Tue Oct 21 02:24:14 1997.
4383 Mon Oct 20 23:42:48 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
4385 * TAO/boa: Changed BOA_init() to POA_init() to be
4388 * TAO_IDL/be/be_interface.cpp,
4389 tests/TAO/Thruput_test/server.cpp,
4390 tests/TAO/Thruput_test/ttcpS.cpp,
4391 tests/TAO/RT_test/Task_Client.cpp,
4392 tests/TAO/RT_test/cubit_impl.cpp,
4393 tests/TAO/multiCubit/cubitS.cpp,
4394 tests/TAO/multiCubit/svr.cpp,
4395 tests/TAO/Demux_Test/server.cpp,
4396 tests/TAO/Demux_Test/CodeGen/skel.cpp,
4397 tests/TAO/MT-Cubit/client/Task_Client.cpp,
4398 tests/TAO/MT-Cubit/server/cubitS.cpp,
4399 tests/TAO/MT-Cubit/server/svr.cpp,
4400 tests/TAO/cubitS.cpp,
4402 tests/TAO/test1_svr.cpp: Changed BOA to POA to reflect the
4403 new naming conventions.
4405 * tao/stub.i (STUB_Object): Removed a stray default value from the
4406 STUB_Object constructor... Thanks to Carlos for noticing this.
4408 MOn Oct 20 10:14:09 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
4410 * Improved version of the TAO IDL compiler. The executable has
4411 been renamed to tao_idl. There are a number of improvements as
4412 well as shortcomings. These are explained in the
4413 docs/releasenotes/index.html page, which can be viewed online at
4414 http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/docs/releasenotes/.
4416 Mon Oct 20 16:30:29 1997 Chris Cleeland <cleeland@cs.wustl.edu>
4418 * tao/tao_internals.cpp (fake_service_entries_i): Based the
4419 arguments to the faked server service entry for VxWorks on the
4420 TAO_HAS_TSS_ORBCORE compilation flag. This should hopefully
4421 eliminate the problems Boeing was seeing in the early rounds of
4422 testing the most recent release of TAO.
4424 * tao/{iiopobj.*,giop.h}: Moved a lock that had been in
4425 TAO_GIOP_Invocation (why? I don't know) into IIOP_Object. It
4426 protects the fwd_profile_ pointer, which has now become private.
4427 Also added accessors for the data member as well as the lock.
4428 Accessors come in two flavors--thead-safe (fwd_profile()) and
4429 non-thread-safe (fwd_profile_i()). The non-thread-safe variety
4430 expect that the lock will be taken and held for the duration of
4431 their usage, but no checking is performed in this respect.
4433 * tao/giop.cpp: Changed references to the IIOP_Object::fwd_profile
4434 data member to go through the new accessors (see above).
4436 * tao/stub.i: Created new file with inline methods for
4439 * tao/stub.h: Moved inline method definitions into a new
4442 * tao/orbobj.cpp (BOA_init): Eliminated dead code and unused
4445 * tao/except.cpp (print_exception): Eliminated unused argument
4446 warning detected by gcc.
4448 * tao/corba.h: Re-ordered inclusion of Orb_Core.i to eliminate
4449 'function used before declared inline' errors detected by gcc.
4451 * tao/{Orb_Core,boa,corbacom,orb,orbobj,svrrqst}.*: Renamed BOA to
4454 * docs/releasenotes*: Moved releasenotes.html into a directory
4455 named "releasenotes" so that the various status pages can live
4456 independently. Currently only the ORB Core's status page is
4457 broken out, but the documentation should eventually turn into two
4458 frames with the one at the top acting as the guide and the lower
4459 frame being the actual status document.
4461 Fri Oct 17 17:42:27 1997 Chris Cleeland <cleeland@cs.wustl.edu>
4463 * docs/releasenotes.html: Updated to reflect current status.
4465 * tao/orbobj.*: Added some documentation for open() method.
4467 * tao/roa.*: Gone. Bye-bye. Removed.
4469 Fri Oct 17 15:43:04 1997 <nw1@CHA-CHA>
4471 * tao/connect.h: Added template instantiation supression directive
4472 for Win32. VC was complaining about duplicate symbols definition.
4474 Fri Oct 17 06:25:23 1997 Chris Cleeland <cleeland@cs.wustl.edu>
4476 * tao/{boa,roa}.*: Merged class ROA into class
4477 CORBA_BOA. Hopefully everything still works ;-)
4479 * docs/releasenotes.html: Quick update for new TODO list. Will be
4480 updated within the next day or so with dates, too.
4482 * tao/{server_factory,orbobj,Orb_Core}.cpp: Corrected incorrect
4483 explicit template instantiations and added missing ones.
4485 Thu Oct 16 23:48:04 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
4487 * TAO version 0.0.12, released Thu Oct 16 23:48:04 1997.
4489 Thu Oct 16 11:15:00 1997 Brian R. Mendel <brian.r.mendel@boeing.com>
4491 * tao/server_factory.cpp: Added instantiation pragma for VxWorks for
4492 ACE_Acceptor. Added the template to the specialization section, also.
4494 * tao/orbobj.cpp: Added instantiation pragma for VxWorks for
4495 ACE_Cached_Connect_Strategy and ACE_Hash_Map_Manager for
4496 ACE_Null_Mutex instantiations. Also, added these to the template
4497 specialization sections.
4499 * tests/Cubit/Build/default.bld: Added TAO_PLATFORM_SVC_CONF_FILE_NOTSUP
4500 to defines section of GHS build file.
4502 Tue Oct 14 21:11:20 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
4504 * tao/xdr.h: Changed int _fd to ACE_HANDLE _fd to work on NT.
4505 Thanks to Satheesh Kumar <satheesh@aspectdv.com> for reporting
4508 Tue Oct 14 02:48:21 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
4510 * TAO version 0.0.11, released Tue Oct 14 02:48:21 1997.
4512 Mon Oct 13 23:30:16 1997 <irfan@TWOSTEP>
4514 * tao/connect.h: If we are using TSS, there is no reason to use
4515 locking in the connector. Therefore, I added a new typedef that
4516 defines the type of lock that should be used for the
4517 cached_connect_strategy. It is ACE_SYNCH_RW_MUTEX in the
4518 non-TSS case, and ACE_SYNCH_NULL_MUTEX in the TSS case.
4520 Mon Oct 13 21:34:00 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
4522 * tao/svrrqst.cpp (oa): Cleaned up the coding style a bit.
4524 Sun Oct 12 15:38:35 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
4526 * tao/client_factory: Gutted the client factory code related to
4527 the Strategy_Connector so that it's either in the TAO_Orb_Core.
4529 * tao/default_client.h: Removed the connector() from the
4530 Default_Client_Factory entirely since it's all been put into the
4533 * tao/giop.cpp (start): Hacked up the code so that we extract our
4534 connector from thread-specific storage if we're using the
4535 thread-per-rate concurrency model. This needs to be integrated
4536 more cleverly in the ORB.
4538 * tao/orbobj.h: Put an instance of the TAO_CONNECTOR into each
4539 TAO_ORB_Core object so that we don't have to share these things
4540 among all of the threads in a process, but instead can have them
4541 be located in thread-specific storage.
4543 * tao/orbobj.cpp (perform_work): Updated the run() and
4544 perform_work() methods to take optional ACE_Time_Value *'s (so
4545 they can return from timeouts) and to return error flags if
4548 * tao/orbobj.h (CORBA_ORB): Changed the set_up_for_listening()
4549 call to open(), which is more consistent with other usage in
4552 * tao/orbobj: Changed the name client_acceptor_ to peer_acceptor_
4553 to reflect the fact that the connection model is more generic
4554 than the notion of client/server interactions (which really take
4555 place as the result of particular communication roles).
4557 * tao/corba.h: Moved the order of #includes around so that
4558 "connect.h" is included before "client_factory.h"
4560 * tao/connect.h: Moved the typedef of the ACE_Strategy_Connector<>
4561 from the TAO_Client_Strategy_Factory into the global space and
4562 renamed it TAO_CONNECTOR file so that it will be equivalent with
4565 Thu Oct 9 23:17:37 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu>
4567 * tao/giop.cpp (invoke): If an error occurs, make sure to mark the
4568 handler_ as no longer being in use before we set it to 0.
4570 * tao/giop.cpp (TAO_GIOP_Invocation): We need to make sure that
4571 handler_ isn't 0 before we mark it as no longer being in use.
4573 Thu Oct 9 11:33:46 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
4576 There was a minor sintax error.
4578 Tue Oct 07 09:34:35 1997 <brian.r.mendel@boeing.com>
4580 * tao/Orb_Core.h{cpp}: Added ACE_Svc_Export label to global
4581 TAO_ORB_Core_instance() method. Needed for DLL support on NT.i
4583 * default.bld, tao.bld: Modified VxWorks build files to add new files.
4585 Tue Oct 07 07:05:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
4587 * TAO version 0.0.10, released Tue Oct 07 07:05:38 1997.
4589 Mon Oct 06 22:11:40 1997 <nw1@CHA-CHA>
4591 * tests/Cubit/TAO/cubit_i.cpp (Cubit_please_exit):
4592 * tests/Cubit/TAO/cubitS.cpp (_skel_Cubit): Changed to use the new
4593 TAO_ORB_CORE_instance () global function.
4595 Mon Oct 6 20:06:05 1997 Chris Cleeland <cleeland@cs.wustl.edu>
4597 * tao/{boa.h,connect.cpp,giop.cpp,giop.h,roa.cpp,roa.h}:
4598 Eliminated unused methods and code.
4600 * tao/Orb_Core.*: Created new global function called
4601 TAO_ORB_Core_instance() which will return the correct instance of
4602 the ORB Core state. This had previously been accessed using
4603 TAO_ORB_CORE::instance(), but Win32s linking procedures made the
4604 template for TAO_ORB_CORE expand in both the application and the
4605 library/DLL, thus creating two singletons. Bad scene. The
4606 function should force the expansion of the template to only be in
4609 * tao/{connect,default_client,default_server,orbobj,roa}.cpp:
4610 Changed references to TAO_ORB_CORE::instance() to
4611 TAO_ORB_Core_instance().
4613 * tao/singletons.h: Removed definition of TAO_ORB_CORE.
4615 Sat Oct 4 20:08:57 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
4617 * tao/TAO.{dsp,dsw}: Added tao_internals.cpp into project file
4620 * tao/tao_internals.h (TAO_Internal): Added ACE_Svc_Export and
4623 * tao/tao_internals.i (open_services): Added default return value
4626 * tao/tao_internals.cpp: Added #include "tao/tao_internals.h" and
4627 the CVS I d field. Also, we should include inline (.i) file
4630 Fri Oct 3 09:29:05 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu>
4632 * tests/multiCubit/svr.cpp: Changed the key naming scheme back to
4633 not be unique throughout the process. Process-unique code is
4634 still there, but conditionally compiled mutually-exclusive to the
4637 * tao/server_factory.*: The object_lookup_strategy method is gone
4638 and is replaced by the create_object_table factor method. See
4639 more information below.
4641 * tao/default_server.*: The server factory no longer holds on to a
4642 single pointer for the object lookup strategy. In previous
4643 incarnations of TAO, this didn't cause problems, but the advent of
4644 ORB-per-thread highlighted the inherent badness in this
4645 implementation choice. Gone is the object_lookup_strategy method,
4646 and in comes the create_object_table factory method, which creates
4647 and returns (and doesn't hold onto) an object table in accordance
4648 with parameters such as size and search algorithm.
4650 * tao/roa.cpp: Changed to use the create_object_table method.
4652 Thu Oct 2 13:48:31 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu>
4654 * tests/multiCubit/svr.cpp: Modified the key generation scheme to
4655 include thread ID. This works around a current shortcoming in the
4656 ORB Core in which the object table is shared throughout all object
4657 adapters (yes, this is being fixed).
4659 * tao/tao_internals.*: Added new class to scope static operations
4660 and data completely internal to the ORB.
4662 * tao/orbobj.{i,cpp}: Moved CORBA_ORB DTOR into cpp file. Finally
4663 got rid of icky static mutex in ORB_init(). Moved service config
4664 initialization into TAO_Internal method.
4666 * tao/Orb_Core.h: Added comments.
4668 Wed Oct 1 12:51:48 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
4670 * tao/corbacom.h: Removed CORBA:: name resolution from the class
4671 String_out which is itself defined in class CORBA. MSVC doesn't
4674 Wed Oct 1 10:44:55 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
4676 * tao/varout.h: Fixed some template errors in class
4677 TAO_Object_out. This was pointed to me by Carlos as he was
4678 compiling TAO in SGI.
4680 Wed Oct 1 09:10:38 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
4682 * docs/releasenotes.html:
4683 Updated information on the Event Channel, the use of the Naming
4684 Service is no longer a plan, it is done already.
4686 Tue Sep 30 20:14:29 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
4688 * TAO version 0.0.9, released Tue Sep 30 20:14:29 1997.
4690 Tue Sep 30 19:42:09 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
4692 * Makefile: Removed "docs" from DIRS so we don't try to run
4693 make in this directory.
4695 Tue Sep 30 17:27:00 1997 Chris Cleeland <cleeland@cs.wustl.edu>
4697 * <RELEASE>: Tagged a release for limited consumption until the
4698 Service Configurator bug is fixed.
4700 * tests/multiCubit/svr.cpp: Added code to properly release CORBA
4701 objects. Delays between task activations simply aid in debugging
4702 and are not necessary.
4704 * tao/singletons.h: Made TAO_ORB_Core's singleton type
4705 compile-time selectable via the TAO_HAS_TSS_ORBCORE compiler flag.
4707 * tao/orbobj.cpp: Corrected an incorrect shift count, and the ORB
4708 Core now defaults to using the host name of the local host.
4710 * tao/Orb_Core.[hi]: Added explicit CTOR.
4712 * tao/Orb_Core.cpp: Insured that the correct template type was
4715 * tao/Makefile: Added -DTAO_HAS_TSS_ORBCORE to CPPFLAGS.
4717 Tue Sep 30 16:43:12 1997 Chris Cleeland <cleeland@cs.wustl.edu>
4719 * docs/releasenotes.html: Added some notes on the ORB Core.
4721 Mon Sep 29 14:39:51 1997 Chris Cleeland <cleeland@cs.wustl.edu>
4723 * docs/{index,components,releasenotes}.html: Added additional
4726 Mon Sep 29 13:50:34 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
4730 any.*: Added _var and _out classes.
4732 corbacom.{h,i} : Added _out types for primitive types, added _out and
4733 updated _var classes for String. Added corbacom.i for implementing
4734 the String's _var and _out classes
4736 sequence.{h,i}: Added a number of templates for _var and _out
4737 classes. However, these are yet to be used and tested.
4739 * Alpha release of TAO IDL compiler added to this release. This is
4740 an alpha release and we are currently putting it to rigorous
4741 test. A large amount of code for the back end is added under the
4742 TAO/TAO_IDL/be_include and TAO/TAO_IDL/be/ directories.
4744 In addition, some amount of ACEification done to methods belonging
4745 to the TAO/TAO_IDL/utils/ classes.
4747 A few errors in the IDL grammar have been fixed in
4748 fe/idl.yy. These had to do with the valid types for parameters and
4749 operation return types. There are still some errors recognizing
4750 unions which will be fixed later. The scanner (fe/idl.l) was
4751 modified to recognize the OMG IDL data type "any".
4753 * The ChangeLog file under TAO/TAO_IDL is removed and its contents
4754 are inserted appropriately in this ChangeLog file
4756 Sun Sep 28 17:01:27 1997 Chris Cleeland <cleeland@cs.wustl.edu>
4758 * tests/multiCubit: Added a multi-threaded version of Cubit.
4760 * tao/orbobj.cpp: At long last, Andy has his wish for not having
4761 to provide a "-ORBhost <me>" argument to a server. It now uses
4762 ACE_OS::hostname() to determine the canonical hostname, and
4763 listens on that address.
4765 * tao/singletons.h: Changed the ORB Core singleton to be a TSS
4766 singleton; this will eventually be conditionally compiled in
4767 (before release). Also added comments and "safety defines".
4769 * tao/except.cpp: Changed some usage of fputs() in
4770 print_exception() to use ACE_DEBUG.
4772 Sun Sep 28 03:18:24 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
4774 * tests/Cubit/TAO/cubitC.h (Object): Changed references of base
4775 class from "CORBA::Object" to "CORBA_Object." MSVC doesn't
4778 * tao/Orb_Core.h: Added ACE_Svc_Export to TAO_Orb_Core class.
4780 * tao/corbacom.h: Added ACE_Svc_Export to all IID constants.
4781 Notice that we must put ACE_Svc_Export _after_ extern "C".
4783 Sat Sep 27 09:31:42 1997 Chris Cleeland <cleeland@cs.wustl.edu>
4785 * tao/Orb_Core.h: Fixed the friend declaration for
4788 * tests/Cubit/TAO/svr.cpp: Modified to use ORB::run() for event
4789 loop and eliminated code cruft.
4791 * tao/orbobj.*: Added stubs for 4 methods on the ORB from the
4792 POA spec: work_pending, perform_work, run, and shutdown. Of all
4793 of these, only run is reasonably implemented, and there not even
4794 according to the spec (because the way the spec works isn't really
4795 good for our purposes...need to work on that). See the docs for
4798 Moved the initialization of the Acceptor into its own method,
4799 set_up_for_listening (which is a one-shot style method), and
4800 placed a call to this within the aforementioned run method.
4802 * tao/default_client.h: Miscellaneous comments added.
4804 * tao/connect.cpp: Corrected an errant ACE_DEBUG () call.
4806 * tao/Orb_Core.*: Added private methods to allow setting of the
4807 orb and extended the laurel of friendship to CORBA::ORB_init().
4809 Fri Sep 26 10:20:06 1997 Chris Cleeland <cleeland@cs.wustl.edu>
4811 * tao/orbobj.*: Added acceptor initialization code to CORBA_ORB
4812 CTOR. (We still need to find a way to NOT do this on the client
4813 side.) Moved CORBA_ORB CTOR into .cpp to avoid nasty
4814 interdependencies caused when it was in the .i file. Moved the
4815 specification of host and port to be ORB parameters rather than OA
4816 parameters, i.e., -OAhost is now -ORBhost and -OAport is now
4819 * tao/roa.*: Removed server-side connection endpoint
4820 initialization (Acceptor stuff) and put it into the ORB.
4822 * tao/connect.h: Renamed ROA_Acceptor to TAO_Acceptor (since it's
4823 not related to the OA any longer), and restored explicit inclusion
4824 of ace headers to avoid having to include "corba.h".
4826 * tao/boa.h: Removed unneeded get_addr() method.
4828 * tests/Cubit/TAO/cubitS.cpp: Updates to support changes in ORB
4831 Thu Sep 25 12:28:02 1997 Chris Cleeland <cleeland@cs.wustl.edu>
4833 * tao/params.*: Added explicit CTOR & DTOR for
4834 TAO_{OA,ORB}_Parameters classes that somehow got removed in the
4835 previous round of attacks. Also specified all methods which go
4836 into the .i file as "LOCAL_INLINE" within the header. This avoids
4837 having to unravel ugly, complex order interdependencies.
4839 Thu Sep 25 03:48:02 1997 Chris Cleeland <cleeland@cs.wustl.edu>
4841 * docs/Options.html: Terse documentation on options available for
4842 the abstract factories.
4844 * tao/Orb_Core.*: Added this class (TAO_ORB_Core) to hold the
4845 "state" of an ORB. The intent is that as we move towards
4846 different concurrency models, this can be thrown into
4847 thread-specific storage and remain a singleton, essentially
4848 allowing the running of an ORB-per-thread.
4850 * tao/singletons.h: Added this file to contain type definitions
4851 for *ALL* ACE_Singleton<> types used within TAO. This was
4852 motivated by a desire to eliminate the multitude of warnings
4853 generated by g++ regarding methods being called before declared
4854 inline, and the only way to eliminate this was to insure that all
4855 inlined methods were seen by the compiler before the
4856 ACE_Singleton<> definition. Thus, corba.h includes singleton.h as
4857 the very last thing that it does.
4859 * tao/params.*: TAO_OA_Parameters is no longer a singleton, and
4860 because of new recognition of associations in the object model for
4861 an ORB, lots of data members and their methods have been shuffled
4862 to other places or eliminated. addr() now belongs in
4863 TAO_ORB_Parameters, and root_poa_ is in TAO_ORB_Core. The
4864 using_threads_, thread_flags_, upcall_, and forwarder_ members
4865 have been eliminated and their roles taken over by the Concurrency
4866 Strategies and the new Dispatch call chain implemented in my last
4869 * tao/orbobj.cpp: Changed references to the ORB singleton to go
4870 through TAO_ORB_CORE::instance(). Also eliminated an unnecessary
4871 global function (_orb()).
4873 * tao/marshal.h: Moved all ACE_Singleton<> typedefs into
4874 singleton.h. See comment on tao/corba.h for more information.
4876 * tao/iioporb.h: Removed unnecessary TAO_ORB singleton. This is
4877 now assumed by TAO_ORB_Core instances.
4879 * tao/corbacom.h: Added CORBA::POA_ptr for upward compatibility.
4881 * tao/corba.h: Added Orb_Core.[hi] to the appropriate places.
4882 Moved iiop{orb,obj}.i inclusions around and moved typedef'ing of
4883 all ACE_Singletons into singletons.h, which must be #included
4884 AFTER all the inline files. This eliminated all of the
4885 used-before-declared-inline warnings.
4887 * tao/{connect,default_client,default_server,roa}.*: Updated
4888 singleton usages to go through the TAO_ORB_CORE singleton.
4890 * tests/Cubit/TAO/{cubitS,cubit_i}.cpp: Updated singleton usages
4891 to go through the TAO_ORB_CORE singleton.
4893 Wed Sep 17 12:26:56 1997 Nanbor Wang <nw1@CHA-CHA>
4895 * tao/TAO.dsp: Updated source file list.
4897 Mon Sep 15 16:52:28 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu>
4899 * tests/Cubit/TAO/{cubitS,cubit_i}.cpp: Updated references to oa()
4902 * tao/orbobj.cpp: Corrected some adjustments made for Service
4903 Configurator rework.
4905 * tao/giop.h: Moved the def for TAO_GIOP_EndOfFile out of the
4906 range of valid GIOP messages.
4908 * tao/connect.cpp: Added special case for TAO_GIOP_Reply to break
4909 out, and distinguished TAO_GIOP_EndOfFile from other errors by
4912 * tao/boa.cpp: The complete reply header is now stuck into the
4913 response stream...what a novel concept!
4915 Fri Sep 12 05:40:50 1997 Chris Cleeland <cleeland@cs.wustl.edu>
4917 * params.h: Renamed oa() method to be root_poa() in preparation
4920 * orbobj.cpp: Adjusted the FAKE_SVC_ENTRY macro to catch up to
4921 recent changes in ACE.
4923 * giop.*: Major surgery including elimination of GIOP as a giant
4924 namespace (now only static methods are in it). Changed names of
4927 * {encode,decode,iiopobj,invoke,roa}.*: Name changes resulting
4928 from giop.cpp surgery.
4930 * corbacom.h: Moved TAO_opaque decl into here.
4932 * corba.h: Re-ordered the inline #includes so that the stuff that
4933 is ALWAYS inlined is included prior to the stuff that's only
4934 inlined when __ACE_INLINE__ is turned on.
4936 * connect.*: Modified handle_input() substantially. Added 3
4937 template methods: read_message, handle_message, and send_response.
4939 * {cdr,marshal,object,typecode}.h: Removed the old "always include
4942 * boa.*: Added handle_request() method.
4944 Wed Sep 03 06:15:00 1997 Brian Mendel <brian.r.mendel@boeing.com>
4946 * tao/default_client.cpp: Added conditional sections around the code for setting the
4947 socket options for VxWorks. VxWorks does not support a 64K buffer size.
4949 Tue Sep 02 18:32:12 1997 Brian Mendel <brian.r.mendel@boeing.com>
4951 * tao/orbobj.cpp: Added include for Service_Repository.h to orbobj.h
4953 * tao/debug.cpp: Removed the TAO_NEEDS_UNUSED_VARIABLES #defines
4954 around the debug_stream declaration. debug_stream is used by
4955 dmsg_filter in debug.cpp. Changed SYSTEM_EXCEPTION to
4956 CORBA::SYSTEM_EXCEPTION.
4958 * tao/default_client.cpp: Removed extra parameter from
4959 ACE_Hash_Map_Entry #pragma instantiate statement.
4961 * tao/objtable.cpp: Deleted pragmas for instantiating ACE_Guard,
4962 ACE_Read_Guard, and ACE_Write_Guard to eliminate duplicate
4963 instantiations. Also, removed the instantiations from
4964 ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION for the same reason.
4966 * tao/orbobj.cpp: Added a typecast to void * in argvec_shift
4969 * tao/default.bld - Modified VxWorks Build File to change template
4970 instantiation modes.
4972 * tao/tao.bld - Added default_client.cpp, default_server.cpp,
4973 client_factory.cpp, and server_factory.cpp to the VxWorks build
4976 * tao/tao.dsp - Added default_client.cpp, default_server.cpp,
4977 client_factory.cpp, and server_factory.cpp to the Win NT project
4980 Tue Sep 2 07:31:45 1997 Chris Cleeland <cleeland@cs.wustl.edu>
4982 * tao/orbobj.cpp (ORB_init): VxWorks doesn't use
4983 ACE_Service_Config for now; the default factories are used. The
4984 Service Repository is still used, but the appropriate values are
4985 "stuffed" in manually.
4987 Sat Aug 30 17:07:18 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
4989 * tests/Thruput: First attempt at ACEifying it and removing the
4990 tremendous amount of unnecessary stuff that was in there. This
4991 modified version still needs testing on other platforms.
4993 Fri Aug 29 10:59:34 1997 Chris Cleeland <cleeland@lambada.cs.wustl.edu>
4995 * tao/Makefile (TAO_ROOT): FINALLY corrected the default
4996 definition of TAO_ROOT.
4998 Thu Aug 28 14:04:44 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5000 * tao/orbobj.i (CORBA_ORB): Removed assertion that was incorrect
5001 b/c our ORB object is a singleton and not dynamically allocated,
5002 thus the refcount can only reach zero at the end of its life.
5004 * tao/typecode.cpp (TC_Private_State): Relocated the delete of
5005 tc_discriminator_type_ to be after the deletion of the label list.
5006 This is because the discriminator will be inside each of the
5007 CORBA::Any instances within the label list, and deleting it before
5008 deleting the label list results in extreme badness.
5010 * tao/typecode.* (operator delete): Added CORBA_TypeCode::operator
5011 delete() to simplify deletion of both automatically and
5012 dynamically allocated instances of CORBA_TypeCode. This fixes the
5013 problem of freeing non-heap memory.
5015 * tao/nvlist.h (CORBA_NamedValue): Initialized refcount_ in the
5018 Mon Aug 18 16:39:40 1997 Carlos O'Ryan <coryan@mambo.cs.wustl.edu>
5020 * Makefile for TAO compiler:
5021 (SOEXT) must be used instead of just .so, the former does not
5022 work on all platforms, notably HP-UX.
5024 Mon Aug 18 16:39:29 1997 Carlos O'Ryan <coryan@mambo.cs.wustl.edu>
5027 * tests/Demux_Test/CodeGen/Makefile:
5028 (SOEXT) must be used instead of just .so, the former does not
5029 work on all platforms, notably HP-UX.
5031 Sun Aug 17 16:53:42 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu>
5033 * IIOP/test/Orbeline/client/Profile_Timer.h:
5034 * IIOP/tests/Cubit/VisiBroker/base_server/Profile_Timer.cpp:
5035 * IIOP/tests/Cubit/VisiBroker/base_server/Profile_Timer.h:
5036 * IIOP/tests/Cubit/VisiBroker/client/Profile_Timer.cpp:
5037 * IIOP/tests/Cubit/VisiBroker/client/Profile_Timer.h:
5038 * tests/Cubit/VisiBroker/base_server/Profile_Timer.cpp:
5039 * tests/Cubit/VisiBroker/base_server/Profile_Timer.h:
5040 * tests/Cubit/VisiBroker/client/Profile_Timer.cpp:
5041 * tests/Cubit/VisiBroker/client/Profile_Timer.h:
5042 We no longer use timestruct_t in ACE, it is a SYSVism; we use
5045 Sat Aug 16 01:11:56 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5047 * tests/Cubit/TAO/svc.conf: Added this as an example of an
5048 application's service config configuration file. It also serves
5049 as the documentation for various strategy factory options at the
5052 * tao/orbobj.cpp: Options parsed by the ORB are now
5053 -ORBsvcconf <filename> specifies the service configurator
5055 -ORBdaemon turn this into a daemon
5056 -ORBdebug turns debugging on in the service
5059 BOA_init() now sets the itself in the TAO_OA_Parameters singleton.
5061 * tao/orbobj.*: Changed client_factory(), server_factory(), and
5062 params() to return pointers rather than references.
5064 * tao/{roa,giop}.cpp: Updated code that uses the
5065 CORBA::ORB::client_factory() to deal with the fact that it now
5066 returns a pointer rather than a reference.
5068 * tao/default_server.cpp (init): This method now properly
5069 initializes the contained reactive and threaded strategies so that
5070 they're actually usable!
5072 * tao/connect.cpp: Added #endif comments.
5074 Wed Aug 13 17:42:39 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5076 * tests/Cubit/TAO/*: Converted to the CORBA:: namespace.
5078 * tao/default_server.h: Eliminated a few strategy accessors since
5079 they aren't provided by this implementation.
5081 * tao/default_server.cpp: Made this compile.
5083 * tao/corbacom.h: Slight reformatting of code. More importantly,
5084 added 'static' to the decl of ORB_init().
5086 * tao/corba.h: Added fake comment to trigger C++ mode.
5088 * tao/any.h: Added #endif comments.
5090 Tue Aug 12 22:37:06 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5092 * tao/{any,typecode,cdr}.h: Finished appeasing the compiler gods
5093 so that we can remove the ACE_INLINE hack. Things now seem to be
5096 * tao/corba.h: Got all the frigging header *.i files #included in
5097 the right order so that the GCC compiler stops complaining.
5099 * tao/giop.cpp: We had method definitions that were defined inline
5100 within the giop.h file. This was causing problems for GCC, which
5101 kept warning that methods in the cdi.i file were being used before
5102 being inlined. I've fixed this by creating a giop.i file.
5104 * tao/corba.h: Add #include files should be prefixed by "tao/".
5105 I've fixed this in the release.
5107 Tue Aug 12 16:23:17 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5109 * tao/any.i: Added a missing replace() method used by overloaded
5112 * tao/{any,cdr}.h: Added conditional ACE_INLINE before the decl
5113 for a few methods whose usage in other inlined methods appears
5114 prior to their definition.
5116 * tao/default_client.cpp: Eliminated names of unused arguments to
5117 stop the compiler from complaining.
5119 * tao/server_factory.cpp: Properly scoped return type names for
5122 * tao/{typecode,decode,deep_copy,debug}.cpp: Bracketed unused
5123 variables with #if defined(TAO_NEEDS_UNUSED_VARIABLES)/#endif;
5124 this leaves them around for right now in case they're important.
5126 * tao/client_factory.i (connector): Properly scoped return type's
5129 * tao/{client_factory,default_client}.cpp: Added necessary
5130 template instantiations.
5132 * tao/{typecode,cdr}.h: Added conditional ACE_INLINE in front of
5133 inlined methods to appease the compiler gods.
5135 * tao/boa.cpp (dispatch): Declared argument unused to get rid of
5138 * tao/corbacom.h: Moved #include of sequence.h before the decl for
5141 Sun Aug 10 10:58:21 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5143 * tao/client_factory: Moved the template specializations from the
5144 *.cpp file into the *.i file in order to get this stuff to link
5145 without multiply defined symbols. Thanks to Brian Mendel for
5146 giving me the idea to do this.
5148 * tao/client_factory.cpp: Added a template specialization for
5151 Sun Aug 10 08:56:20 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
5153 * CORBA_ to CORBA:: transformation complete. All the files in the
5154 TAO/tao distribution have been affected. The most notable changes
5156 (1) A file called "tao/corba.h" is now the master file. All *.cpp
5157 files include *just* this file and nothing else.
5159 (2) "tao/corbacom.h" is the file that defines the CORBA namespace
5160 i.e., class CORBA. Individual CORBA classes such as TypeCode, BOA,
5161 etc are now defined inside the CORBA namespace. This will allow
5162 users and developers to use CORBA::TypeCode as opposed to the
5163 previous CORBA_TypeCode. Instead of nesting the classes, however,
5164 we use typedefs to define individual CORBA classes inside class
5165 CORBA e.g., typedef CORBA_TypeCode TypeCode;
5167 (3) All *.i files are included at the end of "tao/corba.h" and
5168 nowhere else. However, if __ACE_INLINE__ isnot defined, then each
5169 individual *.i file is not yet included in their corresponding
5170 .cpp file. This will be done next.
5172 * TAO/tests/Demux_Test: Included code that tests various
5173 demultiplexing strategies in TAO. At this point, however, the code
5174 will not work because of changes in TAO. This will be done
5175 next. A README file provides additional details.
5177 * TAO/Benchmark: A suite of benchmarking tests have been
5178 included. This is still in the preliminary stages of
5179 development. The idea is to compare various aspects of CORBA such
5180 as marshaling overhead, demux costs, throughput, latency, and
5181 others for a range of ORBs including TAO. Since there are
5182 differences in programming different ORBs, this suite tries to
5183 abstract out all the common features or atleast provide a uniform
5184 interface so that minimal efforts are required to port an
5185 application from one ORB to another.
5187 Benchmark/benchmark: This directory contains thecommon features
5188 Benchmark/Marshal_Test: Tests marshaling overhead in 3 ORBs -
5189 Orbix, VisiBroker, and TAO. More will be added. There are a few
5190 problems getting DSI to work. The tech support at IONA and
5191 VisiBroker have been contacted.
5193 Sat Aug 9 14:05:08 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu>
5195 * tao: Continued to clean up all the code so that it is more
5196 consistent with ACE programming style.
5198 * tao/orbconf.h: Cleaned up a lot of the unnecessary #defines.
5200 * tao/default_server.h: Make sure we inherit from
5201 TAO_Server_Strategy_Factory, not TAO_Server_Factory.
5203 * tao/server_factory.cpp: Moved all the inline methods to be
5204 non-inline since this code will always be dynamically bound.
5206 * tao/client_factory.cpp: Cleaned things up a bit.
5208 Sat Aug 9 12:37:05 1997 Brian Mendel <brian.r.mendel@boeing.com>
5210 * tao/corba.h: Deleted include for xdr.h from corba.h. xdr.h
5213 * tao/objtable.cpp: Deleted pragmas for instantiating ACE_Guard,
5214 ACE_Read_Guard, and ACE_Write_Guard to eliminate duplicate
5215 instantiations. The templates are instantiated by ACE. Can these
5216 templates also be removed from the
5217 ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION section as well?
5219 * tao/default.bld: Added build file for VxWorks.
5221 * tao/tao.bld: Added build file for VxWorks.
5223 Fri Aug 8 14:25:20 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5225 * tao/orbobj.*: Updated various methods to use the new
5226 dynamically-linked strategy factories discussed below.
5228 * tao/default_client.*: This file now contains the default client
5229 strategy factory which is (a) dynamically linkable by the service
5230 configurator and (b) can be configured by flags passed in via
5231 service configurator.
5233 * tao/client_factory.*: This file now contains the abstract base
5234 class for the client strategy factory.
5236 * tao/default_server.*: This file now contains the default server
5237 strategy factory which is (a) dynamically linkable by the service
5238 configurator and (b) can be configured by flags passed in via
5239 service configurator.
5241 * tao/server_factory.*: This file now contains the abstract base
5242 class for the server strategy factory.
5244 * tao/params.*: Renamed DEMUX_STRATEGY enum to TAO_Demux_Strategy
5245 and put it at global scope instead of within TAO_OA_Parameters.
5247 * tao/svc.conf.eg: Created this file to serve as an example of
5248 various lines one might find in an application's svc.conf.
5250 Thu Aug 7 09:51:31 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
5252 * factories.cpp: Incorrect use of ACE_ASSERT in
5253 TAO_Server_Factory::object_lookup_strategy removed.
5255 * objtable.cpp: The octet sequence object key was being cast into
5256 a char* resulting in undefined behavior at times due to the lack
5257 of a NULL character to terminate it. Changes were made in the bind
5258 and find methods of TAO_Active_Demux_Table.
5260 Thu Aug 07 03:52:31 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
5262 * TAO version 0.0.8, released Thu Aug 07 03:52:31 1997.
5264 Thu Aug 7 00:43:14 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5266 * tao/typecode.cpp: A couple of errors involving TAO_CONST crept
5267 in when Brian checked in his code. I fixed these.
5269 Wed Aug 6 18:28:41 1997 Chris Cleeland <cleeland@swarm.cs.wustl.edu>
5271 * tests/Cubit/TAO/clnt.cpp (main): Corrected the format
5272 specifications when timing was printing out from %ld to %d. For
5273 some reason this never caused a problem on other platforms.
5275 Wed Aug 6 17:27:44 1997 Brian R. Mendel <brian.r.mendel@boeing.com>
5277 * tao/typecode.h: Removed qualified name in typecode.h to eliminate
5278 compiler warnings by the GHS compiler. Line 297.
5280 * tao/decode.cpp: Changed wchar_t* to CORBA_WChar* to eliminate
5281 compiler errors on GHS compiler. Lines 142, 216, 729, 1371, and 1475.
5283 * tao/typecode.cpp: Deleted unreachable break statements at lines
5284 429, and 477, 904, and 947.
5286 Wed Aug 6 16:31:29 1997 Chris Cleeland <cleeland@swarm.cs.wustl.edu>
5288 * tao/*: Changed 'const' to 'TAO_CONST' in contexts where the
5289 const didn't make sense. For example, this occurred in situations
5290 where methods declared their return type as 'const CORBA_String',
5291 which does not translate to 'const char*' but rather 'char*
5294 * tao/corbacom.h: Added #define for TAO_CONST. See above for
5297 * tao/{connect,factories,giop,iiopobj,marshal,objtable,
5298 optable,orbobj,roa}.cpp: Removed errant trailing semi-colon on all
5299 the #pragma instantiate directives.
5301 Wed Aug 6 13:56:40 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5303 * tao/{connect,factories,giop,iiopobj,marshal,objtable,
5304 optable,orbobj,roa}.cpp: Changed explicit template instantiations
5305 to use the new ACE enabling macro as well as adding the #pragma
5306 instantiate to placate Edison Design Group compilers.
5308 * tao/cdr.h: Changed default for CDR CTOR marshal factory to
5309 reflect the new name of the default marshal factory variable.
5311 * tao/orbobj.cpp (CORBA_ORB_init): Inserted call to
5312 TAO_Marshal::initialize().
5314 * tao/marshal.*: Added TAO_Marshal class to scope static
5315 initialization methods for the marshalling engine.
5316 TAO_DEFAULT_MARSHAL_FACTORY has moved inside of this.
5318 Sun Aug 3 13:12:03 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5320 * tests/Cubit/TAO: Continued to improve the formatting of these
5323 Sat Aug 2 13:55:40 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5325 * tests/Cubit/TAO: Cleaned up some of the formatting so that
5326 it is easier to read.
5328 Thu Jul 31 16:19:43 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5330 * tao/corba.h: Removed incorrect #include "tao/corba.h" in this
5333 Thu Jul 31 15:19:43 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5335 * tests/Cubit/TAO/*.{h,i,cpp}: Changed all #include of specific
5336 header files to include the application-level "tao/corba.h".
5338 * tests/Cubit/TAO/Makefile (BIN): Removed test1_svr and test1_clnt
5339 for now until we can get them working again. They stopped working
5340 after the BOA API changed and the non-standard get_request()
5343 * tao/any.h: Inserted #includes which insure that this header file
5344 is not position-dependent on other header files.
5346 * tao/corba.h: Created this catch-all header file for APPLICATIONS
5347 to use as a single entry point. Currently it just includes all
5348 TAO header files, but will eventually be pared down to only those
5349 headers which warrant public exposure.
5351 Wed Jul 30 16:55:02 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5353 * tao/typecode.i (CORBA_TypeCode): Re-ordered member
5354 initialization to correspond to declaration order.
5356 * tao/{typecode,orbobj,optable,decode,cdr}.cpp: Added explicit
5357 typecast to CORBA_ULong/unsigned long to eliminate warnings about
5358 comparisons btw. signed and unsigned entities.
5360 * tao/optable.cpp (bind): Put in explicit return type for
5361 TAO_Active_Demux_OpTable::bind().
5363 Wed Jul 30 14:18:02 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5365 * tao/Makefile: Corrected automatic definition of TAO_ROOT and
5366 fixed all dependencies on tao header/inline files.
5368 * tao/{typecode,object}.i: Moved a few methods to the beginning of the file
5369 so that the compiler KNOWS that they are inlined when it hits the
5370 first reference to them later in the file.
5372 * tao/object.cpp: Added an end-of-line to silence a very picky SGI
5375 Wed Jul 30 10:05:38 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5377 * tao/connect.cpp: Removed a number of explicit template
5378 instantiations that are already included in ACE.
5380 Wed Jul 30 14:20:18 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
5382 * tao/boa.{i,h,cpp}: Removed the #include of "tao/objtable.h" and
5383 instead moved the methods that needed it from boa.i to boa.cpp
5385 Wed Jul 30 13:58:02 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
5387 * tao/boa.h: Added #include of "tao/objtable.h" since it is needed
5388 in boa.i (which is included here when inlining is turned on)
5390 Wed Jul 30 10:05:38 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5392 * tao/boa.h: Removed the #include of "tao/objtable.h" which seems
5393 to be unnecessary and may cause problems for template
5396 * tao/iiopobj.i (IIOP_Object): Changed the second parameter to the
5397 IIOP_Object constructor so that we can is a const
5398 IIOP::ProfileBody &. This prevents a compiler warning.
5400 * tao/typecode.cpp (private_id): Removed unused variable status.
5402 * tao/objtable.cpp (bind): Removed the temp variable, which
5405 Tue Jul 29 19:31:11 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
5407 * tao/boa.cpp (get_boa): Added casts of ACE_UINT32 so that we
5408 don't have ambiguous calls to the constructor of ACE_INET_Addr.
5410 * tao/deep_copy.cpp (deep_copy): Removed an unreachable return
5413 Mon Jul 21 15:08:36 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5415 * TAO version 0.0.7, released Mon Jul 21 15:08:36 1997.
5417 Mon Jul 21 12:06:16 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
5419 * tao/object.cpp: removed the #include of object.i since it will
5420 always be #included in object.h
5422 Thu Jul 17 16:54:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
5424 * TAO version 0.0.6, released Thu Jul 17 16:54:38 1997.
5426 Thu Jul 17 16:43:23 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5428 * tao/{optable,objtable}.cpp: Updated the explicit template
5429 instantiations at the end of these files to reflect the changes
5432 Thu Jul 17 10:08:45 1997 Aniruddha Gokhale <gokhale@merengue.cs.wustl.edu>
5434 * tao/align.h: A very subtle error in "align_binary" was corrected. I
5435 was assuming that align_binary is always called by
5436 "ptr_align_binary". In the original inline function versions of
5437 align_binary and ptr_align_binary, the function align_binary would
5438 subtract 1 from the specified alignment that ptr_align_binary
5439 provided. Since I assumed that "align_binary" would always be
5440 called by "ptr_align_binary", I subtracted the 1 in
5441 ptr_align_binary and passed the result to "align_binary". This
5442 caused all sorts of problems for application code that directly
5443 called "align_binary". This error has been fixed. The macros for
5444 align_binary and ptr_align_binary are now exactly as the original
5447 * tao/any.{h,cpp}: Added comments. In addition, in the code for
5448 Any::replace, we check if "_value" exists before trying to
5449 DEEP_FREE it. Otherwise this was resulting in a segmentation fault
5452 * tao/boa.{h,i}: Added comments and changed "release" to CORBA_release
5454 * tao/cdr.{h,cpp}: Added some comments and removed some stuff that was
5455 under #if 0 .. #endif
5457 * tao/corbacom.h: Added lots of comments for the CORBA_String_var class
5459 * tao/decode.cpp: Made TAO_Marshal_Union::decode to work, added comments.
5461 * tao/encode.cpp: Made TAO_Marshal_Union::encode to work, added comments.
5463 * tao/factories.{h,cpp}: Added lots of comments. Removed "void
5464 object_lookup_strategy" method since we do this in the parameters
5465 class. Added code that will use a user defined lookup strategy if
5466 the corresponding flag is set. This needs to be tested.
5468 * tao/iiopobj.{i,cpp}: In the allocation and deallocation of the buffer
5469 for object key, we now use "new/delete" instead of "malloc/free".
5471 * tao/interp.cpp: commented out a line that decremented 4 from the
5472 offset provided for indirected typecodes. I guess this was plain
5473 hack to get some broken things to work.
5475 * tao/objtable.{h,cpp}: Added lots of comments. Added code that will use
5476 template specialization for the dynamic hashing case. In addition,
5477 improved the destructors of the classes since previously, these
5478 were not releasing occupied memory.
5480 * tao/optable.{h,cpp}: Added lots of comments. Added template
5481 specialization for dynamic hashing scheme. Made dynamic hashing
5482 scheme the default. Added a new definition for "struct
5483 TAO_operation_db_entry". The idea is that an IDL compiler will
5484 generate a database of operations and their corresponding
5485 skel_ptrs. Such a database is now passed to teh constructors of
5486 the operation lookup tables. This way, only one instance of such
5487 lookup tables can be shared by any number of objects implementing
5490 * tao/params.{h,i,cpp}: Made dynamic hashing the default. Added a hook
5491 by which users can supply their lookup strategies. *Needs testing*.
5493 * tao/typecode.{h,i,cpp}: Added comments and many changes. The private
5494 state's constructor now takes an argument that is a TCKind
5495 representing the TypeCode kind of the object of which we are the
5496 private state. Removed "child_free". Instead, we introduced a
5497 destructor for the private state that frees all the
5498 children. Another important change is to the constructor of the
5499 TypeCode class. We pass a "parent" pointer, if any, to the
5500 constructor. All children typecodes will share the octet buffer of
5501 the parent. Only freestanding typecodes will allocate octet
5502 buffers. We have a new data member called "non_aligned_buffer_"
5503 because the buffer we allocate may not be aligned on a 4 byte
5504 boundary. As a result, we may start using the buffer at a shifted
5505 position to the right. However, we do not want to lose a handle to
5506 the original buffer that was allocated because at the time of
5507 freeing, this pointer needs to be freed.
5509 * tests/Cubit/TAO: Modified a few files (method_db.i, cubitS.cpp)
5510 so that they use the modified optable and objtable classes. Added
5511 a README file to indicate how to run the example.
5513 * tests/Thruput_test: Modified virtually all the files to make it
5514 work with the latest TAO release and its include files. Also,
5515 changes similar to Cubit were necessary due to changes in the
5516 objtable and optable classes.
5518 Wed Jul 16 14:17:01 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu>
5520 * tao/params.*: Eliminated unnecessary
5521 ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES checks from
5522 TAO_OA_Parameters (unnecessary b/c it's not a template). Also
5523 corrected the type of TAO_OA_Parameters::ace_singleton_lock_.
5525 Wed Jul 16 11:34:36 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5527 * tao/boa.cpp: Removed some unused code.
5529 * tao/compat/objbase.h: Added explicit check for prior inclusion
5530 of ace/OS.h, with an error being produced if it's not included.
5531 This will help keep me honest and remember to always include OS.h
5532 beforehand, since I do most of my development on non-WIN32
5535 * tao/*.{h,cpp}: Added #include "ace/OS.h" before every inclusion
5536 of <objbase.h>. This is required on WIN32 platforms because
5537 objbase.h eventually ends up including <winsock.h>, which is the
5538 wrong version of winsock from what ACE requires. Thus, by
5539 including OS.h prior to objbase.h, objbase.h ends up not trying to
5540 include a winsock header.
5542 * tao/orbobj.cpp: Added missing #include for tao/debug.h.
5544 Wed Jul 16 10:55:55 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
5546 * tao/PC_Install.bat: removed it since it isn't needed anymore
5548 * tao/TAO.dsp: Changed include path and removed calling of
5551 * tests/Cubit/TAO/{client,server}.dsp: Changed include path
5553 Tue Jul 15 16:13:53 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5555 * tests/Cubit/TAO/cubitC.cpp: Added missing calls to Release()
5556 after QueryInterface() calls. The tip-off that this wasn't
5557 happening was the fact that, upon client exit, there were upwards
5558 of 15 references to the object references. Now it's only 5-7
5561 * tests/Cubit/TAO/*: Changed all #include paths to be "tao/...".
5562 Also, changes to orb.h (see below) obviated additional header
5563 inclusion in certain files.
5565 * tao/compat/*.h: Changed the guts of these files so that they
5566 work more like their "real" counterparts in the VC++ 5.0. This
5567 should encourage compatibility. Note that, unlike the previous
5568 files, objbase.h MUST be included before initguid.h; this is
5569 consistent with the model on WIN32.
5571 * tao/*.{h,cpp}: Changed all #include paths to be "tao/...".
5572 Also, changes to orb.h (see below) obviated additional header
5573 inclusion in certain files.
5575 * tao/giop.cpp: Removed get_request() crufty old code.
5577 * tao/iiopobj.cpp: Backed out many prior special-code additions
5578 for defining IIDs. Hopefully the need for these is negated by
5579 changes elsewhere in the "compat" files.
5581 * tao/object.cpp: Corrected the conditional compilation switch
5582 used to determine if we define IID_IUnknown. This now happens
5583 whenever WIN32 isn't defined, instead of before when it was only
5584 on unix or vxworks platforms.
5586 * tao/Makefile: Eliminated the need to copy files into a "proto/"
5587 directory; now, everything is built into and used from the "tao"
5590 There is also a new, optional, environment
5591 variable--TAO_ROOT--which should be set to the ".../TAO"
5592 directory. If it's not set, the Makefile will set it to
5595 Lastly, libcorba.* has changed to libTAO.*.
5597 * tao/orb.h: Eliminated many header files which had been
5598 explicitly included here and were causing all manner of problems
5599 with circular includes. Library components must now be careful to
5600 include appropriate headers for all components they use, and we
5601 will likely have to create a corba.h file for clients to use.
5603 Fri Jul 11 12:12:40 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
5605 * tao/TAO.dsp: changed to use ace-r.dll in the release
5608 * tests/Cubit/TAO/{client,server}.dsp: changed to use ace-r.dll
5609 and tao-r.dll for the release versions.
5611 Thu Jul 10 15:47:24 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5613 * docs/: Removed the following obsolete files: README.apm,
5614 BUILDING, and TESTS.
5616 * tao/params.*: Moved the instance() methods into the .cpp from
5617 the .i, as well as the declaration for the singleton locks.
5618 Having the singleton locks declared in the .i file caused much
5619 consternation when ACE inlining was turned on.
5621 * tao/iiopobj.cpp: #ifdef'd the IID_STUB_Object declaration added
5622 a few days ago so that it happens one way on NT, and another in
5623 the rest of the Universe. I would have preferred to find a more
5624 general solution, but didn't find one quickly enough to satisfy my
5625 current requirements.
5627 * tao/roa.*: Removed get_request() method. This should improve
5628 our McCabe scores ;-)
5630 * tao/boa.h: Removed get_request() method.
5632 Wed Jul 9 14:44:31 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
5634 * TAO-Install: Added installation instructions for NT
5636 Tue Jul 8 20:52:06 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
5638 * tao/PC_Install.bat: Made it very quiet.
5640 * tao/params.{cpp,h,i}: Changed TAO_OA_PARAMS from a
5641 ACE_Singleton to a plain singleton by just integrating the
5642 ACE_Singleton code into the class.
5644 Tue Jul 8 14:27:47 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
5646 * tao/except.h: added ACE_Svc_Export to SYSEX macro
5648 * tao/iiopobj.cpp: changed declaration of IID_STUB_Object
5649 to include ACE_Svc_Export
5651 * tao/stub.h: added ACE_Svc_Export to IID_STUB_Object
5653 Tue Jul 8 12:44:14 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
5655 * tao/orbobj.cpp: Put the "*" in before the comment since it is
5656 supposed to be there. Put a space between it and the comment
5657 to get rid of the warning which VC was giving originally.
5659 Tue Jul 8 10:21:27 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
5661 * tao/typecode.cpp: Changed a few loop counters from int to
5662 CORBA_ULong to get rid of unsigned/signed comparison warnings
5664 * tao/orbobj.cpp: Got rid of a "*" before a comment. Looked like
5667 * tao/PC_Install.bat: Replaced "#...." with "rem ...."
5669 Mon Jul 7 20:59:05 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5671 * tests/Cubit/TAO/test1_{svr,clnt}.cpp (main): Added template
5672 specialization code and updated the formatting. Thanks to Arturo
5673 Montes <mitosys@colomsat.net.co> for reporting this.
5675 * tests/Cubit/TAO/test1_svr.cpp (main): Added the -i options to
5676 getopt(). Thanks to Arturo Montes <mitosys@colomsat.net.co> for
5679 * TAO/tao/orbconf.h (SIZEOF_LONG_DOUBLE): Added a
5680 #define for M_UNIX. Thanks to Arturo Montes
5681 <mitosys@colomsat.net.co> for reporting this.
5683 Sun Jul 06 02:37:24 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
5685 * TAO version 0.0.5, released Sun Jul 06 02:37:24 1997.
5687 Sun Jul 6 00:10:28 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
5689 * tao: Fixed all the code so that we put ACE_MT around all the
5690 ACE_GUARD_RETURN macros.
5692 * tao: Updated all of TAO to make sure we use [] when deleting
5693 arrays in order to avoid memory leaks. This looks like lots of
5694 sloppiness left over from the original SunSoft IIOP code.
5696 Sat Jul 5 16:12:31 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
5698 * tao/{any,iiopobj,nvlist,principa,request,roa,svrrqst,typecode}.cpp:
5699 Fixed a double-deletion of a lock.
5701 * tao/typecode.i: Cleaned up lots of minor warnings with the code
5702 that are only revealed when running GCC. The code should now
5703 compile almost completely cleanly with -wall.
5705 * tao/typecode.{i,h}: Changed the name of TC_PRV_State to
5708 * tao: Replaced ACE_Thread_Mutex with ACE_SYNCH_MUTEX so that the
5709 code will compile on non-threaded and threaded platforms alike.
5711 * tao/marshal.cpp: Added template specializations for the Marshal
5712 primitives. Thanks to Arturo Montes <mitosys@colomsat.net.co> for
5715 * tao/Makefile (LDLIBS): Replaced -lcorba with -lACE so that we no
5716 longer have problems with circular link dependencies. Thanks to
5717 Arturo Montes <mitosys@colomsat.net.co> for reporting this.
5719 Sat Jul 05 13:25:23 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
5721 * TAO version 0.0.4, released Sat Jul 05 13:25:23 1997.
5723 Sat Jul 5 12:39:57 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5725 * tao: All throughout TAO I removed the direct use of system
5726 include files in lieu of using ace/OS.h.
5728 * tao/{orbobj,typecode}.cpp: orb.h must be included before others
5729 include files. Previous includes prevent correct use of ACE config
5730 flags, therefore, I removed them. Thanks to Arturo Montes
5731 <mitosys@colomsat.net.co> for reporting this.
5733 * tao/{debug,roa}.cpp: changed _POSIX_THREADS to ACE_HAS_PTHREADS.
5734 Thanks to Arturo Montes <mitosys@colomsat.net.co> for reporting
5737 * tao/decode.cpp (decode): The casting (CORBA_ULong) kind is
5738 unnessary and wrong so I removed it. Thanks to Arturo Montes
5739 <mitosys@colomsat.net.co> for reporting this.
5741 * tao/debug.cpp (emit_prefix): Changed line 99 from
5743 #define emit_prefix (stream) ...
5747 #define emit_prefix(stream) ...
5749 The blank character prevent after macro name (emit_prefix) prevent
5750 correct definition. Thanks to Arturo Montes
5751 <mitosys@colomsat.net.co> for reporting this.
5753 Sat Jul 5 01:04:24 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5755 * TAO/tao/xdr.cpp: Removed unistd.h and string.h from the xdr.cpp
5756 file since those aren't necessary. Thanks to Arturo Montes
5757 <mitosys@colomsat.net.co> for reporting this.
5759 Fri Jul 4 00:18:21 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5761 * tao/roa.h: Removed derogatory COMments ;-). Thanks to Anton van
5762 Straaten <anton@appsolutions.com> for reporting this.
5764 Thu Jul 3 16:16:14 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
5766 * Added ACE_Svc_Export to a couple of declarations to make NT
5769 Thu Jul 3 13:43:20 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
5771 * Added Visual C++ 5.0 project and workspace files for the TAO
5772 library and Cubit test
5774 Wed Jul 2 12:44:42 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
5776 * TAO/tests: Moved tests from TAO/IIOP/tests to TAO/tests
5778 Wed Jul 02 00:20:28 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
5780 * Compiled the first alpha release of TAO on Solaris just
5781 to make sure it still works. So far, so good... hence,
5782 the first alpha release is out the door!
5784 Tue Jul 1 23:35:53 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5786 * VERSION: Added a VERSION file, starting at version 0.0.0...
5788 Tue Jul 1 23:00:15 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
5790 * Added a new tests directory with the Cubit and TTCP
5791 examples. The older test directory will be deleted soon.
5793 In addition, the tc_constants in the tc_constants.cpp file are
5794 declared with an ACE_Svc_Export to make the Win NT compiler
5795 happy. Extern declarations in typecode.h had the same changes.
5797 * Updated the PC_install.bat file. In addition, there was one more
5798 warning in typecode.cpp (Win NT compiler) that was fixed. Finally,
5799 in the the tc_const.cpp file, the ACE_Svc_Export was used
5800 accidently. This has been fixed.
5802 * A number of files were updated with ACE_Svc_Export so that
5803 variables and classes do not remain unresolved for Win32
5804 platform. Similarly, Irfan had sent me a list of warnings that the
5805 Win NT compiler was giving. These are fixed.
5807 * marshal.*: Changed the way make_marshal_object works. Instead of
5808 having a switch statement, we index into a private table of
5809 marshal objects using the TypeCode _kind field. MarshalFactory now
5810 maintains this private table.
5812 Mon Jun 30 17:39:02 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
5814 * Added a new README file and a COPYING file that explains the
5815 contents of TAO and clarifies its copyright status.
5817 Sun Jun 29 10:06:50 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
5819 * marshal.*: Added CORBA_Environment as a parameter to
5820 make_marshal_object factory method. The reason for doing this was
5821 to enable inlining of the CDR::encode and CDR::decode methods.
5823 * typecode.*: Changed the way typecodes get deleted. Constant
5824 typecodes are now owned by the ORB and their private state freed
5825 when the ORB dies. IDL generated typecodes are not owned by the
5826 ORB and are the only ones whose refcount matters. Typecodes
5827 belonging to the IDL generated typecodes are also not owned by the
5828 ORB and there is no effect on their refcount. They get freed only
5829 if the parent is destroying itself.
5831 In typecode.i, methods such as length and content_type were not
5832 getting inlined due to presence of switch statements. Converted to
5835 * interp.cpp: Bug fix: Had previously forgotten to update the
5836 size/alignment of the private state of the typecode.
5838 Fri Jun 27 14:27:49 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
5840 * any.cpp: The deep_copy and deep_free optimizations applied. In
5841 the previous release, I had forgotten to add these to the Any
5842 constructor (that calls deep_copy) and Any destructor/replace
5843 (that call deep_free).
5845 * connect.cp, factories.cpp: Added code that hardcodes the socket
5846 buffer sizes to 64K. This is a hack for the time being.
5848 Thu Jun 26 10:02:47 1997 Aniruddha Gokhale <gokhale@merengue.cs.wustl.edu>
5850 * Some more progress on IDL compiler. Generates the client and
5851 server side files without much contents in it.
5853 Thu Jun 26 09:49:38 1997 Aniruddha Gokhale <gokhale@merengue.cs.wustl.edu>
5855 * Added a full range of optimizations to the TAO IIOP interpretive
5856 marshaling engine. The static methods encoder and decoder have
5857 been removed from the CDR class. Instead, separate classes for
5858 marshaling have been created for each individual data type. The
5859 CDR stream maintains a factory that returns an appropriate
5860 marshaling object depending on the data type to be
5861 marshaled. Files added include marshal.h, marshal.i, encode.cpp,
5862 decode.cpp, deep_free.cpp, and deep_copy.cpp. The marshal.h file
5863 defines classes for an abstract MarshalObject. The factory is
5864 responsible to return a concrete specialized instance of the
5867 * Updated the CORBA_TypeCode class so that it now provides all the
5868 CORBA_2.0 compliant operations. These include length(),
5869 content_type(), member_type(), member_label(),
5870 discriminant_type(), id(), default_index(). The equal() operations
5871 is still not implemented. In addition, precomputation
5872 optimizations are applied to the TypeCode class. This includes
5873 precomputing various parameters (if any) of a TypeCode. For
5874 example, a struct TypeCode keeps track of the member count and
5875 member types. As a result, it is not necessary to interpret the
5876 CDR encapsulated stream to retrieve these parameters.
5878 * At this time, there are some problems getting the Unions to work.
5880 Thu Jun 12 15:45:49 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5882 * IIOP/lib/objtable.cpp: Added explicit template instantiations
5883 for ACE_Hash_Map_Manager<>.
5885 * IIOP/lib/giop.*: Finally got rid of all those methods that took
5886 ACE_HANDLE as the argument. Now, all those operate on
5889 Thu Jun 5 10:15:21 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5891 * IIOP/lib/giop.cpp: Corrected output format in error message.
5893 Thu Jun 5 10:09:01 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu>
5895 * IIOP/test/svr.cpp: Added a new class to catch SIGINT and
5896 terminate. This was necessary to Quantify the server process.
5898 * IIOP/lib/orbobj.h: Added ACE_INLINE to forward decls of
5899 CORBA_release() and CORBA_is_nil().
5901 Wed May 23 14:39:01 1997 Brian Mendel <bmendel@mdc.com>
5903 * IIOP/lib/objtable.{h,cpp}: Added template specialization of
5904 ACE_Hash_Map_Manager for char*'s.
5906 * IIOP/test/cubitS.cpp: Fixed type_id to be of type CORBA_String_var.
5907 Also, added a debug msg to print the object address to show the
5908 object for which the request is made.
5910 * IIOP/test/svr.cpp: Added capability to create multiple Cubit
5911 objects via command line options. Added -n for number of objects and
5912 -k for specifying a base name. For instance, -k Beevis -n 2 creates
5913 Beevis1 and Beevis2 objects. The clnt can then specify a specific
5914 object for the request as usual.
5916 Wed May 22 12:28:45 1997 Brian Mendel <bmendel@mdc.com>
5918 * IIOP/test/clnt.cpp: Deleted VxWorks specific sections. Command
5919 line is now working for VxWorks.
5920 * IIOP/test/svr.cpp: Deleted VxWOrks specific sections. Command line
5921 is now working for VxWorks.
5923 Wed May 22 11:31:42 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5925 * IIOP/test/svr.cpp: Added better error checking and messages, and
5926 performed general re-formatting.
5928 * IIOP/test/method_db.i (initialize_method_db): Changed arg type
5929 to use a pointer to the abstract class TAO_Operation_Table.
5931 * IIOP/test/cubitS.cpp (_skel_Cubit::_skel_Cubit): Added better
5932 error checking and messages. Also defaulted to use the linear
5933 object table implementation rather than the hashed to simplify
5936 * IIOP/test/clnt.cpp: Moved some code around so that more of the
5937 code is common is less is specific to VxWorks and other platforms.
5938 Also did general re-formatting.
5940 * IIOP/lib/optable.cpp (TAO_Linear_OpTable::find): Initialization
5941 of the loop variable makes the loop work properly.
5943 * IIOP/lib/objtable.cpp (TAO_Dynamic_Hash_ObjTable::find):
5944 Explicitly specified length of object key in CTOR for ACE_CString
5945 because object keys are not zero-terminated.
5947 * IIOP/lib/giop.cpp: Added newlines to the end of all ACE_DEBUG()
5950 * IIOP/lib/factories.cpp: Added template specializations for
5951 ACE_Hash_Addr<ACE_INET_Addr, TAO_Client_Connection_Handler>.
5953 Tue May 22 09:32:41 1997 Brian Mendel <bmendel@mdc.com>
5955 * IIOP/lib/cdr.h: Deleted #define old_value ACE_INLINE and
5956 #define ACE_INLINE old_value lines. Added #undefs for ACE_INLINE
5957 prior to redefines. Changes required to compile on Windows NT.
5959 Tue May 20 14:47:46 1997 Chris Cleeland <cleeland@cs.wustl.edu>
5961 * IIOP/test/cubitS.h: Removed forward decl of
5962 TAO_Active_Operation_Table.
5964 * IIOP/test/{cubitC,cubitS}.*: Changed include quoting characters
5965 from [<>] to double-quotes.
5967 * IIOP/test/Makefile: Removed cubit.o from clnt and svr target
5968 (this has been subsumed by cubit[CS]).
5970 * IIOP/lib/optable.h: Changed ACE_RW_Mutex to ACE_SYNCH_RW_MUTEX.
5972 * IIOP/lib/optable.cpp: Inserted explicit template instantiations.
5974 * IIOP/lib/Makefile: Added optable to the Makefile.
5976 * IIOP/lib/optable.cpp: Moved ~TAO_Operation_Table() into here.
5978 * IIOP/lib/object.i: Moved find() and bind() into the cpp file.
5979 Moved ~TAO_Operation_Table() into optable.cpp.
5981 Tue May 20 14:39:00 1997 Brian Mendel <bmendel@mdc.com>
5983 * IIOP/test/*: Commited changes to Cubit Example as a current snapshot
5984 of required changes.
5986 * IIOP/lib/*: Changes required for header file includes. Added
5987 conditionals around _IIOP_BUILD_
5989 Tue May 20 13:55:58 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu>
5991 * IIOP/test/*: Commited this stuff in-process so that Brian
5992 M. doesn't have to duplicate effort.
5994 Tue May 20 13:04:00 1997 Brian Mendel <bmendel@mdc.com>
5996 * IIOP/lib/debug.cpp: Deleted spaces between flockfile (f) and
5997 funlockfile (f). Changed instances of debug_filter to
5998 TAO_debug_filter. Deleted space between emit_prefix (stream).
6000 * IIOP/lib/cdr.cpp Added undef(s) for ACE_INLINE and
6001 do_undef_on_ACE_INLINE to eliminate redefinition problems.
6004 Tue May 20 10:55:09 1997 Chris Cleeland <cleeland@cs.wustl.edu>
6006 * IIOP/lib/cdr.h: Fixed the automatic inclusion of cdr.i into
6007 cdr.h by checking to see if __ACE_INLINE__ is not defined and, if
6008 so, defining ACE_INLINE to be "inline" (we tidy up the namespace
6009 immediately after the inclusion of cdr.i, too). See source for
6010 comments regarding why this is done.
6012 * IIOP/lib/optable.cpp (TAO_Linear_OpTable_Entry): Removed setting
6013 of opname and skel_ptr to zero in CTOR since the CTOR for those
6014 already insures this. Moreover, NT's compiler was complaining
6015 about ambiguous resolutions.
6017 * IIOP/lib/{orbobj,giop,debug,boa}.cpp: Fixed reference to
6018 debug_level so it's TAO_debug_level.
6020 * IIOP/lib/object.h: Replaced inclusion of optable.h with forward
6021 decl of TAO_Operation_Table.
6023 * IIOP/lib/optable.cpp: Fixed names of methods that were changed
6024 in the header but never changed in the source. Amazing that
6025 neither g++ nor Sun C++ caught these gaffs! (Finally, the NT
6028 * IIOP/lib/{orbobj,object}.h: Changed the forward decls of
6029 CORBA_release() and CORBA_is_nil() so that they are only in effect
6030 when inlining is NOT being used.
6032 * IIOP/lib/giop.cpp: Fixed incorrect passing of an object to
6033 ACE_DEBUG() where an int is expected.
6035 Mon May 19 17:16:34 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu>
6037 * IIOP/lib/roa.cpp: Explicit cast rids us of a warning.
6039 * IIOP/lib/params.h: Fixed CTOR name. Once again I'm surprised
6040 G++ didn't catch this.
6042 * IIOP/lib/optable.h: Corrected erroneous method signature on
6045 * IIOP/lib/objtable.cpp: Corrected erroneous method signature on
6046 TAO_Linear_ObjTable::bind().
6048 * IIOP/lib/{object,orbobj}.h: Forward declaration of
6049 CORBA_release(CORBA_Object_ptr) and CORBA_is_nil(CORBA_Object_ptr)
6050 were commented out. I think this will cause a problem when we
6051 DON'T inline, but I'll cross that bridge later.
6053 * IIOP/lib/{orb,factories}.h: Made inclusion of some headers
6054 conditional on the compilation phase (building the library or an
6057 * IIOP/lib/cdr.i: Removed incorrect default arguments (g++ didn't
6060 * IIOP/lib/Makefile: Removed thread from the header list.
6062 Mon May 19 10:07:00 1997 Chris Cleeland <cleeland@cs.wustl.edu>
6064 * IIOP/lib/optable.cpp: Changed implementation of the operation
6065 table and the parameters repository so that they use the right
6068 Sat May 17 17:18:38 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
6070 * First pass at providing a backend to the SunSoft's CORBA IDL
6073 Fri May 16 17:30:31 1997 Chris Cleeland <cleeland@cs.wustl.edu>
6075 * IIOP/lib/svrrqst.*: Corrected some comments, adjusted some
6076 argument type names to reflect their new, namespace-sanitized
6077 names, and moved short methods into a new inline file.
6079 * IIOP/lib/stub.h: Corrected some comments and adjusted some
6080 argument type names to reflect their new, namespace-sanitized
6083 * IIOP/lib/roa.cpp: Corrected syntax error and fixed up typedef.
6085 * IIOP/lib/params.*: Removed extraneous comments and fixed
6086 argument type on demux_strategy().
6088 * IIOP/lib/orbobj.*: Added comments, removed static pointer to
6091 * IIOP/lib/optable.h: Removed extraneous comments and fixed
6094 * IIOP/lib/objtable.cpp: Fixed some syntax errors introduced by
6097 * IIOP/lib/object.cpp: Adjusted some argument type names to
6098 reflect their new, namespace-sanitized names.
6100 * IIOP/lib/invoke.cpp: Removed crufty #includes and adjusted some
6101 argument type names to reflect their new, namespace-sanitized
6104 * IIOP/lib/iioporb.*: Moved short methods into inline file, added
6105 IIOP_ORB_ptr typedef, and changed data member to conform to ace
6108 * IIOP/lib/iiopobj.*: Added the second CTOR that I forgot last
6109 time and adjusted some argument type names to reflect their new,
6110 namespace-sanitized names.
6112 * IIOP/lib/giop.h: Added comments for various enums and
6115 * IIOP/lib/giop.cpp: Switched various GIOP::Invocation methods to
6116 use handler_->peer() for socket communication rather than going
6117 through a file descriptor. Also began the arduous (no other word
6118 could explain it!) process of converting the homegrown debugging
6119 message macro uses into ACE_DEBUG() uses.
6121 * IIOP/lib/factories.*: Added explicit DTOR for TAO_Client_Factory
6122 and completed all the darn explicit template instantiations.
6123 Changed 'Svc_Handler' to 'TAO_Client_Connection_Handler', and
6124 added the forgotton TAO_Client_Factory::connector() method.
6126 * IIOP/lib/debug.*: Added 'TAO_' prefix to global debug state
6127 variables and removed crufty #includes.
6129 * IIOP/lib/connect.cpp: Change ROA_Handler to
6130 TOA_OA_Connection_Handler (missed these the last time through).
6132 * IIOP/lib/cdr.cpp: Added responsive commentary.
6134 * IIOP/lib/boa.cpp: Added comments to the dispatching code.
6136 * IIOP/lib/{any,boa,request,typecode}.cpp: Removed references to
6139 Thu May 15 19:08:16 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
6141 * Finished updating all the reformatting.
6143 Thu May 15 15:54:49 1997 Chris Cleeland <cleeland@cs.wustl.edu>
6145 * IIOP/lib/principa.h: Corrected syntax error which eliminated the
6146 _refcount data member.
6148 * IIOP/lib/{params,roa}.*: Updated class names to reflect ROA -->
6149 TOA_OA pseudo-namespace change.
6151 * IIOP/lib/orbobj.*: Updated CORBA_ORB_init() to return pointer to
6154 * IIOP/lib/orb.h: Commented out some include files to eliminate
6155 wierd circular dependencies.
6157 * IIOP/lib/optable.h: Moved TAP_Operation_Table into here. Put
6158 OpTable* classes into the TAO_Operation_Table* pseudo-namespace.
6160 * IIOP/lib/objtable.*: Moved TAO_Object_Table into here. Moved
6161 the Entry classes out of the scope of their respective concrete
6162 operation tables, so they're now named <concrete_table>_Entry.
6164 * IIOP/lib/object.*: Moved TAO_Operation_Table into optable.*, and
6165 added a data member which carries a pointer to the ORB with which
6166 the object is associated.
6168 * IIOP/lib/iioporb.*: Added a singleton typedef for the ORB which
6169 is what CORBA_ORB_init() will now return. Modified
6170 string_to_object() so that it sets the ORB on the CORBA_Object
6173 * IIOP/lib/{iiopobj,nvlist}.h: Added some responsive commentary.
6175 * IIOP/lib/giop.cpp: Modified connection establishment code in
6176 GIOP::Invocation::start() to utilize the client connection manager
6179 * IIOP/lib/giop.h: Put a TAO_Client_Connection_Handler* into
6180 GIOP::Invocation in place of the client_endpoint.
6182 * IIOP/lib/factories.*: Updated explicit template instantiations,
6183 added TAO_Client_Connection_Handler.
6185 * IIOP/lib/connect.*: Renamed things--ROA_Parameters -->
6186 TOA_OA_Parameters, ROA_Handler --> TOA_OA_Connection_Handler.
6188 * IIOP/lib/boa.h: Moved TAO_Object_Table into objtable.*, added
6189 comments where appropriate.
6191 * IIOP/lib/{any,cdr,iioporb,invoke}.*: Re-formatting and creation
6192 of inline method file.
6194 Tue May 13 21:51:22 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
6196 * Continued to update the format of the TAO source code so that it
6197 will be consistent with the style used in ACE.
6199 Mon May 12 17:02:29 1997 Chris Cleeland <cleeland@cs.wustl.edu>
6201 * IIOP/lib/roa.*: Moved short method into an inline file.
6202 Miscellaneous reformatting. Adjustment to new type names
6203 (prefaced by TAO_ for namespace protection).
6205 * IIOP/lib/object.*: Moved short methods into an inline file.
6206 Changed lookup()/register_op() to find()/bind() for consistency
6207 with established ACE APIs. Miscellaneous reformatting.
6209 * IIOP/lib/iiopobj.*: Moved short methods into an inline file.
6210 Added CTOR for IIOP::Version and IIOP::ProfileBody. Added
6211 convenience CTOR for IIOP_Object where the profile can be
6212 supplied. Miscellaneous reformatting.
6214 * IIOP/lib/boa.*: Moved short methods into an inline file. Changed
6215 lookup()/register_obj() to find()/bind() for consistency with
6216 established ACE APIs.
6218 * headers: Added comments to force C++ mode in emacs for header
6219 files, and changed SCCS version tag info to RCS version tag info.
6221 Wed May 7 14:49:46 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
6223 * IIOP/lib/corbacom.cpp: Some bugs from the CORBA_String_var class
6224 have been fixed. Thanks to Brian Mendel for noticing these.
6226 * IIOP/lib/boa.cpp: In CORBA_BOA::dispatch, the opname local
6227 variable of type CORBA_String_var is changed to be of type
6228 CORBA_String. This was because the String_var class would assume
6229 ownership of the quantity assigned and delete it. Thanks again to
6230 Brian Mendel for noticing this.
6232 Tue May 6 14:06:49 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
6234 * IIOP/lib/boa.hh: the register_obj's 2nd argument is changed from
6235 CORBA_Object_ptr& to CORBA_Object_ptr
6237 * IIOP/lib/object.hh: the return type for register_op method on
6238 CORBA_Object is changed from void to int to be consistent.
6240 Added a new method "get_subclass" to CORBA_Object that returns a
6241 pointer to the subclass. Typeically, this would be pointer to an
6242 object that implements an interface.
6244 * IIOP/lib/objtable.{hh,cpp}: @nd argument of register_obj changed
6245 from CORBA_Object_ptr& to CORBA_Object_ptr.
6247 * IIOP/lib/orb.hh: the type signature of "skeleton" is changed to
6248 take CORBA_Object_ptr rather than CORBA_Object_ptr& as its 2nd argument.
6250 Mon May 5 20:28:54 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
6252 * IIOP/lib/boa.cpp: commented out code that uses the "void
6253 *context" field. It doesn't make any sense to have it.
6255 * IIOP/lib/boa.hh: Added 2 pure virtual methods (shutting_down and
6258 In addition, the "register_obj" method was added. It was missing before.
6260 * IIOP/lib/corbacom.cpp: String_var's constructor bug is fixed. It
6261 was trying to free storage that was never allocated.
6263 * IIOP/lib/iiopobj.{hh,cpp}: Added a method - "get_name" that
6264 retrieves the object name.
6266 * IIOP/lib/object.{hh,cpp}: Added a method - "get_name" that
6267 retrieves the object's name or key. This is for debugging purposes.
6269 * IIOP/lib/orbobj.cpp: There was an infinite loop in parsing the
6270 options to BOA_init. Fixed.
6272 * IIOP/lib/stub.hh: Added the "get_name" virtual method.
6274 Sat May 3 22:45:23 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
6276 * IIOP/lib/boa.cpp: Added code temporarily that invokes the
6277 skeleton that is looked up. We still need to add code that will
6278 handle the case when no match is found on the operation names.
6280 * IIOP/lib/boa.hh: The register_obj method on TAO_Object_Table
6281 now returns an integer indicating status of registering (-1 =>
6282 failure, 0 for success).
6284 * IIOP/lib/object.hh: The register_op method on
6285 TAO_Operation_Table now returns an integer code (O for success, -1
6288 * IIOP/lib/objtable.{hh,cpp}: The register_obj method returns an
6289 integer code representing either success or failure.
6291 * IIOP/lib/optable.{hh,cpp}: Added new files that implement
6292 concrete strategies for operation name lookup.
6294 Fri May 2 08:48:29 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
6296 * IIOP/lib/object.hh: Modified the signature of register_op on
6297 TAO_Operation_Table to take a second argument to be a pointer to
6298 the actual skeleton.
6300 Thanks to Brian Mendel for reporting this.
6302 Thu May 1 16:46:11 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
6304 * IIOP/lib/object.{hh,cpp}: Added a method that can set the parent
6307 * IIOP/lib/params.cpp: A hook has been provided in ROA_Factory to
6308 enable the user to use a user-defined demux strategy.
6310 Wed Apr 30 22:00:51 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
6312 * IIOP/lib/objtable.{hh,cpp}: Added two new files that define
6313 different object demultiplexing strategies.
6315 * IIOP/lib/Makefile: Added objtable as additional source file to compile.
6317 * IIOP/lib/boa.cpp: Provided the default destructor for the
6320 * IIOP/lib/boa.cpp: Provided the default destructor for the
6321 TAO_Operation_Table.
6323 * IIOP/lib/orbobj.cpp: Added support for the -OAtablesize option
6324 in the call to CORBA_ORB::BOA_init method.
6326 * IIOP/lib/params.{hh,i,cpp}: Added support to ROA_Factory to return
6327 a specific object lookup strategy.
6329 *IIOP/lib/roa.cpp: The ROA constructor initializes its "objtable_"
6330 private data member with the object lookup strategy returned by
6333 Tue Apr 29 11:52:48 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
6335 * IIOP/lib/any.hh: Moved CORBA_Any_ptr declaration to orb.hh.
6337 * IIOP/lib/boa.{hh,cpp}: Renamed BOA to CORBA_BOA. The CORBA_BOA class
6338 maintains a pointer to an abstract TAO_ObjectTable class. Concrete
6339 classes inheriting from TAO_ObjectTable will provide strategies
6342 Added virtual functions to do dispatch based on object key. In
6343 addition, added a lookup method based on object key that delegates
6344 the task of looking the object to the object table it maintains.
6346 Changed the signature of typedef CORBA_BOA::dsi_handler to be pointer to
6347 member function of class CORBA_BOA. Eventually, this will point to
6348 the dispatch method of class CORBA_BOA.
6350 Moved "struct Dispatch_Context" from roa.hh to boa.hh since we
6351 want BOA to be a full fledged OA eventually and not remain an
6352 abstract class as it is now. All other OA's such as ROA inherit
6353 from BOA and only add extra functionality.
6355 * IIOP/lib/connect.cpp: There was a syntax error (missing comma)
6356 in one of the ACE_DEBUG statements which has been fixed.
6358 * IIOP/lib/corbacom.{hh,cpp}: Added class CORBA_String_var as well
6359 as the CORBA compliant CORBA_string_dup.
6361 * IIOP/lib/except.hh: Moved CORBA_Exception_ptr declaration to orb.hh.
6363 * IIOP/lib/object.hh: Added an abstract class
6364 TAO_Operation_Table. CORBA_Object maintains a pointer to this
6365 abstract class. The IDL compiler will eventually generate concrete
6366 classes that employ different lookup strategies for operation name
6369 * IIOP/lib/orb.hh: Added forward declarations to all CORBA_*
6370 classes. In addition, moved all the CORBA_*_ptr declarations here.
6372 * IIOP/lib/orbobj.{hh,cpp}: Added the CORBA compliant BOA_init
6373 method to class CORBA_ORB. Users can now pass arguments to
6374 BOA_init. Eventually, we want to make this method return any of
6375 the specialized OA's depending on the arguments. Right now, we get
6376 a pointer to the ROA.
6378 * IIOP/lib/params.{hh,i}: Added some more methods and enum
6379 declarations to the ROA_PARAMS singleton.
6381 * IIOP/lib/principa.hh: Moved the CORBA_Principal_ptr declaration
6384 * IIOP/lib/roa.{hh,cpp}: Moved some functionality to boa.hh. ROA
6385 is now only a specialized form of BOA.
6387 * IIOP/lib/stub.hh: Moved the typedef for "skeleton" to orb.hh.
6389 * IIOP/lib/svrrqst.{hh,cpp}: Had to rename BOA to CORBA_BOA.
6391 * IIOP/lib/typecode.hh: Moved the CORBA_TypeCode_ptr declaration
6394 Tue Apr 22 23:30:19 1997 Chris Cleeland <cleeland@cs.wustl.edu>
6396 * IIOP/lib/connect.cpp (open): Added log message.
6398 * IIOP/lib/params.cpp (concurrency_strategy): Uses reactive
6399 strategy when appropriate.
6401 * IIOP/lib/params.hh: Reactive strategy added.
6403 Tue Apr 22 21:03:15 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu>
6405 * IIOP/lib/giop.cpp: Changed erroneous ACE_GUARD calls to ACE_GUARD_RETURN
6408 Tue Apr 22 16:15:52 1997 Chris Cleeland <cleeland@cs.wustl.edu>
6410 * IIOP/lib/roa.cpp: Removed more POSIX thread calls.
6412 * IIOP/lib/invoke.cpp: Changed ForceSynchronousCancellation to
6413 ACE_Synchronous_Cancellation_Required and made it use the ACE_OS
6416 * IIOP/lib/{typecode,svrrqst,request,principa,orbobj,nvlist,iiopobj,giop,except,any}.*:
6417 Removed all vestiges of pthread mutexes...they are now
6418 ACE_Thread_Mutexes. This will likely have to change if we want to
6419 compile something completely devoid of threads, but that's another
6420 day. Also, the mutexes have moved from being globals to being
6421 members on the respective classes. No files should be dependent
6422 on thread.hh any longer.
6424 * IIOP/lib/connect.cpp (open): Removed code obsoleted by use of
6425 the Strategy_Acceptor.
6427 * IIOP/lib/{roa.cpp,connect.cpp},IIOP/tests/svr.cpp: Changes to
6428 use new singletons described below.
6430 * IIOP/lib/params.*: Changed ROA_Parameters and ROA_Factory to use
6431 ACE_Singleton<>. The singleton types are now named ROA_PARAMS and
6434 Mon Apr 21 23:44:34 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
6436 * IIOP/lib/roa.cpp (ROA): Changed spelling of clientAcceptor_ to
6437 client_acceptor_ to be consistent with ACE style conventions.
6439 Mon Apr 21 10:52:42 1997 Chris Cleeland <cleeland@cs.wustl.edu>
6441 * IIOP/test/clnt.cpp: Moved call to CORBA_ORB_init() prior to the
6442 parsing of the command line args. This got switched around during
6445 * IIOP/lib/roa.cpp: Changed calls using clientAcceptor_to use APIs
6446 vended by ACE_Strategy_Acceptor.
6448 * IIOP/lib/roa.hh: Moved default thread flags into ROA_Factory.
6450 * IIOP/lib/params.*: Added ROA_Factory, a singleton which is the
6451 beginning of an abstract factory dynamically producing runtime
6452 strategies based on information found in ROA_Parameters.
6454 * IIOP/lib/connect.cpp: Added call to ROA_Handler's base class
6455 CTOR in initializer list.
6457 * IIOP/lib/connect.hh: Changed ROA_Handler's CTOR so that it can
6458 take an optional ACE_Thread_Manager* arg. This makes it
6459 compatible with the CTORs for the base class. Also changed base
6460 class for ROA_Acceptor to ACE_Strategy_Acceptor.
6462 * IIOP/lib/svrrqst.*: Changed references to BOA_ptr from TOA_ptr.
6464 * IIOP/lib/connect.*: ROA_Handler/ROA_Acceptor moved from roa.*
6467 * IIOP/lib/params.*: ROA_Parameters moved from roa.* into here.
6469 * IIOP/lib/boa.*: What used to be TOA is now BOA, and lives in
6472 * IIOP/lib/roa.*: Major restructuring required removal of all
6473 classes (see other log entries) from here. This file now houses
6476 * IIOP/lib/{tcpoa.*,toa.*}: Removed because of name changes from
6477 TCP_OA->ROA and TOA->BOA.
6479 Fri Apr 18 08:09:19 1997 Brian Mendel <bmendel@mdc.com>
6481 * cdr.hh,corbacom.{hh,cpp},giop.cpp,marshall.cpp,typecode.cpp:
6482 Changes required for WChar missed in earlier committed code.
6484 * connmgr.cpp: Changes required for select statement.
6486 * nvlist.cpp: Conditional include for memory.h added. VxWorks
6487 does not have memory.h.
6489 * object.cpp: Added conditional for VXWORKS to define
6492 * orbconf.hh: Minor tuning of the configuration file.
6494 * tcpoa.{hh,cpp}: Added VXWORKS conditional includes.
6496 * toa.cpp: Added VXWORKS conditional includes.
6499 Mon Apr 15 17:01:00 1997 Brian Mendel <bmendel@mdc.com>
6501 * roa.cpp: Added return statement to ROA_Handler::open(void*)
6504 * giop.cpp: Modified giop::read_buffer to replace undefined fc
6505 with peer.get_handle(). Modified giop::incoming_message method
6506 parameter list to match function prototype exactly.
6508 * tcpoa.cpp: Replaced fd instances in debug messages with
6509 peer.get_handle() calls.
6511 Mon Apr 14 13:45:54 1997 Chris Cleeland <cleeland@cs.wustl.edu>
6513 * roa.{hh,i,cpp},tcpoa.cpp,svr.cpp: Replaced ACE_ROA with
6514 ROA_Parameters, which is a GoF-style singleton.
6516 Sun Apr 13 00:01:56 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu>
6518 * roa.cpp: Fix continuation condition in ROA_Handler::svc()'s loop
6519 so that it doesn't stop after one iteration. Also added some
6522 * giop.cpp: Fixed some returns being called with no value. This
6523 should have been caught in the previous round of changes.
6525 Sat Apr 12 23:10:08 1997 Chris Cleeland <cleeland@cs.wustl.edu>
6527 * tcpoa.{hh,cpp}: TCP_OA::handle_message() now returns a value
6528 indicating how a message was handled.
6530 * roa.cpp: ROA_Handler::handle_input() now returns a meaningful
6531 value based on what TCP_OA::handle_message() returns.
6533 * giop.{hh,cpp}: Added end-of-file detection on socket
6534 connections, and that is now propagated all the way back up
6535 through GIOP::incoming_message(). I don't know if I violated
6536 something in the spec by doing this, but it was necessary. I'll
6539 Thu Apr 10 11:49:44 1997 Chris Cleeland <cleeland@cs.wustl.edu>
6541 * giop.{hh,cpp}: Overloaded all methods dealing with connections
6542 so that there are two, one taking a file descriptor as argument,
6543 the other taking an ACE_SOCK_Stream. Right now, the *_Stream
6544 version simply forwards to the fd-based one. I would have
6545 preferred to get rid of the fd-based methods altogether, but we've
6546 only converted the server runtime; the client is still using the
6547 original sun code, which is effectively fd-based. In the course
6548 of doing this, I also simplified the decls for incoming_message by
6549 creating typedefs for some of the function pointers passed as
6552 * orbconf.hh: Fixed the stupid auto-endian-ness detector
6553 AGAIN...had my logic reversed!
6555 * roa.cpp: Adjusted code in accordance with changes to tcpoa.hh.
6557 * tcpoa.hh: Moved and renamed TCP_OA::dispatch_context to be
6558 ::Dispatch_Context, and changed its endpoint member to be an
6561 * roa.hh: Fixed handle_input() to use the underlying peer() data
6562 member for reading data, rather than using its argument. This is
6563 so that when a different thread handles each connection,
6564 handle_input() can simply be called repeatedly by svc().
6566 Wed Apr 9 16:19:21 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu>
6568 * tcpoa.cpp: Fixed a problem that G++ didn't notice regarding
6569 changing the notion of endpoints in servers from server_endpoint
6572 Wed Apr 9 15:43:37 1997 Chris Cleeland <cleeland@cs.wustl.edu>
6574 * svr.cpp: The -p option is gone, and -e takes its place and is
6575 required. This requires the user to specify not only the port
6576 number, but also the IP address of on which the server should
6577 listen for requests. See ACE_INET_Addr documentation for valid
6578 string formats for addresses. Also, the -t option sets the "use
6581 * orbconf.hh: Hopefully resolved the tension between MS and Unix
6582 platforms in inferring endian-ness of the target platform based on
6583 preprocessor defines. We now check for i386, _M_X86, and vax
6584 (yeah, like we really worry about that, but it's easy to do).
6586 * roa.{hh,i,cpp}: Added support for spawning threads to handle
6587 incoming requests. This involves a state flag for whether or not
6588 to use threads, calling activate() in ROA_Handler::open() if that
6589 flag is set, and creating ROA_Handler::svc() that simply loops
6590 calling handle_input().
6592 Tue Apr 8 11:14:57 1997 Chris Cleeland <cleeland@cs.wustl.edu>
6594 * IIOP/test/svr.cpp: Moved setting of upcall(), forwarder(),
6595 context(), etc. into here rather than in TCP_OA::TCP_OA(), which
6596 is where I mistakenly stuck them a few days ago (duh!).
6598 * IIOP/lib/tcpoa.cpp: Removed setting of ACE_ROA::upcall(), which belongs
6599 in the server code. I got confused because the function names
6600 were so similar: tcpoa.cpp contains ::tcp_oa_dispatcher(), and
6601 svr.cpp contains ::tcpoa_dispatch().
6603 * IIOP/lib/roa.{hh,i,cpp}: Added forwarding function to ACE_ROA global namespace
6606 * IIOP/lib/orbconf.hh: Fixed preprocessor checks that auto-detect
6607 endian-ness of this processor.
6609 Mon Apr 7 21:08:24 1997 Chris Cleeland <cleeland@cs.wustl.edu>
6611 * IIOP/test/test1_{clnt,svr}.cpp: THESE HAVE NOT BEEN CONVERTED TO
6612 USE ACE EVENT HANDLING!! This round of changes explicitly
6613 instantiates templates where required.
6615 * IIOP/test/svr.cpp: Global function ::OA_listen() no longer
6616 exists; its functionality is now fully contained within ::main().
6617 If USE_ACE_EVENT_HANDLING is defined, a Reactor-based event loop
6618 is used. The original intent was to allow conditional compilation
6619 to select btw. the original method and a Reactor-based method.
6620 However, weaving that into the library proved far more difficult
6621 than anticipated, so more than likely not defining
6622 USE_ACE_EVENT_HANDLING will cause massive grief.
6624 * IIOP/lib/toa.cpp: Changed call to TCP_OA::init() to reflect new
6625 ACE_INET_Addr argument type.
6627 * IIOP/lib/tcpoa.cpp (TCP_OA): All initialization methods were
6628 changed, specifically the CTOR and TCP_OA::init, to reflect the
6629 introduction of ACE_INET_Addr. Two side-effects of using
6630 ACE_INET_Addr are that (1) a server can specify the address on
6631 which it wants to listen and (2) best that I can tell, the server
6632 MUST specify the address on which it wants to listen because
6633 otherwise it won't be able to publish a rational IOR. The event
6634 loop is now changed to simply loop on Reactor::handle_events().
6636 * IIOP/lib/tcpoa.hh (TCP_OA): Removed vestiges of this component's
6637 use of the original connection management scheme. Where
6638 appropriate, hostnames and ports were replaces by ACE_INET_Addr,
6639 endpoints by ACE_HANDLEs, etc. One particularly nasty thing done
6640 was to declare ROA_Handler as a friend so that handle_message()
6641 can be called from ROA_Handler::handle_input(), which to me
6642 exposes a hole in the original architecture wherein input is
6643 "pulled" rather than waited-for. We might need to re-think how
6644 this is handled within TAO.
6646 * IIOP/lib/roa.{hh,i,cpp}: These files contain the required
6647 components to support the new server-side ACE-based
6648 connection/event substrate. The client side remains, as always,
6649 using the connection mgmt scheme used by the original Sun IIOP
6652 * IIOP/lib/giop.cpp: Added explicit template instantiation for
6653 when this is needed.
6655 * IIOP/lib/corbacom.hh: Now protects itself from multiple
6658 * IIOP/lib/Makefile: Added roa.* where appropriate.
6660 Wed Mar 19 10:25:21 1997 Chris Cleeland <cleeland@cs.wustl.edu>
6662 * IIOP/docs/us/codecount/*.count: Added to repository.
6664 * Makefile: Added to repository.
6666 * IIOP/objbase.h: Moved to IIOP/compat.
6668 * IIOP/initguid.h: Moved to IIOP/compat.
6670 Thu Mar 13 14:06:28 1997 Chris Cleeland <cleeland@cs.wustl.edu>
6672 * ChangeLog: Added the ChangeLog. We'd like to thank David
6673 Brownell <david-b@pacbell.net>, the original author of SunSoft
6674 IIOP, for helping to launch TAO off in the right direction!