summaryrefslogtreecommitdiff
path: root/TAO/ChangeLog-98c
blob: 4a96a28b2a8b5f47ac117435394bcf7499fc237c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
Tue Oct 13 23:03:24 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

	* tao/ORB_Core.h: 
	* tao/ORB_Core.i: 
	* tao/ORB_Core.cpp: 
	* tao/Invocation.i: 
	* tao/Connect.cpp: 
	* tao/CDR.h: 
	* tao/CDR.cpp: 
	  The input CDR can be created using a user provided data block,
	  this is used to select the right kind of locking for the
	  Data_Block reference count.
	  The ORB_Core acts as a Factory of Data_Blocks, selecting the
	  right type according to the -ORBinputcdrallocator option.

	* orbsvcs/Event_Service/svc.conf: 
	  Use the appropiate allocator for the EC, because it shares the
	  CDR buffers between several threads (to minimize data copying).

Tue Oct 13 22:15:53 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

	* orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp (svc): Must set the
 	  wr_ptr correctly.  Otherwise, the ORB doesn't know how much to
 	  data to encode.

	* orbsvcs/orbsvcs/Event/Event_Manip.cpp (_create): event_set
 	  length must be calculated before the call to get_buffer() since
	  that call will change the length.

Tue Oct 13 17:04:15 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * tao/Any.cpp: Modified copy constructor and assignment operator
 	  to avoid encoding the value of the source Any when it is 0
 	  (which it is if the Any was constructed from just a
 	  typecode. Perhaps this sequence of calls should never be made,
 	  but this guards against it anyway.

Tue Oct 13 10:51:10 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

	* tao/ORB.cpp: Thread ids in some platforms (ex: HP-UX) are
 	  structures, so they cannot be initialized to 0.  Thanks to David
 	  Janello <David.Janello@abnamro.com> for reporting this.

Tue Oct 13 09:16:20 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Sched/DynSched.cpp: changed a handful
          of == to =.  Thanks, g++ :-)

        * orbsvcs/tests/EC_Basic/EC_Basic.cpp (dump_results):
          changed type of static array elements from int to
          CORBA::ULong to avoid signed/unsigned comparisons.

Mon Oct 12 18:55:00 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/orbsvcs/RtecScheduler.idl
          orbsvcs/orbsvcs/Event/EC_Gateway.cpp
          orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp
          orbsvcs/orbsvcs/Sched/DynSched.{cpp, h}
          orbsvcs/orbsvcs/Sched/SchedEntry.{cpp, i}: Added a new kind RT_Info
          type for EC_Gateway RT_Infos that depend on remote invocations.  This
          change facilitates building a distributed schedule without requiring
          the use of a single global scheduling service.  Thanks to Tom
          Venturella <thomas.e.venturella@boeing.com> for this idea.

        * orbsvcs/orbsvcs/Runtime_Scheduler.cpp
          orbsvcs/orbsvcs/Scheduler_Factory.cpp
          orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp
          orbsvcs/tests/EC_Multiple/EC_Multiple.cpp
          orbsvcs/tests/Sched_Conf/Sched_Conf.{cpp, dsp}
          orbsvcs/tests/Sched_Conf/Sched_Conf_Runtime.{cpp, dsp, h}  (NEW):
          Fixed a number of problems with correctness and usability of the
          config and runtime schedulers, and the scheduler factory.  Thanks
          to Amir Bahmanyari <abahmany@teknowledge.com> for providing detailed
          debugging reports.

Mon Oct 12 18:32:01 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/try_macros.h:
          Added new macros to support multiple TRY blocks in the same
          function. Andy is going to test them.

        * performance-tests/Cubit/TAO/IDL_Cubit/README:
          The file still made references to the -s option.

Mon Oct 12 14:55:41 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (TAO_NamingContext): Made
          a mistaken with my Naming_Context change for the
          Hash_Map_Manager.  We need to use the argument to set the size
          of the table, not the data member since it hasn't been assigned
          yet.  Thanks to Chris Gill and Kirthika for reporting this.

Mon Oct 12 11:30:38 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/Event_Channel.h:
        * orbsvcs/orbsvcs/Event/Event_Channel.i:
        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
        * orbsvcs/orbsvcs/Event/Memory_Pools.cpp:
          Removed some template instantiations that were not used anymore.
          Moved the template instantiations related to memory pool from
          Event_Channel.cpp into Memory_Pools.cpp
          Added a comparison operator for the TAO_EC_Event class, this is
          needed to complete the instantiation of ACE_Array<TAO_EC_Event>.

        * orbsvcs/orbsvcs/Event/Event_Manip.h:
          The constructor was private, making some g++ variants very
          angry.

Mon Oct 12 10:31:35 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/CosNaming_i: Removed the need to allocate
          HASH_MAP dynamically.  This helps improve performance and also
          eliminates another point of failure in the constructor.

Mon Oct 12 09:52:46 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (TAO_NamingContext ctor):
          reordered initializers to match declaration order.

        * performance-tests/Cubit/TAO/MT_Cubit/run_tests.pl:
          put ./ in front of executable names.  That way, users
          don't need to have . in their path.

Sun Oct 11 23:18:19 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/Event_Manip.h:
        * orbsvcs/orbsvcs/Event/Event_Manip.i:
        * orbsvcs/orbsvcs/Event/Event_Manip.cpp:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.h:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.i:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp:
        * orbsvcs/orbsvcs/Event/Event_Channel.h:
        * orbsvcs/orbsvcs/Event/Event_Channel.i:
        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
        * orbsvcs/orbsvcs/Event/CORBA_Utils_T.h:
        * orbsvcs/orbsvcs/Event/CORBA_Utils_T.i:
        * orbsvcs/orbsvcs/Event/CORBA_Utils_T.cpp:
        * orbsvcs/orbsvcs/Event/Memory_Pools.h:
        * orbsvcs/orbsvcs/Event/Memory_Pools.i:
        * orbsvcs/orbsvcs/Event/Memory_Pools.cpp:
          Implemented a new class to manage event life time.  There are
          two components to the new strategy: a reference counted version
          of the EventSet buffer and a smart pointer to a single event in
          the buffer.
          This new strategy allowed us to go down from 6 memory copies to
          1 copies for events received remotely (and 2 for local events).
          Since the copies were nested and the Event structure can be
          quite complicated this reduced the number of memory allocations
          significantly.
          The old CORBA_Utils classes are no longer needed.

        * orbsvcs/orbsvcs/Event/Event_Channel.h:
        * orbsvcs/orbsvcs/Event/Event_Channel.i:
        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
          Fixed a problem with correlation, if a consumer was expecting
          A&B and a supplier sent A, A, B the consumer received two copies
          of A.

        * orbsvcs/tests/EC_Basic/EC_Basic.h:
        * orbsvcs/tests/EC_Basic/EC_Basic.i:
        * orbsvcs/tests/EC_Basic/EC_Basic.cpp:
          Added a new correlation test.

        * orbsvcs/orbsvcs/Makefile:
        * orbsvcs/Event_Service/Makefile:
        * orbsvcs/tests/EC_Multiple/Makefile:
        * orbsvcs/tests/EC_Basic/Makefile:
        * orbsvcs/tests/EC_Mcast/Makefile:
        * orbsvcs/tests/EC_Custom_Marshal/Makefile:
          Updated the dependencies.

        * orbsvcs/tests/EC_Basic/README:
        * orbsvcs/tests/EC_Mcast/README:
          The README file was out of date.

        * docs/releasenotes/TODO.html:
          Updated the task corresponding to this change.

1998-10-11  Marina Igorevna Spivak  <marina@mambo.cs.wustl.edu>

        * orbsvcs/Naming_Service/Naming_Service.{h, cpp}, README: Added a
        command line option to specify how long a service should run
        before shutting down.  This is useful for running purify,
        quantify, or avoiding having explicitly kill the process.

        * orbsvcs/orbsvcs/CosNaming_i.{h,cpp}:
        Removed several memory allocations (in <get_context>, and
        <resolve>).
        Factored some common code out into <populate_binding> function.
        Cleaned up some code and got rid of <bind_new_context_helper>.
        Changed TAO_NamingContext to contain a pointer to the hash map
        rather than actual object to allow command line option of choosing
        the size of hash map allocated upon creation (rather than using
        the default size).

Sun Oct 11 17:59:32 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Client_i.cpp (CLient_i::run ()):
        changed the argument wrongly passed to the unregister_callback
        from Consumer_var to Consumer_var.in ().

Sun Oct 11 17:09:16 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_interface/interface_cs.cpp:
        * tao/POAC.cpp:
        * tao/PolicyC.cpp:
        * tao/DynAnyC.cpp:
        * tao/CurrentC.cpp:
          Optimized _narrow() it does not need to call _create_stub() on
          the collocated case, using the CORBA::Object stub is good
          enough.

1998-10-11  Marina Igorevna Spivak  <marina@mambo.cs.wustl.edu>

        * orbsvcs/Naming_Service/Naming_Service.h : change the order of
        data member declarations to match initialization order in
        constructors in .cpp file.

1998-10-10  Marina Igorevna Spivak  <marina@mambo.cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/Naming_Utils.{h, cpp}: Updated
        TAO_Naming_Server to take in and pass on a parameter specifying
        the size for the naming cotexts' hash tables.

        * orbsvcs/Naming_Service/Naming_Service.{h, cpp}, README: Added a
        command line option to specify size of hash tables
        allocated upon creation of naming contexts.

Sat Oct 10 22:31:00 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Client_i.cpp:
         added the part where the consumer keys in information.

Sat Oct 10 16:19:11 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/CDR/tc.cpp:
          This file was still referencing CORBA::_tc_Bounds and
          CORBA::_tc_BadKind

1998-10-10  Marina Igorevna Spivak  <marina@mambo.cs.wustl.edu>

        * orbsvcs/tests/Simple_Naming/client.cpp: Added parenthesis to
        avoid warnings when compiling on NT.

Sat Oct 10 00:51:52 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.23 released.

Fri Oct 09 23:48:40 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/Server_Request.cpp (set_exception and set_result): Used the
          Any copy constructor to copy the user provided any.

Fri Oct  9 17:13:32 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: Used the host and
          pid to get a unique names for the vdev and streamendpoint objects
          to register with the Naming Service while using the Process
          Endpoint strategy. This will avoid name clashes between the audio and
          video process.

        * orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp: Used the child's host
          and pid to lookup for Vdev and streamendpoint for the process
          endpoint strategy.

        * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Removed the code that used
          _out variable to pacify sun_CC warnings. Sun_CC doesn't complain
          anymore.

Fri Oct  9 16:44:14 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Receiver.idl:
          Added this new interface for the Trader Agent to push the server
          mmdevice and the filenames to the mpeg client.

        * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.{h,cpp}:
          Added code to implement the Receiver interface.
          Fixed memory leaks.
          Fixed the code so that it works for multiple movies i.e
          tears down the stream after every movie and starts a new
          connection.
          Also made code robust by using suspend and resume
          handlers for the video client to wait for the initial frame from
          the server.
          Added an option to specify the data host to bind for
          the data which can be used for specify an ATM interface.
          Fixed the problem of Play command not playing from where
          fastforward/rewind stopped.

        * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/ctr.cpp:

          Removed some unnecessary and redundant code and moved them into
          classes in Command_Handler.cpp.

        * orbsvcs/tests/AVStreams/mpeg/source/client/vcr.cpp:

          Fixed the code so that it passes the command line arguments
          properly to the command_handler.

Fri Oct  9 16:27:46 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Throughput/ECT_Supplier.h:
        * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp:
        * orbsvcs/tests/EC_Throughput/ECT_Consumer.h:
        * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp:
          We measure and report the elapsed time for the test (in the case
          of the consumer the time since we receive the first event).
          We use this to measure throughput (in events per second).

        * orbsvcs/orbsvcs/Event/Memory_Pools.h:
        * orbsvcs/orbsvcs/Event/Memory_Pools.cpp:
        * orbsvcs/orbsvcs/Event/Event_Channel.h:
        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.h:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp:
          We do not overload operator new and operator delete anymore. The
          allocators we were using were problematic for this use case and
          we believe that a better speed up can be obtained by reducing
          the number of allocations.  Thanks to "Mark Hyett"
          <mhyett@std.saic.com>, "Mark L. Boriack"
          <mboriack@std.saic.com>, "J. Russell Noseworthy"
          <rnosewor@objectsciences.com> for helping us with this bug.

Fri Oct 09 15:27:17 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/ORB_Core.cpp (~App_Allocated): Free up the memory pool
          before deleting the allocators.

Fri Oct  9 13:42:47 1998  Shawn Michael Atkins  <sma1@lambada.cs.wustl.edu>

        * performance-tests/Thruput/TAO/results/REMOTE/README: added this
          file so cvs won't erase these empty directories for storing
          results of the thruput test. Note: also added the empty
          directories ./results/REMOTE.

        * performance-tests/Thruput/TAO/run_client: run_client now checks
          for the testname directory and if it doesn't exist, it will
          create a directory to put the results.

Fri Oct 09 02:19:09 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/IIOP_Object.cpp (Profile): Added new constructor.

Fri Oct  9 01:15:54 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>

        * tao/Operation_Table.cpp:
        * tao/Operation_Table.h:
        * TAO_IDL/be/be_interface.cpp:

          Integrated Linear Search operation lookup strategy option to
          TAO_IDL. We use again GPERF for generating lookup method for
          this. Thanks to great work by Vishal (vishal@cs), GPERF has an
          option to generate linear search code.

Thu Oct  8 17:37:14 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/ORB.h:
        * tao/Typecode.h:
        * tao/Typecode.cpp:
        * tao/Typecode_Constants.h:
        * tao/Typecode_Constants.cpp:
          Moved the CORBA::TypeCode::_tc_Bounds and
          CORBA::TypeCode::_tc_Kind typecodes to their proper namespace.

        * docs/releasenotes/TODO.html:
          Updated some tasks related to the last change.

        * tao/Connect.cpp:
          If an exception is thrown while handling a oneway request we
          just ignore it, unless the debugging flags in the ORB are
          enabled, in that case we print an informative message and the
          exception.

        * tao/ORB_Core.h:
        * tao/ORB_Core.cpp:
          The App_Allocated class does not own the CDR allocators all the
          time, sometimes they are global and shared by all the
          App_Allocated objects.

Thu Oct 08 16:14:04 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/ORB_Core.{h,cpp} (~App_Allocated): Added a destructor for
          this class.  Some of its members are now allocated from the heap
          and they need to be deleted.

Thu Oct  8 12:15:38 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Throughput/ECT_Supplier.h:
        * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp:
        * orbsvcs/tests/EC_Throughput/ECT_Consumer.h:
        * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp:
          The new test sends "bursts" of events, without any pause between
          each event. Multiple burst can be sent with small pauses in
          between.
          Shutdown works now, even if multiple suppliers and multiple
          consumers are beign used. The ECT_Consumer program only needs to
          know the number of suppliers beign used.

Thu Oct 08 09:50:18 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/orbsvcs/Property/CosPropertyService_i.h: Added #progma
          to disable VC "inheritance via dominance" warnings.

        * docs/releasenotes/orbcore.html (Miscellany): Fixed a dead link.
          Thanks to Mark Weel <weel@lucent.com> for reporting this.

Wed Oct 07 23:27:07 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.22 released.

Wed Oct  7 22:27:48 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>

        * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp
        (delete_property): Fixed the double deletion case. Thanks to
        "Ulf Jhrig" <jaehrig@desys.com> for reporting this.

Wed Oct  7 21:44:52 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/try_macros.h:
          Some compilers (MSVC++ 5.0) will complain about throwing an
          exception and not returning a value.

        * tao/Object_Table.cpp:
          The find() method on the object table was asserting that the
          entry ought to be in use, in fact if the entry was free the
          object was not found and we just have to return -1.

Wed Oct 07 14:49:32 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/orbsvcs/orbsvcs[_static].dsp: Added property service
          files.  Thanks to Ulf Jaehrig <jaehrig@desys.com> for noticing
          this.

Wed Oct 07 11:33:37 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/POA.cpp (state): Fully qualified the enums of the
          POA_Manager's Processing_State.  Thanks to John Morey
          <jmorey@tbi.com> for helping with this.

Wed Oct  7 10:53:45 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * examples/Callback_Quoter/Supplier_i.cpp:
          Added missing template instantiations.

Wed Oct  7 09:19:00 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao/try_macros.h (TAO_RETHROW): Added a return to
          TAO_THROW_ENV_RETURN.  Thanks to John Morey for reporting this.

Wed Oct  7 08:39:59 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * tao/try_macros.h:

          Added a backslash in a the TAO_TRY macro definition. Thanks to
          John Morey (jmorey@tbi.com) for sending the bug fix.

Wed Oct  7 08:29:51 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * doc/compiler.html:

          Updated the documentation for the -Ge, -Gt options. Thanks to
          Tom Dobridge <dobridge@persimmon.com> for pointing this out.

Wed Oct 07 02:50:39 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.21 released.

Wed Oct  7 000:13:19 1998  Jeff Parsons <jp4@cs.wustl.edu>

  * presentations/TAO/dynany.tex:
    New file for use whenever the nexr presentation comes around.

Wed Oct 07 00:07:43 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tests/Param_Test/server.cpp:
        * performance-tests/Thruput/TAO/server.cpp:
        * orbsvcs/tests/Simulator/DOVEMIB/svr.cpp:

          Changed "RootPOA_is_BAD" to "child_poa".  It was sending
          negative POA vibes ;-)

Tue Oct 06 22:49:27 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/Connect.cpp (handle_close): Replaced this->shutdown() with
          explicit removal from the reactor and explicit closing of the
          socket.  this->shutdown() also doing too much since it was also
          purging the recycling act from the recycler. We need the
          recycling act to be available until all the reference to the
          Svc_Handlers are removed and the Svc_Handler is destroyed since
          we need the recycling act to check the hint.

          Thanks to Mark L. Boriack <mboriack@std.saic.com> for helping in
          tracking down this problem.

Tue Oct  6 22:12:30 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * examples/Simple/grid/Grid_i.cpp: Fixed bugs with exceptions.
          Thanks to Tom Dobridge <dobridge@persimmon.com> for pointing
          this out.

Tue Oct  6 21:25:22 1998  Darrell Brunsch <brunsch@cs.wustl.edu>

        * TAO-INSTALL.html: Added an extra note about compiling the
          release version.  Care has to be taken since conflicts
          between the two tao_idl compilers can occur.

Tue Oct  6 21:02:24 1998  Vishal Kachroo  <vishal@merengue.cs.wustl.edu>

        * examples/Simple/bank/AccountManager_i.cpp (close): Changed
          TAO_TRY_ENV to _env to avoid duplicate definition.  Thanks to
          Tom Dobridge <dobridge@persimmon.com> for pointing this out.

Tue Oct  6 20:28:10 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/try_macros.h: The TAO_TRY macro generates a new do/while
          block even for the native C++ exception case, this is more
          consistent with the alternative mapping.  Thanks to Tom Dobridge
          <dobridge@persimmon.com> for pointing this out.

        * examples/Callback_Quoter/MarketFeed_i.cpp: *
          examples/Callback_Quoter/Client_i.cpp: Removed instantiations of
          TAO_TRY_ENV because TAO_TRY does it for us.  Thanks to Tom
          Dobridge <dobridge@persimmon.com> for pointing this out.


Tue Oct  6 20:05:55 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Supplier_i.cpp (unregister_callback):
          removed a variable which was defined unnecessarily.  Thanks to
          David Levine for reporting this.

Tue Oct  6 17:16:46 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * tao/DynUnion_i.cpp: Another try at making VxWorks happy without
          using memcmp in DynUnion_i_T.cpp. This should do it.

Tue Oct  6 13:01:24 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_sunsoft.cpp: Fixed some problems with char and
          octet constants.  Thanks to Anders W. Tell
          <anderst@toolsmiths.se> for reporting this.

Tue Oct 06 11:23:32 1998  David L. Levine  <levine@cs.wustl.edu>

        * performance-tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test: added
          support for server and client on different machines, using
          -r option.  It assumes that the user's shell is Bourne
          shell-compatible.  I'll try to fix that soon.

        * performance-tests/Cubit/TAO/MT_Cubit/plot: plot high
          priority in blue, low in light green.

Tue Oct  6 10:26:06 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          Dummy initialization for "observer_handler" to give compilers
          some peace of mind about its use.

        * orbsvcs/orbsvcs/Event/EC_Gateway.cpp:
          Assigning an _var to a _ptr is ambiguous, we have to use .in().

Tue Oct  6 08:06:33 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/driver/drv_args.cpp:

          Added a -Gi option to enable interpretive marshaling. More work
          needs to be done here such that we can selectively generate
          compiled or interpretive marshaling based on some pragmas.

        * docs/compiler.html:

          Added documentation for the new options for the IDl compiler.

Tue Oct 06 03:56:05 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.20 released.

Tue Oct 06 03:12:38 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.19 released.

Tue Oct  6 02:58:35 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>

        * docs/compiler.html: Updated documentation for the new Binary
        Search operation lookup stratetgy.

Tue Oct 06 00:11:11 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.18 released.

Mon Oct  5 22:12:07 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/EC_Gateway.cpp:
          Added some template instantiations.

        * docs/Options.html:
        * docs/configurations.html:
          Added a few comments for the latest options.

Mon Oct 05 21:43:26 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.17 released.

Mon Oct  5 20:35:28 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/EC_Gateway.h:
        * orbsvcs/orbsvcs/Event/EC_Gateway.cpp:
          The IIOP Gateways were not preserving the remote supplier IDs
          properly. The current implementation uses a map of
          ProxyPushConsumer on the "local" EC, using a different entry for
          each supplier ID the local consumers show interest in.
          At run-time the events are dispatched to the corresponding entry
          in the map.
          A special consumer is used for all the other events.

        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
          Fixed a dead-lock during shutdown.
          Also fixed some problems while updating the Observers; we held
          the EC lock during the complete process, but it is fairly common
          to make changes to the EC while the observers are beign updated.

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          Some improvements on shutdown.

        * docs/releasenotes/TODO.html:
          Updated the tasks corresponding to the changes in this ChangeLog
          entry.

Mon Oct  5 21:16:53 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Supplier_i.cpp (unregister_callback):
          The code to perform the unregistration of the consumer was added.

Mon Oct 05 18:54:31 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/CosNaming_i: Fixed the POA id generation
          to take into account the name of the parent.  Otherwise everyone
          was using the same "namespace".

        * performance-tests/Cubit/TAO/IDL_Cubit: Added the testing of
          sequences of structs.

Mon Oct  5 18:07:38 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * examples/Makefile: Changed the Makefile so that it'll now also
          build the new Callback_Quoter test.

Mon Oct  5 18:15:31 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Param_Test/Makefile:
        * orbsvcs/tests/Logger/Makefile:
        * orbsvcs/tests/Simple_Naming/Makefile:
        * examples/Quoter/Makefile:
        * examples/POA/Forwarding/Makefile:
        * examples/POA/Generic_Servant/Makefile:
        * orbsvcs/orbsvcs/Makefile:
        * performance-tests/Cubit/TAO/IDL_Cubit/Makefile:
          Removed the -Gc options for the IDL compiler, if wanted the
          option can be added on the command line when invoking make, as:
          $ make TAO_IDLFLAGS=-Gc

Mon Oct  5 17:29:14 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * tao/DynUnion_i.cpp:
        * tao/DynUnion_i_T.cpp:
          Put a preprocessor conditional around the case that
          instantiates the longlong type of template class
          in get_extractor(). Because of this, the memcmp in
          DynUnion_i_T.cpp has been removed - no need for it
          now and VxWorks and Chorus should still be happy.

Mon Oct 05 16:39:44 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/corba.h: Removed duplicated macro definitions that are
          defined in try_macros.h.

        * tao/try_macros.h (TAO_CATCH): Added ACE_UNUSED_ARG (VAR) for
          this when TAO_USE_EXCEPTIONS and removed ACE_UNUSED_ARG (VAR)
          when !TAO_USE_EXCEPTIONS.

        * tao/Dyn{Any,Array,Enum,Sequence,Struct,Union}_i.cpp: Changed
          exceptions CORBA::NO_MEMORY to CORBA::NO_MEMORY () to avoid
          compilation errors when TAO_USE_EXCEPTIONS is enabled.

Mon Oct 05 16:13:48 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO version 0.2.16 released.

Mon Oct 05 15:37:26 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.15 released.

Mon Oct  5 14:56:03 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Consumer_i.cpp (push):
          Since I was checking whether the stock_value was greater
          than the threshold desired, I changed the consumer's reaction
          to selling shares rather than buying them.

Mon Oct 05 13:52:17 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/DynAnyC.cpp,DynArray_i.cpp,DynEnum_i.cpp,DynSequence_i.cpp,
          DynStruct_i.cpp,DynUnion_i.cpp,DynUnion_i_T.cpp:
          added ACE_LACKS_LONG_LONG_T support.

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp (print_priority_info):
          use ACE_OS::getpid () instead of getpid ().

Mon Oct  5 11:28:02 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
          MSVC++ does not like
              auto_ptr<Foo> x = new Foo;
          but it does like
              auto_ptr<Foo> x (new Foo);
          Thanks to Nanbor for catching this problem and commiting the
          fix.

Mon Oct  5 10:47:52 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_operation/operation_ss.cpp:

          Had to remove the code that Carlos had added to propagate the
          exception from the _tao_skel_env to the _tao_env parameter. This
          was necessary since we no longer use the _tao_skel_env parameter.

Mon Oct  5 07:54:21 EDT 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_operation/compiled_marshal.cpp:

          There was a bug in the generated code. Thanks to David Levine
          for sending me the bug report.

        * TAO_IDL/be/be_visitor_operation/operation_ss.cpp:
          TAO_IDL/be/be_visitor_interface/interface_ss.cpp:

          We no longer need the _tao_skel_environment variable in the
          skeletons. These modifications were necessary to maintain
          support for both the compiled as well as interpretive
          marshaling. The _is_a_skel now generates a proper
          TAO_CHECK_ENV_RETURN_VOID statement.

          Also made sure that unused local variables are not generated.

        * TAO_IDL/be/be_visitor_operation/rettype_vardecl_ss.cpp
          TAO_IDL/be_include/be_visitor_operation/rettype_vardecl_ss.h:

          Added a new visitor for compiled marshaling for the generation
          of return type variable in the  server skeleton code.

        * TAO_IDL/be/be_visitor_factory.cpp:

          For compiled marshaling we now invoke a new visitor for the
          return val variable in the skeleton. The reason we do this is
          since the interpreted version uses an OBject_var.

        * tao/{CurrentS, POAS, PolicyS}.cpp:

          Since we no longer use the _tao_skel_environment, we had to make
          the necessary modifications.

        * tao/Server_Request.{h, cpp}:

          The marshal method no longer takes in the _skel_env parameter

Sun Oct  4 19:48:25 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_operation/operation_ss.cpp:
          Exceptions were not beign transmitted from the server back to
          the client.  We need to rethink the use of two environments in
          the skeleton.

Sun Oct  4 16:37:23 1998  Carlos O'Ryan  <coryan@tango.cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/Event_Channel.h:
        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
          It is now possible to have several suppliers with the same ID on
          the same Event Channel.
          I also fixed a bug with the supplier reconnections: if a
          consumer was filtering by source it wouldn't receive the events
          if the supplier disconnected and connected again.  Thanks to
          Thomas Venturella <tventurell@mdc.com> for some his hints on how
          to fix this.
          Fixed some problems with exception handling and propagation.

        * orbsvcs/tests/Makefile:
        * orbsvcs/tests/EC_Basic/Makefile:
        * orbsvcs/tests/EC_Basic/README:
        * orbsvcs/tests/EC_Basic/run_test.pl:
        * orbsvcs/tests/EC_Basic/EC_Basic.h:
        * orbsvcs/tests/EC_Basic/EC_Basic.i:
        * orbsvcs/tests/EC_Basic/EC_Basic.cpp:
          Added a new test for the Event Channel, this will grow to become
          the main regression test for the EC, at this point it only tests
          the use of several suppliers with the same ID.

        * docs/releasenotes/TODO.html:
          Update the file.

Sun Oct  4 15:40:05 1998  Balachandra Natarajan  <bala@lambada.cs.wustl.edu>

        * Any.cpp
          Anticipated fix for break in build. The TypeCode_ptr was not
          completely qualified (as CORBA::TypeCode_ptr).

Sun Oct 04 08:40:12 1998  David L. Levine  <levine@cs.wustl.edu>

        * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp,client.cpp,
          server.cpp,run_tests.pl: used IIOP instead of URL style obj
          refs for maximum performance.

Sat Oct  3 20:20:14 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>

        * TAO_IDL/be/be_interface.cpp (gen_gperf_lookup_methods): Added
        code to handle Binary Search operation lookup strategy. Not yet
        tested with GPERF.

        * tao/Operation_Table.cpp: Added class for Binary Search operation
        lookup strategy. s

        * TAO_IDL/be_include/be_codegen.h: New LOOKUP_STRATEGY enum for
        Binary search.

        * tao/Operation_Table.h (TAO_Active_Demux_OpTable): Added class
        for Binary Search operation lookup strategy.

        * TAO_IDL/be_include/be_interface.h (be_type): Added private
        methods to generate code for binary searh and linear search. Not
        yet tested with GPERF. Doesnt harm using the old operation lookup
        strategies.

        * TAO_IDL/include/idl_global.h (class IDL_GlobalData): Renamed
        perfect_hasher by gperf_path. gperf is going to be used for binary
        search and linear search as well. So it is not specific to perfect
        hashing.

        * TAO_IDL/driver/drv_args.cpp (DRV_parse_args): Changed the option
        <-H dynamic> to <-H dynamic_hash>. Added options
        <-H perfect_hash>, <-H binary_search> and <-H linear_search>. Do
        NOT try these *_search options yet. It is yet to be tested with
        GPERF. Also extended testing for GPERF's existance in the case of
        Binary Search strategy also.

Sat Oct  3 19:35:05 1998  Balachandra Natarajan  <bala@lambada.cs.wustl.edu>

        * Any.cpp
          Fix for memeory leaks in extraction.

Sat Oct  3 15:16:05 1998  Marina Igorevna Spivak  <marina@mambo.cs.wustl.edu>

        * orbsvcs/tests/Simple_Naming/client.cpp
        * orbsvcs/tests/Simple_Naming/README
        * orbsvcs/tests/Simple_Naming/run_test.pl
        Added destroy test to the set of tests already there.

Sat Oct 03 09:54:14 1998  David L. Levine  <levine@cs.wustl.edu>

        * performance-tests/Thruput/Orbix/Makefile: removed
          Quantify/Purify relics.

        * performance-tests/Thruput/Orbix/ttcp_decl.h,ttcp_i.cpp,
          Client.cpp,Srv_Main.cpp: replace USE_QUANTIFY with
          ACE_HAS_QUANTIFY.

        * TAO_IDL/be/be_visitor_scope.cpp (next_elem): initialized
          local "node" to 0 to avoid g++ warning about possible
          uninitialized used.

Fri Oct  2 23:03:20 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * docs/releasenotes/ec.html:
          Added an entry to explain the differences between the TAO event
          service and the standard CORBA event service.

Fri Oct  2 20:16:35 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * tao/DynAnyC.cpp:
          David got a couple of warnings with Dec cxx that led me to
          some lines that I had commented out to find a bug and
          forgot to uncomment.

Fri Oct  2 20:02:42 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * TAO_IDL/be/be_sunsoft.cpp:
          IDL compiler will now generate correct code for
          a constant char that is an escape sequence.

Fri Oct 02 16:49:59 1998  David L. Levine  <levine@cs.wustl.edu>

         * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.{h,cpp},
           client.cpp,server.cpp: replaced NO_ACE_QUANTIFY with
           ACE_HAS_QUANTIFY.

         * performance-tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test:
           kill with -15 instead of -1, because HUP no longer
           kills TAO processes.

Fri Oct  2 16:09:24 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao/IIOP_Object.i (use_locate_requests): Changed the 1s to 0s so
          they would work correctly.  Thanks to Michael Kircher
          <mlkirche@trick.informatik.uni-stuttgart.de> for reporting this.

Fri Oct 02 09:02:54 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: Removed an
          unused local variable, not the one Andy just added. ;)

Fri Oct  2 08:18:28 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_operation/operation_ss.cpp:

          There was a local variable that got removed by mistake while
          removing all unused locals. It has been reincluded.

Thu Oct  1 23:31:34 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * Updated the dependencies in all the Makefiles due to the DynAny
          changes.

Thu Oct  1 22:05:39 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * tao/DynAny.pidl:
        * tao/InconsistentTypeCode.pidl:
        * tao/DynAnyC.{h,i,cpp}:
        * tao/DynAnyS.cpp:
        * tao/DynAny_i.{h,cpp}:
        * tao/DynArray_i.{h,cpp}:
        * tao/DynEnum_i.{h,cpp}:
        * tao/DynSequence_i.{h,cpp}:
        * tao/DynStruct_i.{h,cpp}:
        * tao/DynUnion_i.{h,cpp}:
        * tao/DynUnion_i_T.{h,cpp}:
        * tao/InconsistentTypeCode.{h,cpp}:
        * tao/corba.h:
        * tao/ORB.{h,i,cpp}:
        * tao/POA_CORBA.h:
        * tao/Makefile:
        * tao/TAO.dsp:
          All the DynAny stuff, plus the necessary additions to
          other TAO files, plus mods to Unix Makefile and VC
          project file. Builds were successful using VC5, Sun cc
          and GNU g++.

Thu Oct 01 21:21:19 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_operation/operation_ss.cpp
          (gen_raise_exception):
          (gen_check_exception):
          (gen_demarshal_params): Removed unused local variable(s) to
          avoid warnings from VC5.

Thu Oct  1 20:51:39 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp: Added trailing
          return statements to supress warnings from g++.

Thu Oct  1 16:03:55 1998  Darrell Brunsch <brunsch@cs.wustl.edu>

        * performance-tests/Cubit/TAO/IDL_Cubit/client.dsp:
        * performance-tests/Cubit/TAO/IDL_Cubit/server.dsp:
        * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.dsp:
          Removed orbsvcs reference.

Thu Oct 01 14:22:35 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/CDR.i (operator<<): Changed to use TAO_CHECK_ENV for Any,
          Object and TypeCode operations and added trailing return
          statement to avoid warnings from MSVC.

        * TAO/TAO_IDL/tao_idl.dsp:
        * TAO/TAO_IDL/tao_idl_static.dsp: Updated project based on Andy's
          changes.  (by Darrell.)

        * TAO/TAO_IDL/be/be_visitor_array/any_op_cs.cpp:
        * TAO/TAO_IDL/be/be_visitor_enum/any_op_cs.cpp:
        * TAO/TAO_IDL/be/be_visitor_exception/any_op_cs.cpp:
        * TAO/TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp:
        * TAO/TAO_IDL/be/be_visitor_structure/any_op_cs.cpp:
        * TAO/TAO_IDL/be/be_visitor_union/any_op_cs.cpp:  Added trailing
          "return 0;" for generated code for operator>>= of these to avoid
          MSVC warnings.

Thu Oct  1 12:42:58 EDT 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_factory.cpp
                 /be_include/be_factory.h
                 /be_stream

          Renamed to be_factory.{h, cpp} to be_stream_factory.{h, cpp},
          respectively. We removed the visitor factory related classes and
          code from these files and created new files.

        * TAO_IDL/be/be_interpretive.cpp
                 /be_include/be_interpretive.h:

          Removed. Instead we now have the be_visitor_factor.{h, cpp} file
        described next.

        * TAO_IDL/be/be_visitor_factory.cpp
                 /be_include/be_visitor_factory.h:

          Added the abstract base class visitor factory called
          "TAO_Visitor_Factory" that provides the "make_visitor" factory
          method. Special concrete visitor factories called
          "TAO_Interpreted_Visitor_Factory",
          "TAO_Compiled_Visitor_Factory", and "TAO_Common_Visitor_Factory"
          are now available as Singleton concrete factories.

          The TAO_Common_Visitor_Factory is never used directly by the
          client (i.e., the tao_cg object). There are several visitors
          that are common to both the interpretive as well as the compiled
          approaches e.g., interface code generation, any operators,
          etc. Thus, the two primary factories (interpretive or compiled)
          will internally delegate code generation to the common factory
          based on the state.

        * TAO_IDL/be/be_codegen.cpp
                 /be_include/be_codegen.h:

          Removed a large number of unused enumerations for the
          CG_STATE. Also, renamed all the *DOCALL* states to *INVOKE*
          states to make it look generic and applicable to both
          interpretive as well as compiled marshaling.

          Added a new method called "config_visitor_factory (void)". This
          allows the TAO_CODEGEN Singleton object to be strategized with
          the desired visitor factory which can be either the interpretive
          or the compiled visitor factory, but never the common
          factory. The common factory gets invoked internally by the other
          two factories as described before. This strategy is fixed based on
          the command line option provided to the compiler.

          We no longer create a new factory and own it. Instead, as
          described before, we simply hold a pointer to the abstract base
          factory. This is initialized to either the interpretive or
          compiled factory objects using the config_visitor_factory
          method.

        * TAO_IDL/be_include/be.h:

          Made the necessary changes due to the addition and renaming of
          files described above.

        * TAO_IDL/be/be_produce.cpp:

          We call the config_visitor_factory method on our TAO_CODEGEN
          singleton, strategy object. It will configure itself with the
          right visitor factory.

        * TAO_IDL/be/be_visitor_argument.cpp
                 /be_include/be_visitor_argument.h:

          Added new include *.{h, cpp} files described next.

        * TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp
                                        /compiled_marshal_ss.cpp
                                        /pre_invoke_cs.cpp
                 /be_include/be_visitor_argument/compiled_marshal_cs.h
                                                /compiled_marshal_ss.h
                                                /pre_invoke_cs.h:

          New files with new visitors added for compiled marshaling
          support. The compiled_marshal_{cs,ss}.{h,cpp} has visitors that
          generates the code for marshaling and demarshaling parameters
          using the CDR <<, >> operators. The pre_invoke_cs is a visitor
          that inherits from the pre_docall_cs. Its sole purpose is to
          override  the visit_interface and visit_interface_fwd
          methods. The reason we need to do this is because for compiled
          marshaling, we do not need to deal with the base
          CORBA_Object_ptr types and do the necessary _narrow inside the
          stub/skel.  This is all done in the code for the <<, >>
          operators.

        * TAO_IDL/be/be_visitor_argument/docall_cs.cpp
                                        /pre_docall_cs.cpp
                                        /marshal_ss.cpp
                                        /post_upcall_ss.cpp
                                        /upcall_ss.cpp:

          For all the variable sized types, especially the out parameters,
          we were declaring the _var, _out, and the ptr type for the
          parameter. We no londer need to instantiate so many
          variables. We can deal with just the _var types. All actions
          including memory allocation, passing it to the do_static_call or
          the upcall, is handled using the _var parameter. This reducs
          code size as well as the activation record size since the number
          of local variables is significantly reduced.

        * TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp
                 /be_include/be_visitor_argument/vardecl_ss.h:

          We define an addition class called
          be_compiled_visitor_args_vardecl_ss that inherits from the base
          be_visitor_args_vardecl_ss. Its only purpose is to override the
          base class's visit_interface methods. The overridden methods
          avoid the generation of the extra local variables of the
          CORBA::Object_ptr type.

        * TAO_IDL/be/be_visitor_array/any_op_cs.cpp:
          TAO_IDL/be/be_visitor_enum/any_op_cs.cpp:
          TAO_IDL/be/be_visitor_structure/any_op_cs.cpp:

          The code for <<=, and >>= now uses the TAO_TRY macros so that
          they can work with real C++ exceptions also.

          This is not yet done for all types since this is under testing.

        * TAO_IDL/{be, be_include}/be_visitor_enum/enum_ch.{h, cpp}
          TAO_IDL/{be, be_include}/be_visitor_exception/cdr_op_cs.{h, cpp}
          TAO_IDL/{be, be_include}/be_visitor_exception/exception_ctor.{h, cpp}
          TAO_IDL/{be, be_include}/be_visitor_interface/cdr_op_cs.{h, cpp}:
          TAO_IDL/{be, be_include}/be_visitor_operation/argument.{h, cpp}:
          TAO_IDL/{be, be_include}/be_visitor_union/cdr_op_cs.{h, cpp}:

          Modifications were necessary due to the change in the
          "post_process" signature and semantics.

        * TAO_IDL/be/be_visitor_interface/interface.cpp:

          Removed some commented-out code.

        * TAO_IDL/be/be_visitor_interface/interface_ss.cpp:

          The skeleton code now uses the TAO_TRY macros for seamless exception
          support between the real C++ exceptions and the alternate mapping.

        * TAO_IDL/be/be_visitor_operation.cpp
                 /be_include/be_visitor_operation.h:

          Added new include *.{h, cpp} files described below.

        * TAO_IDL/be/be_visitor_operation/operation.cpp
          TAO_IDL/be/be_visitor_operation/argument_invoke.cpp
          TAO_IDL/be/be_visitor_operation/argument_marshal.cpp
          TAO_IDL/be/be_visitor_operation/compiled_marshal.cpp
          TAO_IDL/be/be_visitor_operation/rettype_preinvoke_cs.cpp
          TAO_IDL/be/be_visitor_operation/rettype_return_cs.cpp
          TAO_IDL/be/be_visitor_operation/rettype_marshal_ss.cpp
          TAO_IDL/be_include/be_visitor_operation/operation.h
          TAO_IDL/be_include/be_visitor_operation/argument_invoke.h
          TAO_IDL/be_include/be_visitor_operation/argument_marshal.h
          TAO_IDL/be_include/be_visitor_operation/compiled_marshal.h
          TAO_IDL/be_include/be_visitor_operation/rettype_preinvoke_cs.h:

          For all the variable sized return types we were declaring the
          _var, _out, and the ptr type for the parameter. We no londer
          need to instantiate so many variables. We can deal with just the
          _var types. All actions including memory allocation, passing it
          to the do_static_call is handled using the _var parameter. This
          reduces code size as well as the activation record size since
          the number of local variables is significantly reduced.

          Some other visitors such as the asrgument_invoke and
          argument_marshal are needed to generate the right number of &&
          operator at the right place in the large "if" statement that is
          generated for marshaling or unmarshaling parameters. This is
          useful only for the compiled approach.

          The base class operation visitor was added to the operation.{h,
          cpp} files. It provides a number of helper classes used commonly
          by inherited visitors.

        * TAO_IDL/be/be_visitor_operation/rettype_vardecl_ss.cpp:
          TAO_IDL/be_include/be_visitor_operation/rettype_vardecl_ss.h:

          Define a new class for compiled marshaling approach that
          overrides the visit_interface method over its base class. This
          way we avoid generation of extra variables.

        * TAO_IDL/{be, be_include}/be_visitor_operation/operation_ch.{h,cpp}
          TAO_IDL/{be, be_include}/be_visitor_operation/operation_cs.{h,cpp}
          TAO_IDL/{be, be_include}/be_visitor_operation/operation_sh.{h,cpp}
          TAO_IDL/{be, be_include}/be_visitor_operation/operation_ss.{h,cpp}:

          All these now inherit from the base operation visitor.

          For the client side stubs (operation_cs.{h, cpp}) and server
          side skeletons (operation_ss.{h, cpp}), we now factor out all
          the code that is common to both the interpreted and compiled
          stubs/skels. Thus, the visit_operation method is now a template
          method. It calls operations  that are implemented only by
          derived classes. These methods e.g., gen_pre_stub_info,
          gen_marshal_and_invoke, and others will generate the code that
          is different for the interpreted vs compiled approaches..

          We define derived classes called
          "be_interpretive_visitor_operation_cs" and
          "be_compiled_visitor_operation_cs" (similarly for the skeletons)
          that provide the implementation for the pure virtual methods
          called by the template method "visit_operation".

        * TAO_IDL/be/be_visitor_scope.cpp
                 /be_include/be_visitor_scope.cpp:

          Added a new "pre_process" method. Both the pre_process and
          post_process methods now take the "be_decl *" as an
          argument. This was the change made to the post_process.

          In addition, post_process is always invoked irrespective of the
          node being the last one in the scope or not.

          To test if the node being processed is the last one, we have
          added a new method called "last_node" returning a boolean
          value. Similarly, we have added "next_elem" method that gives us
          our successor and the "elem_number" that gives us our number in
          the list.

        * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp:

          For bounded vs unbounded strings, we generate different code for
          the CDR operators.

          I need to check if this policy is strictly followed for all
          aggregate types that can have a string member.

        * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ch.cpp:

          For sequences of arrays, there were some weird problems using
          the ACE_reinterpret_cast which is now fixed.

        * TAO_IDL/be/be_visitor_typedef/typedef.cpp:

          Removed lots of cases in the switch statement since we removed
          those enumerations from the CG_STATE of the TAO_CODEGEN object.

        * TAO_IDL/Makefile:

          ran make depend.

        * TAO_IDL/driver/drv_args.cpp:

          ACEified the code.

          Updated the usage_error message with new command line options.

          Handled the new options.

          -Gc - generate compiled marshaled code
          -Ge - enable C++ exception support (unimplemented)
          -Gt - generate optimized typecodes (unimplemented)
          -Sa - suppress any operators
          -St - suppress typecode generation

          The default is to always generate all the Any operators,
          TypeCodes and to use the Interpretive marshaling.

        * TAO_IDL/include/idl_global.h
                 /utils/utl_global.cpp:

          Added a number of mutator and accesor methods for the newly
          added command line options.

        * performance_tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp:

          Commented out the RTI and the Union tests since the CDR
          operators are not yet done for the unions.

        * tao/Any.{h, i}
          tao/ORB.{h, i}
          tao/Object.{h, i}
          tao/Typecode.{h, i}:

          The parameter to the copy ctor and assignment operator of the
          _out class is now "const". This resolves the weird warnings we
          were getting about a temporary being created. We were also
          required to instantiate the _out type explicitly to overcome
          this. However, we no londer need to write this non-compliant
          code.

        * tao/CDR.i:

          Code for <<, >> operators for objref, typecode, and Anys had a
          bug.

        * tao/corba.h:

          Moved the inclusion of the try_macros.h before the CDR.h since
          we us the macros in the code

Thu Oct  1 11:18:35 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * examples/Simple/bank/AccountManager_i.cpp: Removed the unneeded
          ';' at the end of the #pragmas.  Thanks to Margherita Vittone
          Wiersma <vittone@fndaub.fnal.gov> for reporting this.

Thu Oct 01 10:39:44 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/ORB_Core.cpp (input_cdr_dblock_allocator): wrapped
          break following return with ACE_NOTREACHED, in two places.

        * orbsvcs/orbsvcs/Event/Event_Channel.cpp: removed
          ACE_Malloc<ACE_LOCAL_MEMORY_POOL, ACE_SYNCH_MUTEX>
          instantiation because it's now in tao/ORB_Core.cpp.

Thu Oct 01 00:17:17 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/ORB_Core.h: Removed template specialization for
          INET_Addr.hash(). Also changed/fixed explicit template
          instantiations.