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
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
|
Sat Jun 10 05:03:58 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* configure.ac:
Add AM_CONDITIONAL for BUILD_WINNT and BUILD_WXWINDOWS.
Sat Jun 10 04:34:32 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* docs/tutorials/Quoter/AMI/Makefile.am:
* docs/tutorials/Quoter/Event_Service/Makefile.am:
* docs/tutorials/Quoter/On_Demand_Activation/Makefile.am:
* docs/tutorials/Quoter/RT_Event_Service/Makefile.am:
* docs/tutorials/Quoter/idl/Makefile.am:
* examples/AMH/Sink_Server/Makefile.am:
* examples/AMI/FL_Callback/Makefile.am:
* examples/Advanced/ch_3/Makefile.am:
* examples/Buffered_AMI/Makefile.am:
* examples/Buffered_Oneways/Makefile.am:
* examples/CSD_Strategy/ThreadPool/Makefile.am:
* examples/CSD_Strategy/ThreadPool2/Makefile.am:
* examples/CSD_Strategy/ThreadPool3/Makefile.am:
* examples/CSD_Strategy/ThreadPool4/Makefile.am:
* examples/CSD_Strategy/ThreadPool5/Makefile.am:
* examples/CSD_Strategy/ThreadPool6/Makefile.am:
* examples/Callback_Quoter/Makefile.am:
* examples/Content_Server/AMI_Iterator/Makefile.am:
* examples/Content_Server/AMI_Observer/Makefile.am:
* examples/Content_Server/SMI_Iterator/Makefile.am:
* examples/Event_Comm/Makefile.am:
* examples/Kokyu_dsrt_schedulers/Makefile.am:
* examples/Kokyu_dsrt_schedulers/fp_example/Makefile.am:
* examples/Kokyu_dsrt_schedulers/mif_example/Makefile.am:
* examples/Kokyu_dsrt_schedulers/muf_example/Makefile.am:
* examples/Load_Balancing/Makefile.am:
* examples/Load_Balancing_persistent/Makefile.am:
* examples/Logging/Makefile.am:
* examples/OBV/Typed_Events/Makefile.am:
* examples/POA/DSI/Makefile.am:
* examples/POA/Default_Servant/Makefile.am:
* examples/POA/Forwarding/Makefile.am:
* examples/POA/Generic_Servant/Makefile.am:
* examples/POA/TIE/Makefile.am:
* examples/Persistent_Grid/Makefile.am:
* examples/PluggableUDP/tests/Basic/Makefile.am:
* examples/PluggableUDP/tests/Performance/Makefile.am:
* examples/PluggableUDP/tests/SimplePerformance/Makefile.am:
* examples/Quoter/Makefile.am:
* examples/RTCORBA/Activity/Makefile.am:
* examples/RTScheduling/Fixed_Priority_Scheduler/Makefile.am:
* examples/RTScheduling/MIF_Scheduler/Makefile.am:
* examples/Simple/bank/Makefile.am:
* examples/Simple/chat/Makefile.am:
* examples/Simple/echo/Makefile.am:
* examples/Simple/grid/Makefile.am:
* examples/Simple/time/Makefile.am:
* examples/Simple/time-date/Makefile.am:
* examples/Simulator/Event_Supplier/Makefile.am:
* examples/TypeCode_Creation/Makefile.am:
* examples/ior_corbaloc/Makefile.am:
* examples/mfc/Makefile.am:
* interop-tests/wchar/Makefile.am:
* orbsvcs/FTRT_Event_Service/Factory_Service/Makefile.am:
* orbsvcs/FTRT_Event_Service/Gateway_Service/Makefile.am:
* orbsvcs/ImplRepo_Service/Makefile.am:
* orbsvcs/Naming_Service/Makefile.am:
* orbsvcs/Notify_Service/Makefile.am:
* orbsvcs/examples/CosEC/Factory/Makefile.am:
* orbsvcs/examples/CosEC/TypedSimple/Makefile.am:
* orbsvcs/examples/FaultTolerance/RolyPoly/Makefile.am:
* orbsvcs/examples/ImR/Advanced/Makefile.am:
* orbsvcs/examples/ImR/Combined_Service/Makefile.am:
* orbsvcs/examples/LoadBalancing/Makefile.am:
* orbsvcs/examples/ORT/Makefile.am:
* orbsvcs/examples/Security/Send_File/Makefile.am:
* orbsvcs/orbsvcs/Makefile.am:
* orbsvcs/performance-tests/LoadBalancing/LBPerf/RPS/Makefile.am:
* orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Makefile.am:
* orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Makefile.am:
* orbsvcs/performance-tests/RTEvent/lib/Makefile.am:
* orbsvcs/tests/BiDir_CORBALOC/Makefile.am:
* orbsvcs/tests/Bug_1395_Regression/Makefile.am:
* orbsvcs/tests/Bug_2247_Regression/Makefile.am:
* orbsvcs/tests/Bug_2285_Regression/Makefile.am:
* orbsvcs/tests/Bug_2287_Regression/Makefile.am:
* orbsvcs/tests/Bug_2316_Regression/Makefile.am:
* orbsvcs/tests/Bug_2377_Regression/Makefile.am:
* orbsvcs/tests/EC_Custom_Marshal/Makefile.am:
* orbsvcs/tests/FT_App/Makefile.am:
* orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/Makefile.am:
* orbsvcs/tests/FaultTolerance/IOGR/Makefile.am:
* orbsvcs/tests/FtRtEvent/Makefile.am:
* orbsvcs/tests/HTIOP/AMI/Makefile.am:
* orbsvcs/tests/HTIOP/BiDirectional/Makefile.am:
* orbsvcs/tests/HTIOP/Hello/Makefile.am:
* orbsvcs/tests/IOR_MCast/Makefile.am:
* orbsvcs/tests/ImplRepo/Makefile.am:
* orbsvcs/tests/ImplRepo/scale/Makefile.am:
* orbsvcs/tests/InterfaceRepo/Application_Test/Makefile.am:
* orbsvcs/tests/Interoperable_Naming/Makefile.am:
* orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/Makefile.am:
* orbsvcs/tests/LoadBalancing/GenericFactory/Infrastructure_Controlled/Makefile.am:
* orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Makefile.am:
* orbsvcs/tests/Miop/McastHello/Makefile.am:
* orbsvcs/tests/Notify/Blocking/Makefile.am:
* orbsvcs/tests/Notify/Discarding/Makefile.am:
* orbsvcs/tests/Notify/MT_Dispatching/Makefile.am:
* orbsvcs/tests/Notify/Ordering/Makefile.am:
* orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Makefile.am:
* orbsvcs/tests/Notify/Sequence_Multi_Filter/Makefile.am:
* orbsvcs/tests/Notify/Structured_Filter/Makefile.am:
* orbsvcs/tests/Notify/Structured_Multi_Filter/Makefile.am:
* orbsvcs/tests/Notify/lib/Makefile.am:
* orbsvcs/tests/Notify/performance-tests/Filter/Makefile.am:
* orbsvcs/tests/Redundant_Naming/Makefile.am:
* orbsvcs/tests/Security/BiDirectional/Makefile.am:
* orbsvcs/tests/Security/Big_Request/Makefile.am:
* orbsvcs/tests/Security/Callback/Makefile.am:
* orbsvcs/tests/Security/Crash_Test/Makefile.am:
* orbsvcs/tests/Security/MT_IIOP_SSL/Makefile.am:
* orbsvcs/tests/Security/MT_SSLIOP/Makefile.am:
* orbsvcs/tests/Security/Secure_Invocation/Makefile.am:
* orbsvcs/tests/Security/ssliop_corbaloc/Makefile.am:
* orbsvcs/tests/Simple_Naming/Makefile.am:
* orbsvcs/tests/Trading/Makefile.am:
* orbsvcs/tests/ior_corbaname/Makefile.am:
* performance-tests/Makefile.am:
* performance-tests/Anyop/Makefile.am:
* performance-tests/CSD_Strategy/TestInf/Makefile.am:
* performance-tests/CSD_Strategy/TestServant/Makefile.am:
* performance-tests/Callback/Makefile.am:
* performance-tests/Cubit/TAO/DII_Cubit/Makefile.am:
* performance-tests/Cubit/TAO/IDL_Cubit/Makefile.am:
* performance-tests/Cubit/TAO/MT_Cubit/Makefile.am:
* performance-tests/Latency/AMH_Single_Threaded/Makefile.am:
* performance-tests/Latency/AMI/Makefile.am:
* performance-tests/Latency/Collocation/Makefile.am:
* performance-tests/Latency/DII/Makefile.am:
* performance-tests/Latency/DSI/Makefile.am:
* performance-tests/Latency/Deferred/Makefile.am:
* performance-tests/Latency/Single_Threaded/Makefile.am:
* performance-tests/Latency/Thread_Per_Connection/Makefile.am:
* performance-tests/Latency/Thread_Pool/Makefile.am:
* performance-tests/Memory/IORsize/Makefile.am:
* performance-tests/Memory/Single_Threaded/Makefile.am:
* performance-tests/POA/Demux/Makefile.am:
* performance-tests/POA/Implicit_Activation/Makefile.am:
* performance-tests/POA/Object_Creation_And_Registration/Makefile.am:
* performance-tests/Pluggable/Makefile.am:
* performance-tests/Protocols/Makefile.am:
* performance-tests/RTCorba/Multiple_Endpoints/Common/Makefile.am:
* performance-tests/RTCorba/Oneways/Reliable/Makefile.am:
* performance-tests/RTCorba/Thread_Pool/Makefile.am:
* performance-tests/Sequence_Latency/AMH_Single_Threaded/Makefile.am:
* performance-tests/Sequence_Latency/AMI/Makefile.am:
* performance-tests/Sequence_Latency/DII/Makefile.am:
* performance-tests/Sequence_Latency/DSI/Makefile.am:
* performance-tests/Sequence_Latency/Deferred/Makefile.am:
* performance-tests/Sequence_Latency/Single_Threaded/Makefile.am:
* performance-tests/Sequence_Latency/Thread_Per_Connection/Makefile.am:
* performance-tests/Sequence_Latency/Thread_Pool/Makefile.am:
* performance-tests/Throughput/Makefile.am:
* tao/Makefile.am:
* utils/Makefile.am:
Regenerated.
* configure.ac:
Configure utils/wxNamingViewer/Makefile.am.
* utils/wxNamingViewer/Makefile.am:
New file.
Sat Jun 10 03:52:25 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/Naming_Service/Naming_Service.mpc:
Changed NT_Naming_Service project to require new MPC feature
variable "winnt". Avoids building and installing this on non
Windows systems. Fixes bugzilla bug #2412.
* orbsvcs/Notify_Service/Notify_Service.mpc:
Changed NT_Notify_Service project to require new MPC feature
variable "winnt". Avoids building and installing this on non
Windows systems. Fixes bugzilla bug #2411.
Fri Jun 9 18:33:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/performance-tests/RTEvent/lib/Client_Options.{h,cpp}:
* examples/RTCORBA/Activity/POA_Holder.{h,cpp}:
* examples/RTCORBA/Activity/Periodic_Task.{h,cpp}:
* examples/RTCORBA/Activity/Job_i.{h,cpp}:
* examples/RTCORBA/Activity/Builder.{h,cpp}:
* orbsvcs/tests/Notify/lib/Peer.h:
Just include ACE_Arg_Shifter in the header file instead of
using a forward declaration
Fri Jun 9 14:49:06 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/Stack_Recursion/run_test.pl:
Doubled the timeout to accomodate really slow machines. This was
necessitated by new sequence initialization code.
Fri Jun 9 14:48:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/tests/Notify/lib/Options_Parser.{h,cpp}:
Moved the include of Arg_Shifter.h from cpp to header file
Fri Jun 9 14:35:56 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/Big_Request_Muxing/Client_Task.h:
* tests/Big_Request_Muxing/Client_Task.cpp:
* tests/Big_Request_Muxing/Payload_Receiver.h:
* tests/Big_Request_Muxing/Payload_Receiver.cpp:
* tests/Big_Request_Muxing/Test.idl:
* tests/Big_Request_Muxing/client.cpp:
* tests/Big_Request_Muxing/run_test.pl:
* tests/Big_Request_Muxing/server.cpp:
This test frequently shows false errors due dropped SYNC_NONE
messages. These errors are false because dropping such messages
is not an error. The test now separately accounts for SYNC_NONE
invocations separately by using a different operation.
I also modified the timeout loop in an earlier attempt to
resolve the periodic dropped messages, thinking the timeout
occured due to heavy loads. Now the timeout less about the whole
event and more about the duration of individual requests.
Thu Jun 8 02:16:30 UTC 2006 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
* orbsvcs/Event_Service/Event_Service.cpp (parse_args): Added a
missing break statement. Thanks to Sunil Rottoo <sunil dot
rottoo at idilia dot com> for reporting this.
Wed Jun 7 14:24:55 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.h:
Now with all with the cleanup, we can switch from using a
ACE_Hash_Map to a ACE_RB_Tree by changing one typedef.
Now that LogRecords are ordered by RecordId, for all practical
purposes this resolves bugzilla bugs #1980 and #1981. While it
doesn't handle the case where the RecordId's wrap, with 64 bits,
that's not worth losing too much sleep over. Even if we logged
1,000,000 records per second, it would take nearly 600,000 years
to wrap.
Wed Jun 7 09:04:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Invocation_Adapter.cpp:
Corrected the check whether a request has arguments or not. This
fixes interoperability issues with Orbix. Thanks to Phil
Billingham <phil_billingham at ml dot com> for reporting
this. This fixes bugzilla bug 2548
Tue Jun 6 21:05:19 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/Sequence_Unit_Tests/unbounded_octet_sequence_nocopy_ut.cpp:
There was a buffer overrun inside this test case.
Tue Jun 6 17:25:15 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
* TAO_IDL/tao_idl.mpc:
Combined two automake specific sections into one.
* orbsvcs/FTRT_Event_Service/Factory_Service/FTRTEC_Factory_Service.mpc:
* orbsvcs/FTRT_Event_Service/Gateway_Service/FTRTEC_Gateway_Service.mpc:
* orbsvcs/tests/FtRtEvent/FtRtEvent.mpc:
Replaced a gnuace specific section to link in tje TAO_Strategies
library with the inheritance of the strategies base project.
Tue Jun 6 17:02:57 UTC 2006 Yan Dai <dai_y@ociweb.com>
* tests/DII_Collocation_Tests/Client_Task.cpp:
* tests/DII_Collocation_Tests/Client_Task.h:
* tests/DII_Collocation_Tests/Collocated_Test.cpp:
* tests/DII_Collocation_Tests/Hello.cpp:
* tests/DII_Collocation_Tests/Hello.h:
* tests/DII_Collocation_Tests/README:
* tests/DII_Collocation_Tests/run_test.pl:
* tests/DII_Collocation_Tests/Server_Task.cpp:
* tests/DII_Collocation_Tests/Server_Task.h:
* tests/DII_Collocation_Tests/Test.idl:
Added incomplete twoway test. More test cases (OUT, INOUT and
RETURN) need be added.
Tue Jun 6 14:48:33 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/Hash_Iterator_i.cpp:
Use iter->item() instead of (*iter).int_id_ to dereference
iterators.
Changed get() to set the length of the output sequence to the
maximum number of log records (this will be shrunk to the real
value once we find how many records match the constraint). We
must have got lucky with the old sequence implementation...
Tue Jun 6 13:56:49 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/Hash_Iterator_i.h:
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.h:
Consistantly use the LOG_RECORD_STORE typedef instead of
LOG_RECORD_HASH_MAP. The former is supposed to abstract the
latter.
Tue Jun 6 13:38:39 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp:
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.h:
Rename rec_hash_ member variable to rec_map_, as we plan to
change the type.
Tue Jun 6 13:23:06 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp:
Use iter->item() instead of (*iter).int_id_ to dereference
iterators.
Tue Jun 6 12:29:03 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.cpp:
Explicitly duplicate the command-line arguments passed to the
client and server ORBs. On some platforms, it wasn't enough to
merely readjust the length by setting last argv to 0.
Mon Jun 5 03:19:58 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/ORB_Core.cpp:
* tao/ORB_Core.h:
There is a class for containing certain initialization values
used by the ORB Core that are set during Dynamic loading of
service configuration objects where there is no way to get a
pointer to an ORB Core instance. These values were stored in
a static instance of this class, TAO_ORB_Core_Static_Resources.
However, using a static instance of this class is incongruent
with the notion of per-ORB configuration, so this change
addresses the problem by making the resources container a
service object which is initialized in the local configuration
context for each ORB, as well as a copy in the global
configuration context.
This fix specifically addresses the problem of having a later
ORB initialization, such as for a second ORB, affecting the
configuration of earlier ORBs. If this happens in separate
threads, a race can occur leading to unpredictable results.
However, it might be possible for some ORB-related configuration
to be supplied via service configuration after ORB_init is
called. If that is the case, then the appropriate configuration
context must be set with ACE_Service_Config_Guard during the
duration of the configuration. This will ensure the newly loaded
configuration object goes into the correct context.
* tao/CSD_Framework/CSD_Framework_Loader.cpp:
Reverted the temporary fix, it is no longer needed.
Sun Jun 4 16:04:36 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/DII_Collocation_Tests/oneway/Server_Task.h:
Add versioned namespace wrappers for the forward declaration of
an ACE class.
Sun Jun 4 14:39:56 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/CSD_Framework/CSD_Default_Servant_Dispatcher.cpp:
* tao/CSD_Framework/CSD_Framework_Loader.cpp:
This is a temporary (duration unknown) resolution to a problem
highlighted by the intermitant failure in the Two_DLL_ORB test.
The problem is that the POA factory name and POA factory
directive are held in a static instance of the
TAO_ORB_Core_Static_Resoures. The problem is that with multiple
configuration contexts, the ORBs are supposed to be configured
separately, but this static resource violates that principle.
Sat Jun 3 19:38:44 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp:
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.h:
Added new varient of remove_i() that takes an iterator instead
of a record id as its argument. In almost all cases, we have a
current iterator when deleting removing a log record; if we use
it when unbinding from the map, we avoid an extraneous lookup.
Update callers.
Sat Jun 3 19:03:53 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp:
Remove TODO comments about storing the id on a list when a log
record is deleted, and reusing those ids when a new log record
is inserted. If we did this, ids would be practically useless
for use by client applications. It's much more useful to have
montonically increasing ids.
Sat Jun 3 17:37:11 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp:
Changed last instance of use of old iterator API to the new
STL-like API.
Changed purge_old_records(), delete_records(), and
remove_old_records() to increment iterator before removing log
record. Removing the record invalidates the current iterator,
and incrementing afterwards it resulted in undefined behavior.
Sat Jun 3 16:10:47 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp:
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.h:
Changed the match() and delete_records() methods to iterate
through the map by themselves instead of invoking match_i().
While match_i() factored out common code, it did so at the
expense of an extra conditional in the hot path. Removed
match_i().
Sat Jun 3 15:46:45 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp:
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.h:
Remove private remove() method. Update callers to invoke
remove_i().
Rename update() to update_i().
Rename retrieve() to retrieve_i().
Sat Jun 3 05:25:09 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/PersistStore.cpp:
* orbsvcs/orbsvcs/Log/PersistStore.h:
* orbsvcs/orbsvcs/Log/LogRecordStore_persist.cpp:
* orbsvcs/orbsvcs/Log/LogRecordStore_persist.h:
Remove files. This was an old attempt at log record persistence
that predated the plug-in strategy.
Sat Jun 3 05:20:50 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.h:
Declare LOG_RECORD_HASH_MAP_ENTRY and LOG_RECORD_HASH_MAP_ITER
in terms of LOG_RECORD_HASH_MAP::ENTRY, ...::ITERATOR, instead
of duplicating all the template stuff. Will make it easier to
migrate to an ordered ma types, for bugzilla bugs #1980, #1981,
etc.
Sat Jun 3 05:19:59 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/examples/Log/Event/run_test.pl:
* orbsvcs/examples/Log/Notify/run_test.pl:
* orbsvcs/examples/Log/RTEvent/run_test.pl:
Kill the Consumer process instead of considering the test to be
failed if it did not exit itself. The Consumer connects to the
Log Factory's event channel, not the event/notification channel
for the log, so even though its disconnect_push_consumer method
invokes shutdown on the orb, the it doesn't matter since it's
not going to be called when the log is destroyed.
Sat Jun 3 05:03:15 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/TAO_Internal.cpp:
Added ACE_MT guards around new synchronization code to make it
single-thread-build safe.
Sat Jun 3 04:26:08 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Two_DLL_ORB/README:
Added a bit of a documentation on the test
* tests/ORB_Local_Config/Two_DLL_ORB/Test.cpp:
Modified to conditionaly excersise one of the two test
scenarios. Originally, the test used SSLIOP, however that
service is not built by default. So the change makes use of
another service, which is normally available in "default"
builds.
* tests/ORB_Local_Config/Two_DLL_ORB/primary-csd.conf:
* tests/ORB_Local_Config/Two_DLL_ORB/primary-ssl.conf:
* tests/ORB_Local_Config/Two_DLL_ORB/secondary-csd.conf:
* tests/ORB_Local_Config/Two_DLL_ORB/secondary-empty.conf:
* tests/ORB_Local_Config/Two_DLL_ORB/secondary-ssl.conf:
Added a simple names for the the configuration files.
* tests/ORB_Local_Config/Two_DLL_ORB/Service_Config_ORB_Test.conf:
* tests/ORB_Local_Config/Two_DLL_ORB/Service_Config_ORB_Test2.conf:
* tests/ORB_Local_Config/Two_DLL_ORB/Service_Config_ORB_Test3.conf:
Removed these files.
Fri Jun 2 21:02:46 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16.cpp:
Fixed a typo from the earlier commit.
Fri Jun 2 19:52:19 UTC 2006 Yan Dai <dai_y@ociweb.com>
* tests/DII_Collocation_Tests/twoway/Client_Task.cpp:
* tests/DII_Collocation_Tests/twoway/Client_Task.h:
* tests/DII_Collocation_Tests/twoway/Collocated_Test.cpp:
* tests/DII_Collocation_Tests/twoway/DII_Collocation_Tests.mpc:
* tests/DII_Collocation_Tests/twoway/Hello.cpp:
* tests/DII_Collocation_Tests/twoway/Hello.h:
* tests/DII_Collocation_Tests/twoway/README:
* tests/DII_Collocation_Tests/twoway/run_test.pl:
* tests/DII_Collocation_Tests/twoway/Server_Task.cpp:
* tests/DII_Collocation_Tests/twoway/Server_Task.h:
* tests/DII_Collocation_Tests/twoway/Test.idl:
Removed twoway test.
Fri Jun 2 12:05:13 USMST 2006 Yan Dai <dai_y@ociweb.com>
* tests/DII_Collocation_Tests/oneway/Collocated_Test.cpp:
Fixed compilation errors due to reference to a new file.
Fri Jun 2 13:33:19 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/Big_Twoways/server.cpp:
Fixed a minor memory leak caused by not cleaning up servants.
* tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16.cpp:
Addressed compiler warnings generated by some platforms with
2-byte wchars. This codeset translator should only be used on
hosts with 4-byte wchars, since UCS4 is a 32-bit codeset, but
not all of the test platforms meet that criterium.
Fri Jun 2 12:36:58 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tao/TAO_Internal.cpp:
Adding synchronization, in the form of a condition variable to
fix a race condition occurring when a non-default ORB enters
open_services, before the default ORB has completed
initializing the global service objects. According to the spec,
the default ORB is the one that gets to call ORB_init
first. The ORB-specific configuration implementation designates
the default ORB to initialize globally available service
objects, like the Resource Factory. If a non-default ORB beats
it to the resource initialization, it would cause a SEGV.
* tests/ORB_Local_Config/Two_DLL_ORB/Service_Config_ORB_Test.conf:
As a consequence of implementing the ORB-specific
configuration, we discovered many implicit assumptions about
the lifetime of objects. For example, process-global Singletons
are created by service objects, loaded by ORBs, which are
themselves initialized from a DLL-loaded code. If that DLL,
which also contains the code for tearing down the Singleton
gets unloaded (for instance, as a consequence of calling
orb->destroy()), its TEXT segment will no longer be mapped in
memory when the Object Manager tries to destroy the Singleton.
Ossama has a solution for a similar problem, involving the TAO
Singleton Manager, for DLL-loaded ORBs (see the DLL_ORB test),
however it doesn't cover the ACE Object Manager.
This configuration change is a workaround the fact that SSLIOP,
loaded as a private service object by a DLL-based ORB,
registers a process-global Singleton - ACE_SLL_Context, with
the Object Manager. In an use-case with multiple dynamically
loaded components containing ORBs, SSLIOP should be loaded
prior to loading any of the dynamic components using it. In
general, any SO that uses ACE Singletons must be treated
similarly, or rewritten.
Fri Jun 2 04:44:17 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp:
* orbsvcs/orbsvcs/Log/EventLog_i.cpp:
* orbsvcs/orbsvcs/Log/EventLog_i.h:
* orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp:
* orbsvcs/orbsvcs/Log/RTEventLog_i.cpp:
* orbsvcs/orbsvcs/Log/RTEventLog_i.h:
We must pass both the RootPOA and the Log POA to the log servant
ctor, destroy() needs to deactivate the servant on the Log POA.
Thu Jun 1 23:13:58 UTC 2006 Yan Dai <dai_y@ociweb.com>
* tests/DII_Collocation_Tests/Client_Task.cpp:
* tests/DII_Collocation_Tests/Client_Task.h:
* tests/DII_Collocation_Tests/Collocated_Test.cpp:
* tests/DII_Collocation_Tests/DII_Collocation_Tests.mpc:
* tests/DII_Collocation_Tests/Hello.cpp:
* tests/DII_Collocation_Tests/Hello.h:
* tests/DII_Collocation_Tests/README:
* tests/DII_Collocation_Tests/run_test.pl:
* tests/DII_Collocation_Tests/Server_Task.cpp:
* tests/DII_Collocation_Tests/Server_Task.h:
* tests/DII_Collocation_Tests/Test.idl:
These files are moved to the tests/DII_Collocation_Tests/oneway
directory since a new test for twoway collocated DII request
is added.
* tests/DII_Collocation_Tests/oneway/Client_Task.cpp:
* tests/DII_Collocation_Tests/oneway/Client_Task.h:
* tests/DII_Collocation_Tests/oneway/Collocated_Test.cpp:
* tests/DII_Collocation_Tests/oneway/DII_Collocation_Tests.mpc:
* tests/DII_Collocation_Tests/oneway/Hello.cpp:
* tests/DII_Collocation_Tests/oneway/Hello.h:
* tests/DII_Collocation_Tests/oneway/README:
* tests/DII_Collocation_Tests/oneway/run_test.pl:
* tests/DII_Collocation_Tests/oneway/Server_Task.cpp:
* tests/DII_Collocation_Tests/oneway/Server_Task.h:
* tests/DII_Collocation_Tests/oneway/Test.idl:
These files are moved from tests/DII_Collocation_Tests directory.
* tests/DII_Collocation_Tests/twoway/Client_Task.cpp:
* tests/DII_Collocation_Tests/twoway/Client_Task.h:
* tests/DII_Collocation_Tests/twoway/Collocated_Test.cpp:
* tests/DII_Collocation_Tests/twoway/DII_Collocation_Tests.mpc:
* tests/DII_Collocation_Tests/twoway/Hello.cpp:
* tests/DII_Collocation_Tests/twoway/Hello.h:
* tests/DII_Collocation_Tests/twoway/README:
* tests/DII_Collocation_Tests/twoway/run_test.pl:
* tests/DII_Collocation_Tests/twoway/Server_Task.cpp:
* tests/DII_Collocation_Tests/twoway/Server_Task.h:
* tests/DII_Collocation_Tests/twoway/Test.idl:
Added a test for twoway collocation DII request via invoke ().
This test should fail now for the same reason as the
oneway collocation DII request. See bugzilla bug #2545
for details.
Thu Jun 1 17:53:33 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp:
* orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp:
Pass the RootPOA instead of the Log POA to the log servant ctor.
The log servant creates and attempts to activate a event channel
on the Log POA, which was failed because TAO's log event channel
implementation uses implicit activation (_this), and the Log POA
ImplicitActivationPolicy is NO_IMPLICIT_ACTIVATION. In time, we
should consider whether we should create another POA just for
the event channels.
* orbsvcs/examples/Log/Event/run_test.pl:
* orbsvcs/examples/Log/Notify/run_test.pl:
* orbsvcs/examples/Log/RTEvent/run_test.pl:
New files.
Thu Jun 1 16:54:56 UTC 2006 Yan Dai <dai_y@ociweb.com>
* tests/DII_Collocation_Tests/Client_Task.cpp:
* tests/DII_Collocation_Tests/Client_Task.h:
* tests/DII_Collocation_Tests/Collocated_Test.cpp:
* tests/DII_Collocation_Tests/DII_Collocation_Tests.mpc:
* tests/DII_Collocation_Tests/Hello.cpp:
* tests/DII_Collocation_Tests/Hello.h:
* tests/DII_Collocation_Tests/README:
* tests/DII_Collocation_Tests/run_test.pl:
* tests/DII_Collocation_Tests/Server_Task.cpp:
* tests/DII_Collocation_Tests/Server_Task.h:
* tests/DII_Collocation_Tests/Test.idl:
Added new DII_Collocation_Tests test to show bug #2545.
The test crashes on get_in_arg() or gives incorrect arguments
when the request is collocated oneway request and has "IN"
arguments. See bugzilla bug #2545.
Thu Jun 1 14:16:06 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/Log_i.cpp:
Changed reset_capacity_alarm_thresholds() to do nothing if
LogFullActionType is wrap.
Thu Jun 1 14:06:20 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/examples/Log/Basic/run_test.pl:
New file.
Thu Jun 1 14:02:30 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp:
Changed set_records_attribute() to validate the query language
grammar.
Changed query_i() to set the length of the output sequence to
the maximum number of log records (this will be shrunk to the
real value once we find how many records match the constraint).
We must have got lucky with the old sequence implementation...
Thu Jun 1 11:38:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Valuetype/ValueBase.cpp:
Const improvements
Thu Jun 1 10:26:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/LocateRequest_Invocation_Adapter.cpp:
Use false instead of 0
* tao/operation_details.h:
Improved documentation
Thu Jun 1 08:59:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/AnyTypeCode/Any_Dual_Impl_T.cpp:
Return false instead 0
* tao/AnyTypeCode/*.cpp:
Fixed rcsid tags
Thu Jun 1 02:26:51 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/RTCORBA/RT_PolicyFactory.h:
* tests/AMH_Oneway/client.cpp:
* tests/AMH_Oneway/server.cpp:
Memory leak fixes.
Wed May 31 17:47:55 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/AnyTypeCode/Marshal.cpp:
Fuzz fix.
Wed May 31 13:35:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/AnyTypeCode/Marshal.cpp:
Handle a valuebox in the same way as a regular valuetype. Fixes
bugzilla bug 2542. Thanks to Jiang Wei
<jiangwei_1976 at yahoo dot com dot cn> for reporting this.
Wed May 31 10:26:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/AnyTypeCode/skip.cpp:
Const improvements
Wed May 31 03:54:20 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/TAO_Internal.cpp:
Revert Jeff's May 25 change, it prevented the calling of a
necessary function if the debuglevel wasn't set high
enough. Reworked the logic enough to ensure the value Jeff's
change was protecting didn't start causing problems again.
* tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.cpp:
* tests/ORB_Local_Config/Two_DLL_ORB/Service_Config_ORB_Test.conf:
* tests/ORB_Local_Config/Two_DLL_ORB/Service_Config_ORB_Test2.conf:
* tests/ORB_Local_Config/Two_DLL_ORB/Service_Config_ORB_Test3.conf:
* tests/ORB_Local_Config/Two_DLL_ORB/client.cpp:
* tests/ORB_Local_Config/Two_DLL_ORB/server.cpp:
Update this test to resolve some runtime issues and to ensure
the proper loading of subsequent service configuration files.
Tue May 30 19:17:28 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* orbsvcs/orbsvcs/Security/Security_PolicyFactory.h:
Fix a memory leak resulting from the failure to use a reference
counted local object for the policy factory.
* tao/ORBInitializer_Registry.cpp:
* tao/ORB_Core.cpp:
Make use of changes in the ACE_Service_Gestalt and
ACE_Dynamic_Service<> classes to address separation of
configuration contexts.
* tests/ORB_Local_Config/Bug_1459/Test.cpp:
Fix for memory leaks induced through improper ORB destruction.
Tue May 30 18:33:12 UTC 2006 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
* tao/DLL_Parser.h: Updated the documentation to explain the
lookup scheme when a filename is given. Thanks to Phlip
<phlip2005 at gmail dot com> for motivating this.
Tue May 30 16:31:14 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
* tests/Bug_2543_Regression/bug_2542_regression.cpp:
Added .in() to an OctetSeq_var passed as an argument.
Tue May 30 16:25:24 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
* tests/Bug_2542_Regression/bug_2542_regression.cpp:
Added .in() to an OctetSeq_var passed as an argument.
Tue May 30 15:53:50 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp (set_records_attribute):
Commented out unused argument.
Tue May 30 14:34:07 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/IDL_Test/array.idl:
Added FourDArray as testcase
Tue May 30 14:24:07 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp:
Generate false instead of 0
* TAO_IDL/be/be_visitor_valuetype/marshal_cs.cpp:
Const improvement to generated code
* TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp:
Fixed 64bit conversion warning
* TAO_IDL/be/be_visitor_interface/interface_ss.cpp:
Const improvement to generated code and use false instead of 0
Tue May 30 14:10:07 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/AnyTypeCode/Marshal.cpp:
* tao/AnyTypeCode/Marshal.inl:
* tao/AnyTypeCode/skip.cpp:
* tao/AnyTypeCode/Any_Unknown_IDL_Type.cpp:
* tao/AnyTypeCode/Any.cpp:
* tao/CodecFactory/CDR_Encaps_Codec.cpp:
* tao/PI/PI.cpp:
Use true/false and const improvements
Tue May 30 13:42:07 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/GIOP_Message_Base.{h,cpp}:
Removed the buffer as member, let the cdr stream get the buffer
from the allocator. This allocation is just done once at the
creation so this shouldn't impact performance a lot. Also use
the size argument passed to the constructor, specific protocol
implementations to pass this down to its base to set a
specific initial buffer size.
Tue May 30 10:04:07 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/Bug_2543_Regression/bug_2543_regression.cpp:
* tests/Bug_2542_Regression/bug_2542_regression.cpp:
Fixed conversion warnings
Tue May 30 01:59:07 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp:
Changed set_records_attribute() to iterate through all the
records in the hash map instead of calling query() and (if there
are enough matching records) fiddling with iterators, etc. This
is not only faster, it also avoids a deadlock that shows up when
the iterator takes the already held rwlock.
Tue May 30 01:01:39 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* NEWS:
Document changes.
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp:
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.h:
* orbsvcs/orbsvcs/Log/LogRecordStore.h:
* orbsvcs/orbsvcs/Log/Log_i.cpp:
When a log channel's LogFullActionType is wrap, the capacity
threshold alarms "are triggered as if coupled to a gauge that
counts from zero to the highest capacity threshold value and
then resets to zero".
The log service didn't implement such a gauge and compared the
log channel's current size with the maximum size (as if the
LogFullActionType was halt). This could result in an alarm
being sent for each log record, as the log channel will almost
always be "full".
Changed plug-in Strategy to maintain gauge. Added get_gauge()
and reset_gauge().
Changed log channel to compare the value of the gauge with the
maximum size when the LogFullActionType is wrap.
Fixes bugzilla #2420.
Mon May 29 14:28:17 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* NEWS:
Document changes.
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp:
* orbsvcs/orbsvcs/Log/Hash_LogRecordStore.h:
* orbsvcs/orbsvcs/Log/LogRecordStore.h:
* orbsvcs/orbsvcs/Log/Log_i.cpp:
Changed plug-in Strategy interface. Added get_record_attribute(),
set_record_attribute(), and set_records_attribute(); removed
retrieve(), update(), and remove().
This will allow plug-in Strategies to handle these high-level
operations more efficiently.
Mon May 29 08:05:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/Bug_2542_Regression/*:
New regression for Bug_2542. Thanks to Jiang Wei
<jiangwei_1976 at yahoo dot com dot cn> for creating this regression.
* tests/Bug_2543_Regression/*:
New regression for Bug_2543. Thanks to Jiang Wei
<jiangwei_1976 at yahoo dot com dot cn> for creating this regression.
Sun May 28 23:15:51 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/Log_i.cpp:
Reworked checks for the log being full. Just log the record,
the LogRecordStore will return an error if it is full. This
avoids extra conditions in the write hot path.
Sun May 28 23:10:03 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* docs/releasenotes/index.html:
Update for changes to the telecom logging service that have been
made over the last few months.
Sun May 28 16:24:24 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/Valuetype/ValueBase.cpp:
Add explicit dereferences where the ValueFactory_var is used in
equality tests.
Sun May 28 15:18:19 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/Log_i.cpp:
Removed unused LogRecord variable in write_recordlist(). This
avoids its construction and destruction in the write hot path.
Sat May 27 22:00:08 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/orbsvcs/Log/Log_i.cpp:
Don't invoke reset_capacity_thresholds() if no log records were
actually removed.
Fri May 26 22:09:09 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/Valuetype/ValueBase.cpp:
Fixed a memory leak introduced by the refactoring of
_tao_unmarshal_pre. The ValueFactory reference was moved into
the unmarshal_pre method directly, and in doing so inadvertently
got its _var status stripped.
Fri May 26 11:42:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/Runtime_Scheduler.cpp:
* orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp:
Applied workarounds for BCB2006 and BCB6 in release mode, the
code results in the original form in an internal backend
error, reported this to Borland as QC27961.
Thu May 25 23:12:56 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
* tao/TAO_Internal.cpp:
Fixed logic in open_services() to eliminate an unused local
variable warning (which happened when the TAO debug level
was less than 3) and made many cosmetic changes to the
whole file to bring the code into line with the ACE
style guidelines.
Thu May 25 03:27:44 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/OctetSeqC.h:
* tao/OctetSeqC.cpp:
* tao/diffs/OctetSeq.diff:
Reverted change from Tue May 16 19:08:49 UTC 2006 Phil Mesnier
<mesnier_p@ociweb.com>
* tao/Unbounded_Octet_Sequence_T.h:
Moved the equality operations into the octet sequence class,
making them member functions. This seems to resolve the
namespace related problems.
Wed May 24 19:43:16 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/Portable_Interceptors/Collocated/Service_Context_Manipulation/Server_Task.cpp:
My fix for the servant reference counting used a ServantBase_var
as the owner of the pointer to the servant instance, but that
cannot be used as a target within ACE_NEW_RETURN macros on
windows because the MSVC compiler doesn't appropriately map the
post-assignment equality test. This minor change is to use a
servant type pointer for initialization with ACE_NEW, then
assign the result to a ServantBase_var for reference management.
Wed May 24 18:27:13 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
* orbsvcs/ImplRepo_Service/ImplRepo_Service.mpc:
Along with the /FORCE:MULTIPLE link option that is added by
MPC specifically for em3, nmake, vc6, and vc71 builds, added
the /INCREMENTAL:NO link option since the above option is
incompatible with incremental linking, and produces warnings
on the platforms where it is in force.
Wed May 24 16:00:03 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/TAO_Internal.cpp:
Refactored recent change to skip over global parameters after
the first initialization pass.
Wed May 24 12:40:57 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/EndpointPolicy/IIOPEndpointValue_i.h:
Fixed memory leak. Unlike servants, local objects are not
intrinsically reference counted. Therefore it is still necessary
to explicitly inherit from TAO_RefCount_LocalObject rather than
from CORBA::LocalObject.
Wed May 24 10:36:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/String_Manager_T.h (out, _retn):
Just set ptr_ to 0 instead of initializing it with an default
string. Now we get the same behaviour as with the old string
manager, fixes runtime memory leaks when the string managers
are used
Wed May 24 09:12:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Strategies/DIOP_Connector.cpp:
Const improvements
Wed May 24 09:09:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* docs/performance.html:
Added ACE_NLOGGING=1 as one of the options that can be used to
reduce footprint. Adding this to the footprint build resulted in
a footprint drop of about 10% for the Hello client.
Wed May 24 08:53:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Bounded_Sequence_CDR_T.h:
* tao/Unbounded_Sequence_CDR_T.h:
Fixed memory leak in the demarshaling of (w)string sequences.
Wed May 24 03:01:14 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/PortableServer/POAManager.cpp:
* tao/PortableServer/POAManagerFactory.cpp:
Cleaned up redundant debug messages.
* tests/Portable_Interceptors/Collocated/Service_Context_Manipulation/Client_Task.cpp:
* tests/Portable_Interceptors/Collocated/Service_Context_Manipulation/Server_Task.cpp:
* tests/Portable_Interceptors/Collocated/Service_Context_Manipulation/interceptors.cpp:
* tests/Portable_Interceptors/Collocated/Service_Context_Manipulation/test.idl:
* tests/Portable_Interceptors/Collocated/Service_Context_Manipulation/test_i.cpp:
Add (%P|%t) to many debug lines to improve ability to track
thread behavior during collocated calls. Also switched the
servant to using the modern reference counting method of using a
ServantBase_var to manage the local reference to the servant
rather than using an explicit call to _remove_ref() from within
the shutdown operation. Finally, added a slight delay after
orb->run() and before orb->destroy() to avoid thread races. See
bugzilla bug #2538 for more information about this race.
Tue May 23 16:09:05 UTC 2006 Adam Mitz <mitza@ociweb.com>
* orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.cpp:
* orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.cpp:
* orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.cpp:
* orbsvcs/orbsvcs/PortableGroup/UIPMC_Factory.cpp:
* orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.cpp:
* orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp:
* tao/ORB_Constants.h:
See bugzilla #2500. Around the time of TAO 1.4.7 the tags for UIPMC
(multicast) changed from TAO-assigned to OMG-assigned. The
ComponentID and the ProfileID were added to tao/IOP_IORC.h but the
change to the new ProfileID was never completed, since code still
referred to the value in tao/ORB_Constants.h. This change eliminates
the old ProfileID and changes all uses to the new one. This causes a
break in multicast interoperability between applications using TAO
before this change and TAO after this change, but should enable
multicast interoperability between TAO and a different ORB.
Tue May 23 13:05:43 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/ORB_Core.cpp:
Fixed a typo in a service name.
* tao/TAO_Internal.cpp:
Added a function to address the situation where a second ORB is
initialized with arguments that are global and expected to be
removed from argv before ORB_Core::init starts parsing args.
Since the first initialized ORB is the default ORB, it is also
the one that sets global options, such as debug level, and
daemonization. In situations where multiple ORBs are initialized
indeterminately, such as via dynamically loaded service objects,
an application wanting a concrete set of global options should
explicitly initialize a default ORB.
* tao/IIOP_Acceptor.cpp:
* tao/PortableServer/Root_POA.cpp:
* tests/CollocationLockup/CollocationLockup.cpp:
* tests/InterOp-Naming/INS_test_client.cpp:
* tests/POA/EndpointPolicy/server.cpp:
Fixed memory leaks.
Thu May 18 17:16:30 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* orbsvcs/Logging_Service/
* orbsvcs/Logging_Service/Basic_Logging_Service/Makefile.am:
* orbsvcs/Logging_Service/Notify_Logging_Service/Makefile.am:
Regenerated.
NB: The reason the Makefile.am's for the Event and RTEvent
Logging Services were not changed is because currently the
automake config are generated with the typed event channel
support enabled, which also requires valuetype.
* orbsvcs/Logging_Service/Basic_Logging_Service/Basic_Logging_Service.mpc:
* orbsvcs/Logging_Service/Event_Logging_Service/Event_Logging_Service.mpc:
* orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Service.mpc:
* orbsvcs/Logging_Service/RTEvent_Logging_Service/RTEvent_Logging_Service.mpc:
Changed to inherit from the valuetype base project.
This is required in the case the event / log record embeds a
valuetype. A event or log record contains one or more CORBA
anys. The current implementation demarshals the any before
touching any app code. Thus if the any were to contain a
valuetype, the valuetype library will be called upon to
demarshal the data.
The same change was made for the Notification Service in:
Mon Jul 18 13:12:15 2005 Ciju John <john_c@ociweb.com>
This fixes bugzilla issue #2524.
Thu May 18 15:10:50 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/run_tests_all.pl:
Updated to remove the Limits test from the list. The
functionality has been moved to the Service_Config_Test under
ACE.
* tests/ORB_Local_Config/Limits/Limits.mpc:
* tests/ORB_Local_Config/Limits/Test.cpp:
* tests/ORB_Local_Config/Limits/run_test.pl:
Removed these files.
Thu May 18 13:52:58 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Two_DLL_ORB/server.cpp:
Replaced servant activation using _this() with one explicitly
referencing the desired POA, using activate_object(). As usual,
using _this() outside the scope of an upcall yields surprising
results, because it is using the first ORB in the orb table, no
matter which one that is. Within a single process, it is
possible for the server's servant to get activated in the client
ORB's POA and then the client will fail to communicate with it,
because the client POA is not active.
Wed May 17 23:07:10 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/OctetSeqC.h:
* tao/OctetSeqC.cpp:
* tao/diffs/OctetSeq.diff:
Fuzz removal.
Wed May 17 19:35:09 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be/be_visitor_valuebox/valuebox_ci.cpp:
In the generated code for setting the member value,
removed the parentheses from the constructor call in
ACE_NEW, if the member type is a fixed-size IDL struct.
These parens were producing a warning on one of the
scoreboard's VC 7.1 builds, due to a behavior change
in the compiler. This behavior change is to initialize
PODs (for which an IDL fixed struct qualifies) to the
default value without requiring the parens denoting
a default constructor call.
* tests/Bug_2234_Regression/server.cpp:
* tests/OBV/ValueBox/client.cpp:
Made changes in hand-written client and server code in TAO/tests
similar to the changes in IDL compiler generated code above.
Wed May 17 19:09:36 UTC 2006 Yan Dai <dai_y@ociweb.com>
Merged OCI's changes
"Fri May 12 21:59:41 UTC 2006 Yan Dai <dai_y@ociweb.com>"
* TAO/tao/Intrusive_Ref_Count_Handle_T.inl:
Fixed a potential memory leaks in operator==(T*) function.
The memory leak could happen when this assignment operator
is used to assign the same instance.
* TAO/tao/CSD_ThreadPool/CSD_TP_Task.cpp:
Made the TP_Dispatchable_Visitor object reset() called after
the request is dispatched. This would avoid the delay deletion
of the request and its referenced objects.
* tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp:
Made the transport object in TAO_ServerRequest be reference
counted by the CSD. Increment the reference counter when the
TAO_ServerRequest is cloned, and decrement the reference counter
when the server request is destroyed. This would avoid crash
when the transport object is destroyed but CSD has not finished
dispatching the request.
Merged OCI's changes
"Thu Apr 20 13:29:44 2006 Ciju John <john_c@ociweb.com>"
Made an SSLIOP endpoint value of 'iiop://:/ssl_port=xyz' listen
on all available network interfaces instead of listening on a
specific IP address. These changes make the 'iiop://:/ssl_port=xyz'
and 'iiop:///ssl_port=xyz' have same semantics.
* tao/IIOP_Acceptor.h :
* tao/IIOP_Acceptor.cpp :
Refactored the address parsing code into a new method
'parse_address'.
* orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp (open):
Use TAO_IIOP_Acceptor::parse_address() to initialize
ACE_INET_Addr.
Wed May 17 18:47:22 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/AMH_Oneway/server.cpp:
Fix for an error in the construction of the test. This error is
a result of using a stack based servant, as well as a stack
based helper ORB-running helper class. The main for this test
instantiated the helper on the stack first, then the servant. It
was done in this order so that the servant could obtain a
reference to the helper's ORB. However, stack based objects are
destroyed in reverse order, meaning that the servant instance
was destroyed before the helper's instance. Thus the POA in the
helper ended up with a stale pointer to a prematurely deleted
servant when it came time to do an orderly shutdown.
There were several options for cleaning this up, the servant
could have been allocated on the stack and have all reference
but the POA's removed, the servant's destructor could have
deactivated itself from the POA, or an explicit cleanup method
could be added to the helper class so the main could force the
proper order of desctruction. I chose this last option since the
main was in charge of determining the order of creation.
Wed May 17 16:34:44 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/AMI_Buffering/AMI_Buffering.h:
Fix scoping for new nested class used to avoid spurious comm
fail exceptions. This fix resolves build fails that only affect
the BCB compiler.
Wed May 17 14:11:35 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp:
* TAO_IDL/be_include/be_visitor_typecode/typecode_defn.h:
Added generation of an anonymous namespace inside the
TAO::TypeCode namespaces already generated, for
typecodes ggenerated for anonymous types (sequences,
arrays, and bounded (w)stringts). This change prevents
a multiple definition link error with a typecode
generated for an identical type in another translation
unit. The exisiting generated ifdef guards prevent
the same error within the same translation unit.
Thanks to Ossmama Othman <ossama.othman@symantec.com>
for suggesting the fix. This fix closes [BUGID:2521].
Also removed many lines of commented out code from
this file.
Wed May 17 12:10:58 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/Bounded_Sequence_CDR_T.h:
Reverting this change, it didn't work.
Mon May 15 22:25:23 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/Bounded_Sequence_CDR_T.h:
Added explicit include to satisfy the HP compiler.
Wed May 17 11:34:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* TAO_IDL/be/be_visitor_traits.cpp:
Added extra newline so that the zero method is on its own line
Wed May 17 09:48:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/IOR_Endpoint_Hostnames/IOR_Endpoint_Hostnames.mpc:
Simplified this mpc file
Tue May 16 19:08:49 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* NEWS:
Add decription of new features/fixes.
* tao/BiDir_GIOP/BiDirGIOP.h:
* tao/CSD_Framework/CSD_Object_Adapter_Factory.h:
* tao/EndpointPolicy/EndpointPolicy.h:
* tao/EndpointPolicy/EndpointPolicy.cpp:
* tao/Messaging/Messaging_Loader.h:
* tao/PI_Server/PI_Server_Loader.h:
* tao/RTScheduling/RTScheduler_Loader.h:
Fix for certain static builds, notably VC71 on WinXP, for
libraries that depend on the Portable Interceptors library for
registering ORB Initializers.
* tests/Bug_2417_Regression/publisher_impl.cpp:
This test runs very long for what it is demonstrating. With the
underlying reference counting problem resolved, the server now
runs to completion. Since the test is using asynch connection
establishment and SYNCH_NONE oneways, there is no way for the
publisher to detect that the subscriber is gone until it makes a
synchronizing twoway call. The period between synch tests was so
long that on a slow machine the test would time out.
* orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp:
* orbsvcs/orbsvcs/Trader/Interpreter_Utils.h:
* tao/OctetSeqC.cpp:
* tao/OctetSeqC.h:
* tao/diffs/OctetSeq.diff:
Applying fixes to the problems still remaining in the versioned
namespace builds. Not all compilers found the problem in
Reconfig_Scheduler_T.cpp, but gcc 3.3.1 did. The OctetSeq change
might represent a candidate for a change to the IDL compiler,
but for now I think not, as octet sequences are treated as a
special case, having an explicit template instanciation provided
along with explicit equality operators.
Tue May 16 14:15:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/Strategies/Strategies.mpc:
* tests/Bug_2134_Regression/Bug_2134_Regression.mpc:
* tests/Bug_2494_Regression/Bug_2494_Regression.mpc:
Simplified these mpc files
Tue May 16 14:09:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/AV/TCP.cpp:
Const improvments and initialise some pointers with 0
* orbsvcs/orbsvcs/AV/RTP.cpp:
* orbsvcs/orbsvcs/AV/sfp.cpp:
Use a CORBA::ULong to iterate through the TAO_AV_PolicyList
Tue May 16 14:03:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/CosProperty.idl:
Corrected incorrect filename in the header of this file
Tue May 16 12:36:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Asynch_Queued_Message.cpp:
* tao/Synch_Queued_Message.cpp:
* tao/GIOP_Message_Generator_Parser_10.cpp:
* tao/Object.cpp:
* tao/Profile.cpp:
* tao/IIOP_Profile.cpp:
* tao/Strategies/DIOP_Acceptor.cpp:
* tao/Strategies/DIOP_Endpoint.cpp:
Const improvements
* tao/GIOP_Message_State.cpp:
Improved error message when the GIOP header can't be parsed
* tao/ORB.cpp:
Initialise pointer with 0.
* tao/PortableServer/PolicyS_T.h:
Use true instead of 1
Tue May 16 05:22:15 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/IIOP_Connector.cpp:
This is a potential fix for the Bug 2417 flaw. The problem is
that when using nonblocking connects, in conjunction with asynch
invocations, it is possible for a transport to be returned by
the connector even though the network connection has not
completed. For asynchronous invocations using the SYNCH_NONE
policy, this is appropriate, as request messages may be queued
for delivery if/when the connection completes.
Bug 2417 describes a scenario where such a nonblocking
connection attempt fails, but the actual failure happens after
the transport has already been returned to the caller. This
causes a problem because the underlying ACE connector framework
relies on "borrowing" the reference to the connection handler
during the time it is waiting for connections to complete or
fail. For blocked connects this is fine because either the
transport will be returned to the caller associated with a
completely established connection, or a failure will occur.
The issue for nonblocking connects is that when a transport is
returned associated with a pending connection, the existing
transport connector and protocol-specific connector end up
associating to referrers to the same connection handler, without
incrementing the reference count. The two are the transport
being returned and the ACE_NonBlock_Connection_Handler that is
actually registered with the reactor waiting for success or
failure on the pending connection.
When a connection completes OK, the NBCH surrenders its
reference to the connection handler, thus restoring parity, as
the transport and/or cache entry will still hold the remaining
references, and the count is OK. But when the connection fails,
the base connector ends up calling close() on the connection
handler which in turn decrements the reference count. This then
sets the stage for a later crash from an apparent double delete.
* tao/IIOP_Connection_Handler.cpp:
* tao/Transport_Connector.cpp:
Added some comments and cleaned up some whitespace.
Mon May 15 22:25:23 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/Bounded_Sequence_CDR_T.h:
Added explicit include to satisfy the HP compiler.
Mon May 15 18:17:23 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/Codeset_Manager_Factory_Base.h:
* tao/Codeset_Manager_Factory_Base.cpp:
* tao/PortableServer/Acceptor_Filter_Factory.h:
* tao/PortableServer/Acceptor_Filter_Factory.cpp:
Moved the static initializer from inside the .cpp to the header
file. This change was necesitated by the VC7.1 static build that
was apparently skipping over the static initializer if it wasn't
in the .h.
Mon May 15 13:28:01 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/AMI_Buffering/AMI_Buffering.h:
* tests/AMI_Buffering/AMI_Buffering.cpp:
* tests/AMI_Buffering/client.cpp:
The tests still fail on a lot of machines with a series of
COMM_FAIL exceptions being reported. These are due to a nesting
problem within the server, since it is receiving requests from
the client and also making requests to the admin. What happens
is that with the asynchronous calls, a whole bunch of requests
are sent to the server, and before it gets a chance to receive
all the replies from the admin, the client sends a shutdown.
This immediately closes the server's client-side connection to
the admin, and if any replies were pending, those are lost,
causing the comm fails. I've also added a log message reporting
the maximum nesting level attained by the server.
The client now delegates responsibility of shutting down the
admin to the server as another way of eliminating any races that
might cause spurious error reports.
Mon May 15 12:58:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Unbounded_Octet_Sequence_T.h:
Fixed compile problem when TAO_NO_COPY_OCTET_SEQUENCES is defined
to 0
Mon May 15 09:59:56 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/Unbounded_Octet_Sequence_T.h:
A potential solution to the namespace problem. This at least
works for the gcc/linux build.
Mon May 15 02:50:56 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/AMI_Buffering/client.cpp:
* tests/Oneway_Buffering/client.cpp:
Add the header for defining sleep for the platforms that don't
happen to get it indirectly.
Sun May 14 13:32:33 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/AMI_Buffering/client.cpp:
* tests/Oneway_Buffering/client.cpp:
Minor change to insert a pause after killing the server but
before killing the admin. This gives the server a moment to
flush out any messages it wants to send to the admin. Without
this pause, the test occasionally reports spurious comm failures
that cause the scoreboard to count the test as failed.
* tests/Connection_Timeout/client.cpp:
Added more information to failure output.
Sat May 13 22:07:04 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/LF_CH_Event.h:
* tao/LF_CH_Event.cpp:
* tao/Transport_Connector.cpp:
This is a fix for intermittent timeout problems when using
asynch connections. Some tests, most notably the AMI_Buffering
timeout test, randomly fail in that the client seems to just
stop dead. I found that this failure occured when using
nonblocking connects with at least 2 threads, one of which is
invoking ORB::run while the other is trying to connect.
The problem is that an asynch connection might cause the
transport to cached in an unconnected state, relying on a
subsequent connection request to enter the connection wait
strategy and complete the connection. When using the leader
follower wait strategy, a non-blocking connect will "poll" by
setting the timeout value to be ACE_Time_Value::zero. A race
could occur when the other thread actually handles the
connection completion, but after the interested thread starts to
enter the leader-follower. In this case the timeout of zero
causes the LF to change the connection handler's state to
TIMEOUT, but this was not detected as an error condition. Thus
the LF_Event relating to the connection completion was never
successful or an error and the waiting thread became the leader
and was then stuck.
This fix works by first treating the TIMEOUT state as an error,
to break out of the LF loop, then the connector will reset the
timeout state if that is appropriate. Finally, a second error in
the connector is fixed where the transport's register_handler
method return value was incorrectly tested.
* tests/AMI_Buffering/client.cpp:
Adjusted the timeout values a bit. On a sufficiently fast
computer, it is possible for the sender to overflow the TCP
buffers thus taking too long to flush and spuriously reporting
errors.
Sat May 13 14:34:23 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Two_DLL_ORB/server.cpp:
Removing the use of ACE_OS::unlink() since it is causing
unresolved link errors on windoze. Using alternative IOR file
truncation method to get rid of "stale" IOR files from previous
executions.
Fri May 12 14:00:17 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Two_DLL_ORB/client.cpp:
* tests/ORB_Local_Config/Two_DLL_ORB/run_test.pl:
* tests/ORB_Local_Config/Two_DLL_ORB/server.cpp:
Updated the test to account for the case where the server may
not have completed writing out its IOR, by the time the client
tries to use it to get an object reference. Added ACE_TEXT where
appropriate.
Thu May 11 21:13:22 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tao/AnyTypeCode/Any_Unknown_IDL_Type.h:
* tao/AnyTypeCode/Any_Unknown_IDL_Type.cpp:
Having a lock_ as a global static makes this code subject to the
whim of the specific compiler implementation and library
ordering. It is up to the compiler to decide the order in which
our instance is initialized and destroyed. Typically, this
becomes a problem when a code that depends on that instance
finds that the runtime has already destroyed it. The scenario
plays almost always in the process shutdown code, after main()
exits (which is a lot of fun to debug :). The change replaces
the static class member with static-local variable, defined
within a static member function. C++ guarantees that the local
static variable will be initialized at the first method
invocation.
* tao/ORB_Core.cpp:
Reversing a changes, introduced by this:
Wed Apr 26 20:21:49 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
I had incorrectly assumed that the same pattern of dynamic
loading of factories applies to all factories. In fact many of
them are optional and their usage is predicated on having a svc
conf file, having their library statically linked. This change
removes the overly aggressive attempts to load such services and
the incorrect usage of TAO_AS_STATIC_LIBS macro..
Thu May 11 19:21:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
Reverted the change below, it breaks some gcc builds, have to figure
out another change.
Thu May 11 13:23:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Unbounded_Octet_Sequence_T.h:
Moved equal and not equal operators for the octet sequence to
the TAO namespace, this fixes the build error in the vc71
namespace build.
Thu May 11 09:22:10 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
* performance-tests/Throughput/Receiver.cpp (done),
* performance-tests/Throughput/client.cpp (main): Changed
division by 10000000 to division by 1000000. Thanks to
Jason Zhao <jason.zhao at lmco dot com>.
Thu May 11 13:49:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/Bug_1254_Regression/BlobServer.h:
* tests/Bug_1254_Regression/client.cpp:
Fixed casing of includes
Thu May 11 13:23:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Unbounded_Octet_Sequence_T.h:
Moved equal and not equal operators for the octet sequence to
the TAO namespace, this fixes the build error in the vc71
namespace build.
* tests/OBV/Truncatable/client.cpp:
Added missing string_dup calls, fixes crashing of this test
with Borland C++
Thu May 11 10:35:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Generic_Sequence_T.h:
Small layout change
Thu May 11 07:19:12 UTC 2006 Kees van Marle <kvmarle@remedy.nl>
* tests/Bug_1254_Regression/*
New regression for bug 1254
* tao/Unbounded_Octet_Sequence_T.h:
Fixed a bug in the octet sequence when used as inout argument and
when shrinking the lenght while a message block was being used
the full message block was send back, not the smaller length.
We now do a copy of the data to really make sure we don't
modify the mb incorrectly. Thanks to Peter van Merkerk
<Peter dot van dot Merkerk at meco dot nl> and
Marc Walrave <marc dot walrave at meco dot nl> for reporting this.
This fixes bugzilla bug 1254.
Wed May 10 20:13:45 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/PI/ORBInitializer_Registry_Impl.h:
* tao/PI/ORBInitializer_Registry_Impl.cpp:
* tao/PI/PI.cpp:
My change from last night (04:26:14 UTC) swung the pendulum too
far back in the other direction. I discovered that once again
some dynamic PI tests were breaking. I've rectified this by
putting Iliyan's code back in ORBInitialiser_Registry_Impl but
with a !TAO_AS_STATIC_LIBS guard around the code to avoid the
redundant processing that might occur with static libs.
Wed May 10 17:21:26 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/EndpointPolicy/Endpoint_Value_Impl.h:
I missed committing this with the other versioned namespace
changes.
Wed May 10 11:49:10 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/PortableServer/Acceptor_Filter_Factory.h:
* tao/PortableServer/POAManagerFactoryC.h:
* tao/PortableServer/POAManagerFactoryC.cpp:
Cleaning up Versioned namespace related issues.
Wed May 10 04:26:14 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/ORB_Core.cpp:
Removed the agressive loading of the IORInterceptor adaptor
factory. It truely is optional, thus its failure to load is not
an error. At least not an error in the ORB core.
* tao/PI/ORBInitializer_Registry_Impl.h:
* tao/PI/ORBInitializer_Registry_Impl.cpp:
* tao/PI/PI.h:
* tao/PI/PI.cpp:
* tao/PI/PolicyFactory_Loader.h:
* tao/PI/PolicyFactory_Loader.cpp:
Reverted most of the changes used to resolve a circular
dependency problem with the PI initialization. The problem is
that the initial fix then broke the static builds. The solution
of using TAO_AS_STATIC_BUILDS is a reasonable compromise as it
allows dynamic builds to not get caught in a circular
initialization situation, but lets static builds get the
initialization they need.
Tue May 9 19:05:30 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* examples/CSD_Strategy/ThreadPool6/CSD_Test_ThreadPool6.mpc:
* examples/CSD_Strategy/ThreadPool6/Makefile.am:
Added -GT to the idlflags
Tue May 9 16:32:01 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tao/ORB_Core.cpp:
Added a clarifying comment.
* tao/TAO_Internal.cpp:
Fixing a problem in processing -ORBSvcConf command-line
options. Both the process-wide and the ORB-local service
gestalts were processing configuration files. This was causing
the loading of the default svc.conf file, even when another one
had been specified by -ORBSvcConf. The fix is to give the
process-wide gestalt a chance to load the svc conf file, if it
is being initialized for the first time.
* tests/ORB_Local_Config/Bug_1459/Test.cpp:
Minor updates.
* tests/ORB_Local_Config/Two_DLL_ORB/client.cpp:
Updated the tests to eliminate some possibilities for TRANSIENT
exceptions.
Tue May 9 11:37:30 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* docs/tutorials/Quoter/idl/Quoter_idl.mpc:
* orbsvcs/orbsvcs/Makefile.am:
* examples/POA/TIE/Makefile.am:
* docs/tutorials/Quoter/idl/Makefile.am:
Add -GT to the idlflags
Tue May 9 07:46:30 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/String_Alloc.cpp:
Small const fix, simplified CORBA::string_dup a little bit
Tue May 9 07:36:30 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* TAO_IDL/be/be_global.cpp:
Don't generate the TIE files (_S.*) by default anymore. The
commandline option -Sc has been removed, this suppressed the
generation of these files. The new option -GT has been added,
if you need the TIE files, use the -GT option when compiling
your idl files. This safes disk space on all systems and on
slower machines the builds run then faster. Fixes bug 2525
* docs/compiler.html:
Removed -Sc, added -GT
* NEWS:
Mention the TIE behaviour change
* examples/POA/TIE/POA_TIE.mpc:
Added -GT to the idlflags
* tao/*.pidl:
Removed the -Sc flag in the regeneration instructions
Mon May 8 15:52:31 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be_visitor_union_branch/cdr_op_cs.cpp (visit_enum):
Added code generation to initialize an enum member of a
union when it is declared for demarshaling. This change
eliminates warnings in gcc 4.0.2 and possibly other
compilers.
Mon May 8 10:06:12 UTC 2006 Martin Corino <mcorino@remedy.nl>
* docs/Options.html:
* docs/ORBEndpoint.html:
* docs/INS.html:
Added IPv6 specific info regarding endpoint and corbaloc
definitions.
Added some links for easier crossreferencing.
Mon May 8 09:22:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/Hello/run_test.pl:
Added support for a -debug commandline arugment, if this is
passed when starting this script then -ORBDebugLevel 10 is
passed to client and server.
Sun May 7 21:39:30 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Bunch/Test.cpp:
Removed a misplaced semicolon.
Sun May 7 14:56:20 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Bunch/Test.cpp:
Removed semicolons after if() - cleaning the residue from
replacing the ACE_ASSERTs.
Sun May 7 06:59:54 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tao/ORB_Core.cpp:
Replaced 'new' with ACE_NEW.
* tests/ORB_Local_Config/Service_Dependency/Test.cpp:
* tests/ORB_Local_Config/Shared/Test.cpp:
* tests/ORB_Local_Config/Two_DLL_ORB/run_test.pl:
* tests/ORB_Local_Config/lib/Service_Configuration_Per_ORB.h:
Minor edits and cleanup.
Fri Apr 28 10:47:26 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
* tao/Stub.cpp: Added a #include of "tao/CDR.h" to support SunC++.
Thanks to Vladimir Panov <gbr at voidland dot org> for reporting
this.
Fri Apr 14 17:47:18 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
* docs/releasenotes/index.html: Updated the documentation to
include more pluggable protocols. Thanks to Willie Chen
<wchen12 at ucla dot edu> for motivating this.
Fri May 5 18:48:45 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/TAO_Internal.cpp:
* tao/default_resource.cpp:
In addtion to the reorganization Iliyan did, it was discovered
that the codeset library was not getting properly
initialized. When the codeset negotiation feature was made
optional for footprint considerations, the loading of the
codeset library was put into the default Resource
Factory. However now that we have the potential for multiple
service repositories, it was no longer sufficient do such late
initialization of the codeset library. Doing so put it codeset
manager and default translators in the configuration context of
the first ORB, not in the global configuration context. Moving
the bootstrap loading of the Codeset library to TAO internals
resolves that. The -ORBNegotiateCodeset flag is still evaluated
making codeset loading optional. It will be loaded to the global
configuration context by the first ORB that needs it.
Fri May 5 18:05:04 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Bug_1459/Test.cpp:
* tests/ORB_Local_Config/Bunch/Test.cpp:
* tests/ORB_Local_Config/Limits/Test.cpp:
* tests/ORB_Local_Config/Separation/Test.cpp:
* tests/ORB_Local_Config/Service_Dependency/Test.cpp:
* tests/ORB_Local_Config/Shared/Test.cpp:
* tests/ORB_Local_Config/Simple/Test.cpp:
* tests/ORB_Local_Config/Two_DLL_ORB/Test.cpp:
Eliminating the use of ACE_ASSERT and replacing with if's and
ACE_ERROR. The ACE_ASSERT may cause an abort(), which will cause
resources to not be cleaned correctly on embedded targets like
VxWorks. Thanks to Johnny Willemsen <jwillemsen@remedy.nl> for
clarifying this.
* tests/ORB_Local_Config/lib/Service_Configuration_Per_ORB.h:
A little cleanup.
Fri May 5 16:12:17 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tao/ORB_Core.cpp:
* tao/TAO_Internal.cpp:
The initialization of the additional services, which runs right
after the global repository initialization (open()) was supposed
to execute in the context of that same global repository. This
is necessary in case the initialization causes additional
services to be registered. Fixes a problem with
$TAO_ROOT/tests/RTCORBA/ORB_init.
Fri May 5 11:26:42 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Asynch_Queued_Message.{h,cpp}:
* tao/Synch_Queued_Message.{h,cpp}:
Changed is_heap_allocated to a real bool so that it matches
the base class.
* tao/Unbounded_Octet_Sequence_T.h:
Small const improvment
* tao/GIOP_Message_Base.cpp:
Fixed typo in comment
* tao/DynamicInterface/Request.h:
Removed commented out method
Thu May 4 16:22:42 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL_Export.h:
Regenerated the file to fix a problem with building the test in
static builds.
Thu May 4 13:36:00 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Service_Dependency/Test.cpp:
Eliminated a "magic" constant, used for the number of expected
services, because it can vary dependent on the particular TAO
configuration, like mincorba, static, etc.
Thu May 4 08:53:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/PI/ClientRequestInfo.cpp:
Fixed bug 2510 in such a way that TAO doesn't crash but it seems
we then miss some functionalify. The reporter will extend the test
to detect the missing functionality. Thanks to Martin Cornelius
<Martin dot Cornelius at smiths-heimann dot com>
for reporting this bug and providing a regression test
Thu May 4 07:54:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/EndpointPolicy/Endpoint_Acceptor_Filter.cpp:
Fixed warning in VxWorks 5.5.1 builds
Thu May 4 00:45:45 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* tao/Makefile.am:
Removed EndpointPolicy/EndpointPolicyC.inl.
Wed May 3 21:26:07 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/TAO_Internal.cpp:
The order of initialization of static services was modified as
multi-orb configuration feature implementation. Somehow during
that refactoring some services that are required to be initialized
ended up having that done before the svc.conf file is processed.
For instance RT_ORB_Loader. This change breaks up the loading of
and initializing of these services to ensure that svc.conf always
gets processed first before doing any default initialization.
Wed May 3 19:14:12 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Two_DLL_ORB/Two_DLL_ORB.mpc:
Updated to resolve buld failures (vc71+Windows) - the two DLLs
produced, now contain identical code. It determines at runtime,
whether to act as a client or as a server - a decision
influenced by a command-line option, in the service
configuration file.
Wed May 3 18:32:29 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/POA/EndpointPolicy/run_test.pl:
The test was failing on Windows because TAO apparently gets
built with -ORBDottedDecimalAddresses defaulted to 1. The
current version of the endpoint policy is very simple in that it
uses literal string comparisons for determining the suitability
of a given candidate profile endpoint. The test is specificly
trying to match "localhost" but fails when the server
substitutes "127.0.0.1" Perhaps an alternative solution would be
to test both literal strings.
Wed May 3 16:54:41 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp:
Fix an apparent typo introduced the previous commit.
Wed May 3 16:06:56 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Bug_1459/Bug_1459.mpc:
* tests/ORB_Local_Config/Bunch/Bunch.mpc:
* tests/ORB_Local_Config/Limits/Limits.mpc:
* tests/ORB_Local_Config/Separation/Separation.mpc:
* tests/ORB_Local_Config/Service_Dependency/Service_Dependency.mpc:
* tests/ORB_Local_Config/Shared/Shared.mpc:
* tests/ORB_Local_Config/Simple/Simple.mpc:
* tests/ORB_Local_Config/Two_DLL_ORB/Two_DLL_ORB.mpc:
Removed the dependency on ACE test_output library to make it
possible to build the TAO tests without having to build ACE
tests. This is often the case on embedded platforms (VxWorks),
where part of the tests run outside the host platform. Thanks to
Johnny Willemsen for pointing that out.
* tests/ORB_Local_Config/Bug_1459/Test.cpp:
* tests/ORB_Local_Config/Bunch/Test.cpp:
* tests/ORB_Local_Config/Limits/Test.cpp:
* tests/ORB_Local_Config/Separation/Test.cpp:
* tests/ORB_Local_Config/Service_Dependency/Test.cpp:
* tests/ORB_Local_Config/Shared/Test.cpp:
* tests/ORB_Local_Config/Simple/Test.cpp:
* tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.cpp:
* tests/ORB_Local_Config/Two_DLL_ORB/Test.cpp:
Updated the code to use its own ACE_MAIN and fixed some typos.
Wed May 3 15:42:14 UTC 2006 Yan Dai <dai_y@ociweb.com>
* TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp:
Fixed the DDS compilation errors due to the recent
unbounded string sequence implementation changes.
Wed May 3 13:03:03 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* tao/Makefile.am:
Regenerated.
* tao/tao.mpc:
Fix yet another typo.
Wed May 3 09:56:10 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/Portable_Interceptors/Bug_2510_Regression/client.cpp:
At the end of the test shutdown the server
Wed May 3 03:35:10 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/LF_Multi_Event.h:
* tao/LF_Multi_Event.cpp:
* tao/PortableServer/POAManagerFactory.h:
* tao/PortableServer/POAManagerFactory.cpp:
* tao/PortableServer/POAManagerFactoryC.h:
Adding in Versioned namespace macros.
Tue May 2 22:01:51 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/ORB_Local_Config/Two_DLL_ORB/Two_DLL_ORB.mpc:
Added the portableserver base project to both the client lib and
server lib projects, since both require client and server
behavior. This is required for windows builds where apparently
DLLs must have all symbols fully resolved at link time, unlike
.so's where they only need to be satisfied at runtime.
Tue May 2 19:08:18 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.h:
Changing auto_ptr to ACE_Auto_Ptr, because some platforms
(WinXP64_Intel90_64bit) provide an auto_ptr<> without the reset
method.
Tue May 2 15:30:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/Sequence_Unit_Tests/bounded_sequence_cdr_ut.cpp:
* tests/Sequence_Unit_Tests/unbounded_sequence_cdr_ut.cpp:
Added missing includes. Thanks to Carlos O'Ryan for
reporting this
Tue May 2 13:24:26 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/tao.mpc:
Reverted J.T.'s change from Mon May 1 20:03:59 UTC 2006
to flush out the cvs conflict markers and reapplied just his
typo fix.
Tue May 2 11:47:55 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Separation/Test.cpp:
* tests/ORB_Local_Config/Shared/Test.cpp:
* tests/ORB_Local_Config/Simple/Test.cpp:
The test don't need more specialized type than the base
ACE_Service_Object, in order to demonstrate the intent.
Tue May 2 08:05:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* TAO_IDL/driver/drv_preproc.cpp:
When we can't remove the input or output file use %p to print
the error so that the info from the OS why this couldn't be
done is also reported to the user.
Tue May 2 03:59:17 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/IIOP_Connector.h:
* tao/IIOP_Connector.cpp:
* tao/Transport_Descriptor_Interface.h:
* tao/Transport_Descriptor_Interface.cpp:
This fix resolves a problem exposed by the
performance-tests/RTCorba/Oneway/Reliable test. That failure was
showing up as a pure virtual function call, but the root cause
was related to the changes to the IIOP_Connector in how it
cached new transports. I was creating a new transport descriptor
out of the successful endpoint, but using creating a new
Base_Transport_Descriptor rather than reusing the supplied
transport descriptor. This broke RT tests in that subsequent
invocations would fail to find the cached endpoint since the
type was different. I've resolved that by adding the new
reset_endpoint method on the Transport_Descriptor_Interface
which allows the transport connector to set a new endpoint to
the existing transport descriptor before caching the value.
Mon May 1 21:54:05 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Bunch/Test.cpp:
Modified the test not to require the ability to fully
instantiate TAO_CORBANAME_Parser, etc. which is a class in
another library and it is not declared so that it is "visible"
outside of it. The test does not require that in order to be
functional - using the base class ACE_Service_Object.
* tests/ORB_Local_Config/Two_DLL_ORB/client.cpp:
Added some more logging.
Mon May 1 20:03:59 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* tao/Makefile.am:
Regenerated.
* tao/tao.mpc:
Fix typo.
Mon May 1 19:39:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/OBV/Simple/OBV_Simple.mpc:
This test isn't dependent on minimum_corba
Mon May 1 18:55:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/AnyTypeCode/TypeCode.{h,cpp}:
Made type TypeCode_ptr argument of operator << const so that
the signature is the same as declared in DynamicA.h
Mon May 1 15:33:00 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/OBV/Truncatable/client.cpp:
This is an improvement to what I committed earlier. Since the
valuetypes are passed by value, it is perfectly reasonable to
allocate them on the stack locally. That way I could get away
from the use of the var to store a reference to the local value
instance, and also avoid the awkward initialization code used to
avoid the ambiguity BCB6 was complaining about.
* tests/POA/POAManagerFactory/POAManagerFactory.cpp:
Changed the name of an internal catch value. I'm not sure, but I
suspect this is what was causing the BCB compiler to complain at
the point of ACE_CATCHANY.
Mon May 1 12:04:17 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/OBV/Truncatable/client.cpp:
* tests/POA/POAManagerFactory/POAManagerFactory.cpp:
The Borland BCB6 compiler has trouble with var types and const
vs. non-const assignment or comparisons. These changes are an
attempt to address this trouble. I don't like the nature of
these changes as they are moving away from the built-in type
safety C++ is supposed to provide.
Mon May 1 03:43:57 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/Parallel_Connect_Strategy/run_test.pl:
The fix for this test was to ensure the CORBALOC parser put all
the listed endpoints into a single Profile.
Sun Apr 30 22:53:37 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/ORB_Core.cpp:
Somehow when I applied my patch for the alternate connection
timeout hook, used allow either or both the AMI connection
timeout policy or the optimized connection endpoint selector to
set the connection timeout hook, I managed to apply my change to
the relative round trip timeout hook. This change addresses that
and fixes the AMI_Timeout test.
Sun Apr 30 20:24:39 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Bug_1459/Bug_1459.mpc:
* tests/ORB_Local_Config/Bunch/Bunch.mpc:
* tests/ORB_Local_Config/Limits/Limits.mpc:
* tests/ORB_Local_Config/Separation/Separation.mpc:
* tests/ORB_Local_Config/Service_Dependency/Service_Dependency.mpc:
* tests/ORB_Local_Config/Service_Dependency/Test.cpp:
* tests/ORB_Local_Config/Shared/Shared.mpc:
* tests/ORB_Local_Config/Simple/Simple.mpc:
* tests/ORB_Local_Config/Two_DLL_ORB/Test.cpp:
* tests/ORB_Local_Config/Two_DLL_ORB/Two_DLL_ORB.mpc:
* tests/ORB_Local_Config/lib/Service_Configuration_Per_ORB.h:
Updated to simplify the tests and the build process
* tests/ORB_Local_Config/lib/Service_Configuration_Per_ORB.cpp:
* tests/ORB_Local_Config/lib/lib.mpc:
Removed these files.
Sun Apr 30 15:36:21 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* examples/CSD_Strategy/ThreadPool4/ClientTask.cpp:
* examples/CSD_Strategy/ThreadPool5/ClientTask.cpp:
Fixed the assignment to the sequence to hand a buffer the
sequence can properly release.
Sun Apr 30 14:24:20 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* TAO/tao/Profile_Transport_Resolver.cpp:
Removed invalid semicolons.
* TAO/tests/ORB_Local_Config/Two_DLL_ORB/Two_DLL_ORB.mpc:
Fixed the dynamic flag for windows builds.
Sun Apr 30 04:54:25 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Bug_1459/Test.cpp:
Cleaned up the test a bit to clarify the intent.
Sun Apr 30 00:47:10 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/ORB_Local_Config/Bug_1459/Test.cpp:
Undoing the damage caused by my too-hasty previous checkin.
* examples/CSD_Strategy/ThreadPool4/ClientTask.cpp:
* examples/CSD_Strategy/ThreadPool5/ClientTask.cpp:
Addressing some more compiler warnings
Sat Apr 29 15:34:15 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/PortableServer/POAManagerFactory.cpp:
* tests/ORB_Local_Config/Bug_1459/Test.cpp:
* tests/ORB_Local_Config/Service_Dependency/Service_Config_Test.conf:
* tests/ORB_Local_Config/Service_Dependency/Test.cpp:
* tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.h:
* tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.cpp:
* tests/ORB_Local_Config/Two_DLL_ORB/client.cpp:
* tests/ORB_Local_Config/Two_DLL_ORB/server.cpp:
* tests/ORT/ORT_test_IORInterceptor.cpp:
* tests/POA/EndpointPolicy/server.cpp:
Fixes for various build-specific errors/warnings.
Sat Apr 29 14:17:32 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Bug_1459/Test.cpp:
Removed references to <iostream> and unreferenced variables.
Sat Apr 29 13:13:20 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/ORB_Local_Config/Bug_1459/Test.cpp:
* tests/ORB_Local_Config/Service_Dependency/Test.cpp:
Fuzz cleanup.
Sat Apr 29 02:26:49 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/EndpointPolicy/EndpointPolicy_i.cpp:
Removed the apparently redundant ACE_NESTED_CLASS macros.
Fri Apr 28 22:25:57 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Bunch/Test.cpp:
* tests/ORB_Local_Config/Limits/Test.cpp:
* tests/ORB_Local_Config/Separation/Test.cpp:
* tests/ORB_Local_Config/Service_Dependency/Test.cpp:
* tests/ORB_Local_Config/Shared/Test.cpp:
* tests/ORB_Local_Config/Simple/Test.cpp:
* tests/ORB_Local_Config/Two_DLL_ORB/Test.cpp:
Modified to eliminate warnings about unused variables on
ACE_NDEBUG builds.
Fri Apr 28 22:04:50 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Bug_1459/Bug_1459.mpc:
* tests/ORB_Local_Config/Bug_1459/README:
* tests/ORB_Local_Config/Bug_1459/Test.cpp:
* tests/ORB_Local_Config/Bug_1459/a.conf:
* tests/ORB_Local_Config/Bug_1459/b.conf:
* tests/ORB_Local_Config/Bug_1459/m.conf:
* tests/ORB_Local_Config/Bug_1459/m1.conf:
* tests/ORB_Local_Config/Bug_1459/run_test.pl:
* tests/ORB_Local_Config/Bug_1459/server_cert.pem:
* tests/ORB_Local_Config/Bug_1459/server_key.pem:
Added a test I borrowed from bugzilla 1459. It tests the ability
to have two differently configured ORBs in the same process.
* examples/Simple/time-date/Time_Date.cpp:
Provided an ID for the ORB, initialized in a code that was
loaded from the DLL. The ORB-specific Service Repo changes
eliminated the need to make TAO_Singleton_Manager not register
with the Object Manager, when initialized from a DLL.
Fri Apr 28 15:14:04 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Bunch/Service_Config_Test.UTF-16.conf:
* tests/ORB_Local_Config/Bunch/Service_Config_Test.UTF-16.conf.xml:
* tests/ORB_Local_Config/Bunch/Service_Config_Test.WCHAR_T.conf:
* tests/ORB_Local_Config/Bunch/Service_Config_Test.WCHAR_T.conf.xml:
* tests/ORB_Local_Config/Bunch/Service_Config_Test.conf:
* tests/ORB_Local_Config/Bunch/Service_Config_Test.conf.xml:
Moved these files to Service_Dependency, which also received the
code that uses these.
* tests/ORB_Local_Config/Service_Dependency/Service_Config_Test.UTF-16.conf:
* tests/ORB_Local_Config/Service_Dependency/Service_Config_Test.UTF-16.conf.xml:
* tests/ORB_Local_Config/Service_Dependency/Service_Config_Test.WCHAR_T.conf:
* tests/ORB_Local_Config/Service_Dependency/Service_Config_Test.WCHAR_T.conf.xml:
* tests/ORB_Local_Config/Service_Dependency/Service_Config_Test.conf:
* tests/ORB_Local_Config/Service_Dependency/Service_Config_Test.conf.xml:
* tests/ORB_Local_Config/Service_Dependency/Test.cpp:
Moved here the config files from the Bunch test as it may be run
in single threaded builds and the code that uses these config
files requires multiple threads.
Fri Apr 28 14:51:20 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tao/TAO_Internal.cpp:
Fixed an error, that prevented the initialization of static
services during Service_Config::open, The override for the
default argument (ignore_static_svcs = 1) was missed during the
refactoring.
Fri Apr 28 13:46:43 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Bunch/Test.cpp:
* tests/ORB_Local_Config/Limits/Test.cpp:
* tests/ORB_Local_Config/Service_Dependency/Test.cpp:
* tests/ORB_Local_Config/Shared/Test.cpp:
* tests/ORB_Local_Config/Simple/Test.cpp:
* tests/ORB_Local_Config/Two_DLL_ORB/Test.cpp:
Updated to shut up unused variable warnings on builds where
ACE_NDEBUG has been defined.
Thu Apr 27 21:09:51 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/Profile.cpp:
Fix a problem that caused the endpoint selector to spin when
using shared profiles and none of the endpoints were valid.
Thu Apr 27 15:03:08 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* tests/ORB_Local_Config/Bunch/Test.cpp:
* tests/ORB_Local_Config/Limits/Test.cpp:
* tests/ORB_Local_Config/Simple/Test.cpp:
* tests/ORB_Local_Config/Two_DLL_ORB/Test.cpp:
Fixed fuzz issues (unmatched ACE_TRACE)
* tests/ORB_Local_Config/Service_Dependency/Service_Config_DLL.cpp:
* tests/ORB_Local_Config/Service_Dependency/Service_Dependency.mpc:
Modified to change the DLL name to avoid name conflict with the
one in ACE_ROOT/tests.
Thu Apr 27 14:20:02 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/IIOP_Endpoint.cpp:
Fixed a recursion problem with the IPv6 endpoint selection.
* tao/PortableServer/POAManagerFactory.cpp:
Cleaned up compiler warnings.
Thu Apr 27 06:55:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/ORB_Local_Config/lib/lib.mpc:
Added base project, this would at least get our builds running again
Thu Apr 27 03:46:34 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/EndpointPolicy/Endpoint_Acceptor_Filter.cpp:
Found the trouble that was crashing the endpoint test. It was
nothing wierd with the new sequence code, it was merely an
incorrect index variable - i should have been j.
Thu Apr 27 03:05:31 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/params.cpp:
One of my patches inadvertently flipped the sense of the
share_profiles default from 0 to 1. However, I think that 1
should be the default, since it generates more compact IORs. It
has been that way for years in the OCI version of TAO, but I am
keeping the default 0 here for tradition. This value is
overridden by using -ORBUseSharedProfile [0|1] ORB_init option.
Thu Apr 27 02:58:23 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/EndpointPolicy/Endpoint_Value_Impl.cpp:
* tao/EndpointPolicy/Endpoint_Value_Impl.h:
Added a virtual destructor to this otherwise abstract base
class.
Wed Apr 26 21:24:54 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
* NEWS:
Added an entry to the NEWS file.
Wed Apr 26 20:21:49 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
The motivation for these changes was to enable support for
ORB-local Service Objects. This for instance, makes it possible
for differently configured ORBs to coexist within the same
proces.
In order to accomplish this, each orb (core) owns a "Gestalt",
i.e. a service object repository instance. There is also a
process-wide, or "global" gestalt, which is the default
repository where service objects are registered. The latter
retains the interface and behavioral compatibility with any
existing code. As a consequence of this design choice, any
un-named orb(s) will default to using the ubergestalt, which is
consistent with the prior behavior.
* tao/DLL_Parser.cpp:
Fixed the parse_string() method to use the correct ORB gestalt
when looking up a dynamic service object. That resolves a
failure in TAO/tests/Object_Loader test.
* tao/ORB.cpp:
Relocated some aging comments about having first to instantiate
the singleton manager to the correct place (ORB_init). Added a
gestalt parameter to the call to open_services. Edited a few
lines to fit within the standard length requirement.
* tao/ORB_Core.h:
* tao/ORB_Core.i:
* tao/ORB_Core.cpp:
Added a member and an accessors for the private service gestalt,
owned by the core. Replaced the call to methods that use the
implicit ubergestalt with ones that specify the gestalt to use
for service objects.
Added an ACE_Service_Config_Guard to make sure the ORB
initialization uses the correct repository.
Updated more references to process_directive() and instance() to
use ACE_TCHAR. Updated references to process_directive() to use
ACE_TCHAR for consistency.
Added #if !defined(TAO_AS_STATIC_LIBS)/#endif around code, which
is only meaningful when TAO is _not_ statically compiled;
Updated the service and DLL symbol names used to load the
CodecFactory_Loader, PolicyFactory_Loader and
TypeCodeFactory_Loader dynamic services, in the cases where
those services are not statically linked and TAO supports
dynamic linking. (Thanks Ossama, for pointing that out.) Added
code to try and explicitly load an IORInterceptor adapter and
Concrete_IORInterceptor_Adapter_Factory, if TAO supports (is
built with) dynamic linking;
Updated the code that loads the IORTable adapter to be exception
safe; Edited a few lines to fit within the standard length
requirement.
* tao/Parser_Registry.cpp:
Updated to explicitly specify the correct gestalt for the ORB.
* tao/TAO_Internal.h:
* tao/TAO_Internal.cpp:
Refactored the initialization code to separate process-wide
aspects of initialization from those having to do with the ORB
instance. It is necessary to deal with global initialization
because of the large number of use cases, where the first thing
a process does is to call ORB_init, and consequently -
open_services. There are also cases where a process calls
Service_Config::open, initializing the process-wide
configuration and only then proceeds to call ORB_init - for
example when using Service Configurator to load a DLL that uses
an ORB. The close_service is now only responsible for calling
close in the ORB's own gestalt, the ACE Object Manager is the
one that is clobering the process-wide Service Configuration.
Updated to explicitly specify the correct gestalt to be used.
* tao/default_resource.h:
* tao/default_resource.cpp:
Added the ACE_Dynamic_Service_Dependency member to the default
resource factory to expressly maintain the factory's dependance
on TAO_Codeset library, because the order of destruction may be
reversed in some cases. The member help us keep our access to
TAO_Codeset_Manager instances by upping the ref count on
TAO_Codeset's DLL. This is far from elegant, but a complete
reference counting scheme for the ORB services is a more complex
undertaking than what the available resources currently permit.
* tao/CSD_ThreadPool/CSD_TP_Strategy_Factory.cpp:
Fixed an (unrelated) issue arising from a call to strcmp() with
two different character types - only visible when ACE_USES_WCHAR
is in effect.
* tao/Codeset/Codeset_Manager_i.h:
* tao/Codeset/Codeset_Manager_i.cpp:
(minor) Added void as argument to the ctor and dtor.
* tao/PI/ORBInitializer_Registry_Impl.h:
* tao/PI/ORBInitializer_Registry_Impl.cpp:
Implemented an init() method, which registers all the static
services, usually taken for granted with the loading of
TAO_PI. Previously, static initializers were used, however the
dependent static services were being registered only globally,
which broke the ORBs that needed ORB-local services.
* tao/PI/PI.h:
* tao/PI/PI.cpp:
* tao/PI/PolicyFactory_Loader.h:
* tao/PI/PolicyFactory_Loader.cpp:
Removed the static initializers code and made it part of the
dynamic service's init method. See the comment above.
* tao/PortableServer/Root_POA.cpp:
Explicitly specified the gestalt to be used for registering
dynamic services.
* tests/DLL_ORB/Test_Client_Module.cpp:
* tests/DLL_ORB/Test_Server_Module.cpp:
Provided an ID for the client and server's ORB. In the future,
an option may be devised so that the user can specify if they
want any ORB to use its own gestalt, even if it does not have an
ID. The reverse would be to force all ORBs to use the global SR,
even if they have an ID. Fixed a a SEGV upon process
termination. The first thing a client process does in its main()
is to load a dynamic service - Test_Client_Module, using a call
to ACE_Service_Config::process_directive(). The service does
call ORB_init(), which causes the population of the SR with a
number of static and dynamic SOs. At process termination now
however, any services registered following the ORB_init () call
are destroyed first and will be unavailable when the
Test_Client_Module is finalized. Like the Resource Factory, for
example.
The solution is to provide and ORB id for any ORB, which will
loaded as part of a dynamic service. Since the service gestalt
is tied to the ORB id, this will cause the new ORBs to create
and manage the lifetime of their own Service Repositories. The
ORB_init() will be invoked in the context of each distinct SR
and any SO an ORB needs will go there. At process termination,
the Test_Client_Module will be finalized, which will clobber the
ORB's SR and any SO registered there.
* tests/ORB_Local_Config/ORB_Local_Config.mwc:
* tests/ORB_Local_Config/README:
* tests/ORB_Local_Config/run_tests_all.pl:
Added tests and examples of the functionality affected by the
introduction of the multiple private (per-ORB) service
configuration repositories.
* tests/ORB_Local_Config/lib/Service_Configuration_Per_ORB.h:
* tests/ORB_Local_Config/lib/Service_Configuration_Per_ORB.cpp:
* tests/ORB_Local_Config/lib/lib.mpc:
Common test code.
* tests/ORB_Local_Config/Bunch/Bunch.mpc:
* tests/ORB_Local_Config/Bunch/Service_Config_Test.UTF-16.conf:
* tests/ORB_Local_Config/Bunch/Service_Config_Test.UTF-16.conf.xml:
* tests/ORB_Local_Config/Bunch/Service_Config_Test.WCHAR_T.conf:
* tests/ORB_Local_Config/Bunch/Service_Config_Test.WCHAR_T.conf.xml:
* tests/ORB_Local_Config/Bunch/Service_Config_Test.conf:
* tests/ORB_Local_Config/Bunch/Service_Config_Test.conf.xml:
* tests/ORB_Local_Config/Bunch/Test.cpp:
* tests/ORB_Local_Config/Bunch/run_test.pl:
A collection of miscellaneous tests for compatibility of the new
interfaces with the old; Processing of the command-line
directives; Loading dynamic services in a local repository;
Loading the ORBInitializer_Registry locally; Test the helper
components used to implement the temporary substitution of the
repository currently used as "global" for the sake of
registering static services, which are dependent on a dynamic
service;
* tests/ORB_Local_Config/Limits/Limits.mpc:
* tests/ORB_Local_Config/Limits/Test.cpp:
* tests/ORB_Local_Config/Limits/run_test.pl:
Testing the size limits of a gestalt.
* tests/ORB_Local_Config/Separation/Separation.mpc:
* tests/ORB_Local_Config/Separation/Test.cpp:
* tests/ORB_Local_Config/Separation/run_test.pl:
Services registered with separate repositories must remain
separate and inaccessible through anyone but the gestalt they
were registered with.
* tests/ORB_Local_Config/Service_Dependency/Service_Config_DLL.h:
* tests/ORB_Local_Config/Service_Dependency/Service_Config_DLL.cpp:
* tests/ORB_Local_Config/Service_Dependency/Service_Config_DLL_Export.h:
* tests/ORB_Local_Config/Service_Dependency/Service_Dependency.mpc:
* tests/ORB_Local_Config/Service_Dependency/Test.cpp:
* tests/ORB_Local_Config/Service_Dependency/run_test.pl:
Tests the working of the ACE_Dynamic_Service_Dependency class
* tests/ORB_Local_Config/Shared/Shared.mpc:
* tests/ORB_Local_Config/Shared/Test.cpp:
* tests/ORB_Local_Config/Shared/run_test.pl:
Test that the default repository is available through any
Service Gestalt, created with its default ctor.
* tests/ORB_Local_Config/Simple/Simple.mpc:
* tests/ORB_Local_Config/Simple/Test.cpp:
* tests/ORB_Local_Config/Simple/run_test.pl:
* tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.h:
* tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL.cpp:
* tests/ORB_Local_Config/Two_DLL_ORB/ORB_DLL_Export.h:
* tests/ORB_Local_Config/Two_DLL_ORB/Service_Config_ORB_Test.conf:
* tests/ORB_Local_Config/Two_DLL_ORB/Service_Config_ORB_Test2.conf:
* tests/ORB_Local_Config/Two_DLL_ORB/Test.idl:
* tests/ORB_Local_Config/Two_DLL_ORB/Test.cpp:
* tests/ORB_Local_Config/Two_DLL_ORB/Test_i.h:
* tests/ORB_Local_Config/Two_DLL_ORB/Test_i.cpp:
* tests/ORB_Local_Config/Two_DLL_ORB/Two_DLL_ORB.mpc:
* tests/ORB_Local_Config/Two_DLL_ORB/client.cpp:
* tests/ORB_Local_Config/Two_DLL_ORB/run_test.pl:
* tests/ORB_Local_Config/Two_DLL_ORB/server.cpp:
Testing the loading a dynamic service, which initializes its own
ORB. The test is a variant of the Hello test with the twist that
both the client and the server are service objects, loaded by
the Service Configuration mechanism.
Wed Apr 26 20:09:33 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/EndpointPolicy/EndpointPolicyC.h:
* tao/EndpointPolicy/EndpointPolicyC.cpp:
Fixed fuzz errors.
* tao/EndpointPolicy/EndpointPolicyC.inl:
Removed this file.
Wed Apr 26 19:44:36 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* tao/Makefile.am:
Regenerated.
* tao/EndpointPolicy.mpc:
Added Pkgconfig_Files definition.
* tao/EndpointPolicy/TAO_EndpointPolicy.pc.in:
New file, pkg-config *.pc template for TAO_EndpointPolicy
library.
Wed Apr 26 19:08:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/OBV/Simple/Client_i.h:
Fixed casing of include
Wed Apr 26 19:13:02 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/IIOP_Connection_Handler.cpp:
* tao/ORB_Core.cpp:
* tao/params.h:
* tao/params.i:
* tao/params.cpp:
This change was of OCI by David.Gibbs@igindex.co.uk. He had
previously requested the addition of support for SO_KEEPALIVE
and as a result we found that the framework existed for
communicating a value of SO_DONTROUTE, so it was decided that we
go ahead and add the feature. I consider this change provisional
in that it isn't strictly required and so if someone strongly
objects to its existence it can be pulled. Otherwise it is
simply completing what someone else had started a while ago by
adding configuration values for socket options to IIOP protocol
properties definition.
Wed Apr 26 18:47:23 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/ORB_Core.cpp:
* tao/ORB_Core.h:
Add an alternate connection timeout hook. This is necessary for
users of the Optimized Connect Endpoint Selector with its
timeout while also using CORBA messaging and the Connection
Timeout policy. Both of these connection timeouts are
dynamically loaded and one would override the other. This change
allows both to be loaded, and if both are initialized to nonzero
values, the lesser of the two timeouts is used. This results
from a bug originally reported to OCI by friedhelm.wolf@homag.de.
* tao/Strategies/OC_Endpoint_Selector_Loader.cpp:
* tao/Strategies/OC_Endpoint_Selector_Loader.h:
Cleaned up the initializer to be more consistent with others.
* tao/Strategies/Optimized_Connection_Endpoint_Selector.cpp:
Fixed wihtespace in debug output.
Wed Apr 26 16:42:45 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* docs/Options.html:
Adding text for the new commandline options used to control the
parallel connect feature.
* tao/Blocked_Connect_Strategy.h:
* tao/Blocked_Connect_Strategy.cpp:
* tao/CORBALOC_Parser.cpp:
* tao/Client_Strategy_Factory.h:
* tao/Client_Strategy_Factory.cpp:
* tao/Connect_Strategy.h:
* tao/Connect_Strategy.cpp:
* tao/Endpoint.h:
* tao/Endpoint.cpp:
* tao/IIOP_Connection_Handler.h:
* tao/IIOP_Connection_Handler.cpp:
* tao/IIOP_Connector.h:
* tao/IIOP_Connector.cpp:
* tao/IIOP_Endpoint.h:
* tao/IIOP_Endpoint.cpp:
* tao/IIOP_Profile.h:
* tao/IIOP_Profile.cpp:
* tao/Invocation_Endpoint_Selectors.h:
* tao/Invocation_Endpoint_Selectors.cpp:
* tao/LF_CH_Event.h:
* tao/LF_Connect_Strategy.h:
* tao/LF_Connect_Strategy.cpp:
* tao/LF_Event.h:
* tao/LF_Multi_Event.h:
* tao/LF_Multi_Event.cpp:
* tao/MProfile.h:
* tao/MProfile.i:
* tao/MProfile.cpp:
* tao/ORB_Core.cpp:
* tao/Profile.h:
* tao/Profile.cpp:
* tao/Profile_Transport_Resolver.h:
* tao/Profile_Transport_Resolver.cpp:
* tao/Reactive_Connect_Strategy.h:
* tao/Reactive_Connect_Strategy.cpp:
* tao/Transport.cpp:
* tao/Transport_Connector.h:
* tao/Transport_Connector.cpp:
* tao/Transport_Descriptor_Interface.h:
* tao/Transport_Descriptor_Interface.inl:
* tao/Transport_Descriptor_Interface.cpp:
* tao/default_client.h:
* tao/default_client.cpp:
* tao/params.h:
* tao/params.i:
* tao/params.cpp:
* tao/tao.mpc:
These changes support a new technique for active connection
establishment when presented with a profile containing multiple
possible endpoints. This commit resolves bugzilla bug #2485.
The technique in question is "parallel connects" meaning
attempting to connect to many endpoints simultaniously. It was
conceived as a way to deal with timeouts when the Invocation
Endpoint Selector would first try to connect to one or more
unreachable endpoints. If those endpoints were defined as IP
addresses (not hostnames) or as resolvable hostnames that
pointed to unreachable IP addresses, the connection
establishment would take potentially several minutes to time out
and eventually encounter a reachable endpoint. In the case of
shared profiles (those using TAG_ALTERNATE_IIOP_ENDPOINT) this
delay impacts every single invocation.
This parallel connect feature (also referred to somewhat
inacurately as a strategy) avoids this by supplying all the
endpoints in a profile to the connector and letting it first
test to see if any are already cached and available, and if not,
to open connections to each and wait for a winner. When the
first connection completes, any pending connections are
terminated.
In order to minimize the use of pending connections, an iterator
traverses the list of endpoints creating new connections and
also checking any existing connections for completion. If the
first endpoint happens to be reachable and the server responds
quickly enough, the client may not open any more connections.
If the server does not respond immediately, a wait strategy is
entered. This wait strategy may be Reactive or Leader/Follower
based. In either case, a specal "multi event" type is used to
allow a single thread to wait on one of many connectors, and
then to clean up those that didn't finish in time. The parallel
connect feature is also available using blocking connects, but
the only advantage there is in checking the cache for all
endpoints in the profile, there is no performance gain during
actual connection establishment.
The parallel connect strategy differs from another endpoint
selection optimization, available in
tao/Strategies/Optimized_Connection_Endpoint_Selector.*. That
strategy works by examining all profiles simultaniously, this
feature still treats separate profiles separately. This profile
separation is necessary to support Load Balancing and Fault
Tolerence. Also, this feature requires additional support to be
built into protocol specific connectors (IIOP is currently the
only protocol supporting parallel connects) whereas the other
feature works regardless of the protocol.
As this is a new feature, it is disabled by default. Use the
-ORBUseParallelConnects option to enable its use. A second
option, -ORBParallelConnectDelay, is used to introduce a small
delay between the opening of new potential connections if the
server is particularly busy. This is useful to minimize the
impact on a busy server if more than one of the available
endpoints is reachable. Also, because this feature only focuses
on one profile at a time, the server must be run with
-ORBUseSharedProfiles enabled (it is disabled by default).
* tests/Parallel_Connect_Strategy/Parallel_Connect_Strategy.mpc:
* tests/Parallel_Connect_Strategy/README:
* tests/Parallel_Connect_Strategy/Test.idl:
* tests/Parallel_Connect_Strategy/Test_i.h:
* tests/Parallel_Connect_Strategy/Test_i.cpp:
* tests/Parallel_Connect_Strategy/blocked.conf:
* tests/Parallel_Connect_Strategy/client.cpp:
* tests/Parallel_Connect_Strategy/reactive.conf:
* tests/Parallel_Connect_Strategy/run_test.pl:
* tests/Parallel_Connect_Strategy/server.cpp:
This is a new test for the parallel connect feature. It works by
having the server open two endpoints, one aliased to something
unreachable. The client then uses different wait strategies to
make invocations on the server and records the time for
each. These tests also include counter-examples in which
parallel connects are not used, and these take several minutes
to run. On my Linux machine the timeout period is about 3
minutes which causes the overall test to take about 9 minutes to
run.
Wed Apr 26 16:30:56 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/PortableServer/POAManagerFactory.cpp:
Correct a bug found by the Borland compiler.
Wed Apr 26 13:47:28 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/EndpointPolicy.mpc:
* tao/EndpointPolicy/EndpointPolicy.h:
* tao/EndpointPolicy/EndpointPolicy.pidl:
* tao/EndpointPolicy/EndpointPolicy.cpp:
* tao/EndpointPolicy/EndpointPolicyA.h:
* tao/EndpointPolicy/EndpointPolicyA.cpp:
* tao/EndpointPolicy/EndpointPolicyC.h:
* tao/EndpointPolicy/EndpointPolicyC.inl:
* tao/EndpointPolicy/EndpointPolicyC.cpp:
* tao/EndpointPolicy/EndpointPolicyType.pidl:
* tao/EndpointPolicy/EndpointPolicyTypeA.h:
* tao/EndpointPolicy/EndpointPolicyTypeA.cpp:
* tao/EndpointPolicy/EndpointPolicyTypeC.h:
* tao/EndpointPolicy/EndpointPolicyTypeC.cpp:
* tao/EndpointPolicy/EndpointPolicy_Export.h:
* tao/EndpointPolicy/EndpointPolicy_Factory.h:
* tao/EndpointPolicy/EndpointPolicy_Factory.cpp:
* tao/EndpointPolicy/EndpointPolicy_ORBInitializer.h:
* tao/EndpointPolicy/EndpointPolicy_ORBInitializer.cpp:
* tao/EndpointPolicy/EndpointPolicy_i.h:
* tao/EndpointPolicy/EndpointPolicy_i.cpp:
* tao/EndpointPolicy/Endpoint_Acceptor_Filter.h:
* tao/EndpointPolicy/Endpoint_Acceptor_Filter.cpp:
* tao/EndpointPolicy/Endpoint_Acceptor_Filter_Factory.h:
* tao/EndpointPolicy/Endpoint_Acceptor_Filter_Factory.cpp:
* tao/EndpointPolicy/Endpoint_Value_Impl.h:
* tao/EndpointPolicy/IIOPEndpointValue.pidl:
* tao/EndpointPolicy/IIOPEndpointValueA.h:
* tao/EndpointPolicy/IIOPEndpointValueA.cpp:
* tao/EndpointPolicy/IIOPEndpointValueC.h:
* tao/EndpointPolicy/IIOPEndpointValueC.cpp:
* tao/EndpointPolicy/IIOPEndpointValue_i.h:
* tao/EndpointPolicy/IIOPEndpointValue_i.cpp:
The EndpointPolicy is a new, TAO-specific policy that is applied
to POAManagers via the POAManagerFactory. This commit resolves
Bugzilla bug #2484.
The Endpoint policy acts as a filter for constraining the final
endpoints or profiles listed in an IOR when it is created by a
POA associated with the POAManager containing the policy. The
EndpointPolicy value is a sequence, allow multiple endpoints to
be published.
The way this works is that the ORB is initialized with all the
-ORBEndpoint options it needs to provide access to all the
objects it will serve. Then POAManagers are created with
Endpoint policies that contain only the endpoints that are to be
used for its subset of objects. For instance, the ORB could
define one endpoint for insecure, internal-use-only objects, and
another for secure internet-facing objects. Using the Endpoint
Policy these different objects would only get one or the other
endpoint. Mechanically what happens is that first all Acceptors
are queried to construct an MProfile, then the resulting
profiles/endpoints are compared to entries in the policy, those
not matching are eliminated. It is possible that an endpoint
policy will exclude all the profiles, which would result in an
exception being raised at object reference construction time.
Endpoints are matched in their final form. This means that if an
IIOP Endpoint makes use of the hostname_in_ior attribute, that
is the name the policy will use to match.
Endpoint values are protocol specific. A value for IIOP is
provided, but new values must be defined to support other
protocols. The Endpoint value is a local object. New protocol
specific values do not have to be added to the
TAO_EndpointPolicy library, but they must specialize
EndpointPolicy::ValueBase and the implementation must derive
from TAO_Endpoint_Value_Impl.
* tao/IIOP_Endpoint.h:
* tao/IIOP_Endpoint.cpp:
* tao/IIOP_Profile.h:
* tao/IIOP_Profile.cpp:
* tao/Profile.h:
* tao/Profile.cpp:
The profile contains the base endpoint as an attribute. This
caused a problem for the endpoint removal scheme mentioned
above. If a profile contains two or more endpoints, and the base
happens to be the one to be eliminated as a result of the
endpoint comparison, the only thing that could be done is to
copy the contents of the first alternate into the base, then
eliminate the duplicate.
* tao/orbconf.h:
Added a tag for the new policy.
* tests/POA/EndpointPolicy/EndpointPolicy.mpc:
* tests/POA/EndpointPolicy/Hello.h:
* tests/POA/EndpointPolicy/Hello.cpp:
* tests/POA/EndpointPolicy/README:
* tests/POA/EndpointPolicy/Test.idl:
* tests/POA/EndpointPolicy/client.cpp:
* tests/POA/EndpointPolicy/run_test.pl:
* tests/POA/EndpointPolicy/server.cpp:
* tests/POA/README:
A new test case for the endpoint policy. This test currently
fails due to an unresolved interaction with the sequence
code. The error appears to be related to memory corruption, but
the cause has not yet been determined. The error only manifests
when the multiple profiles portion of the test is being
run. This is where an unmodified IOR would contain two profiles,
each with one endpoint. The problem does not occur when a single
profile has two endpoints.
Wed Apr 26 14:04:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/Smart_Proxies/client.cpp:
* tests/Smart_Proxies/Benchmark/client.cpp:
* tests/Smart_Proxies/dtor/client.cpp:
* tests/Smart_Proxies/Policy/client.cpp:
Removed remarks about the KAI compiler, more compilers do
give these warnings and support for the KAI compilers
has been removed
Wed Apr 26 13:29:44 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* orbsvcs/examples/ORT/Server_IORInterceptor.h:
* orbsvcs/examples/ORT/Server_IORInterceptor.cpp:
* orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.h:
* orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.cpp:
* orbsvcs/orbsvcs/PortableGroup/GOA.h:
* orbsvcs/orbsvcs/PortableGroup/GOA.cpp:
* orbsvcs/orbsvcs/PortableGroup/PG_Servant_Dispatcher.h:
* orbsvcs/orbsvcs/PortableGroup/PG_Servant_Dispatcher.cpp:
* tao/AnyTypeCode/PI_ForwardA.h:
* tao/CSD_Framework/CSD_Default_Servant_Dispatcher.h:
* tao/CSD_Framework/CSD_Default_Servant_Dispatcher.cpp:
* tao/CSD_Framework/CSD_POA.h:
* tao/CSD_Framework/CSD_POA.cpp:
* tao/IORInterceptor/IORInfo.h:
* tao/IORInterceptor/IORInfo.cpp:
* tao/IORInterceptor/IORInfoC.h:
* tao/IORInterceptor/IORInterceptorC.h:
* tao/IORInterceptor/IORInterceptor_Adapter_Impl.h:
* tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp:
* tao/IORInterceptor_Adapter.h:
* tao/PI_Forward.pidl:
* tao/PI_ForwardC.h:
* tao/RTPortableServer/RT_POA.h:
* tao/RTPortableServer/RT_POA.cpp:
* tao/RTPortableServer/RT_Servant_Dispatcher.h:
* tao/RTPortableServer/RT_Servant_Dispatcher.cpp:
* tests/ORT/ORT_test_IORInterceptor.h:
* tests/ORT/ORT_test_IORInterceptor.cpp:
* tests/Portable_Interceptors/IORInterceptor/FOO_IORInterceptor.h:
* tests/Portable_Interceptors/IORInterceptor/FOO_IORInterceptor.cpp:
These are more changes related to the POAManagerFactory. They
are coupled with my 13:10:59 utc checkin.
Wed Apr 26 13:10:59 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/PortableServer/Acceptor_Filter_Factory.h:
* tao/PortableServer/Acceptor_Filter_Factory.cpp:
* tao/PortableServer/Default_Acceptor_Filter.h:
* tao/PortableServer/Default_Servant_Dispatcher.h:
* tao/PortableServer/Default_Servant_Dispatcher.cpp:
* tao/PortableServer/Object_Adapter.h:
* tao/PortableServer/Object_Adapter.cpp:
* tao/PortableServer/POAManager.h:
* tao/PortableServer/POAManager.i:
* tao/PortableServer/POAManager.pidl:
* tao/PortableServer/POAManager.cpp:
* tao/PortableServer/POAManagerC.h:
* tao/PortableServer/POAManagerFactory.h:
* tao/PortableServer/POAManagerFactory.cpp:
* tao/PortableServer/POAManagerFactory.pidl:
* tao/PortableServer/POAManagerFactoryC.h:
* tao/PortableServer/POAManagerFactoryC.cpp:
* tao/PortableServer/PortableServer.h:
* tao/PortableServer/PortableServer.pidl:
* tao/PortableServer/PortableServerC.h:
* tao/PortableServer/Regular_POA.h:
* tao/PortableServer/Regular_POA.cpp:
* tao/PortableServer/Root_POA.h:
* tao/PortableServer/Root_POA.cpp:
* tao/PortableServer/Servant_Dispatcher.h:
These files are new/updated to support the POAManagerFactory,
which was added to the CORBA 3.0.2 specification. The PMF is
used to allow for the explicit creation of POA Managers which
can then be supplied to POAs during POA creation. POA Managers
may now also carry policies which will influence all POAs
associated with it. This work builds on the effort originally
started by Johnny Willemsen back in the pre-1.4.8 era. This
commit resolves Bugzilla bug #1785.
* tests/POA/POAManagerFactory/POAManagerFactory.cpp:
* tests/POA/POAManagerFactory/POAManagerFactory.mpc:
* tests/POA/POAManagerFactory/run_test.pl:
This is a new test for the POAManagerFactory.
Wed Apr 26 13:01:48 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/Valuetype/AbstractBase.cpp:
* tao/Valuetype/AbstractBase.h:
The _tao_marshal_v method is supposed to be const.
Wed Apr 26 13:01:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/POA/Bug_2511_Regression/*:
Added new regression for bug 2511. Thanks to Martin Cornelius
<Martin at Cornelius at smiths-heimann dot com> for creating
this regression
Wed Apr 26 12:20:51 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tests/AMI/ami_test.idl:
* tests/AMI/ami_test_i.cpp:
* tests/AMI/simple_client.cpp:
Reverting earlier test changes. They were causing problems on
some platforms and I don't have a clear enough memory of the
original motivation for the change.
Wed Apr 26 11:46:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/tests/AVStreams/Pluggable/ftp.cpp:
* orbsvcs/tests/AVStreams/Multicast/ftp.cpp:
Fixed a bug in these tests, in the test code for element 0 of
a string sequence was set and after that the length was set to 1.
The setting of 0 is possible because the OMG doesn't define
exceptions for this so it is allowed, then setting the length to
1 does reinitialize element 0 so that we don't get old values.
This was not done with the old sequences, then just the old
value was returned and things worked then.
Wed Apr 26 11:21:57 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/Valuetype/ValueBase.cpp:
Fix for errant removal of throw, this corrects the OBV/Factory
test.
Wed Apr 26 10:41:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Unbounded_Sequence_CDR_T.h:
Added missing include of SystemException
Wed Apr 26 10:03:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/OBV/Simple/*:
Added very simple OBV test
Wed Apr 26 09:53:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/Portable_Interceptors/Bug_2510_Regression:
New regression test, thanks to Martin Cornelius
<Martin at Cornelius at smiths-heimann dot com> for creating
this test. This bug is not fixed yet.
Wed Apr 26 09:44:12 UTC 2006 Kees van Marle <kvmarle@remedy.nl>
* tao/Bounded_Sequence_CDR_T.h:
* tao/Unbounded_Sequence_CDR_T.h:
Check in all marshal_sequence methods if we aren't trying to
marshal a nill sequence, this can happen when the user doesn't
initialize an out argument. In that case we throw a BAD_PARAM
exception as described in the C++ spec. This fixes bugzilla bug
1676.
Wed Apr 26 08:42:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/ObjRefTemplate/ObjectReferenceTemplateC.h:
* tao/ObjRefTemplate/Default_ORTC.h:
* tao/Messaging/ExceptionHolderC.h:
Include the Valuetype_Adapter_Factory_Impl.h so that the
Valuetype library gets linked in a static build, this is
already updated earlier in the IDL compiler
Wed Apr 26 08:17:12 UTC 2006 Kees van Marle <kvmarle@remedy.nl>
* tests/Bug_1676_Regression/client.cpp:
Extended this test to explicitly test for BAD_PARAM exception
when the server not initializes an out argument
Wed Apr 26 07:24:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/Trader/Interpreter_Utils.h:
Removed invalid template export
Wed Apr 26 03:46:16 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* tao/Valuetype/AbstractBase.cpp:
Fixed scoreboard detected warning.
Tue Apr 25 19:24:48 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp:
Missed a patch from the earlier commit.
Tue Apr 25 19:09:08 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* orbsvcs/examples/ORT/Server_IORInterceptor.h:
* orbsvcs/examples/ORT/Server_IORInterceptor.cpp:
* orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.h:
* orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.cpp:
* orbsvcs/orbsvcs/PortableGroup/GOA.h:
* orbsvcs/orbsvcs/PortableGroup/GOA.cpp:
* orbsvcs/orbsvcs/PortableGroup/PG_Servant_Dispatcher.h:
* orbsvcs/orbsvcs/PortableGroup/PG_Servant_Dispatcher.cpp:
* tao/AnyTypeCode/PI_ForwardA.h:
* tao/CSD_Framework/CSD_Default_Servant_Dispatcher.h:
* tao/CSD_Framework/CSD_Default_Servant_Dispatcher.cpp:
* tao/CSD_Framework/CSD_POA.h:
* tao/CSD_Framework/CSD_POA.cpp:
* tao/IIOP_Endpoint.h:
* tao/IIOP_Endpoint.cpp:
* tao/IIOP_Profile.h:
* tao/IIOP_Profile.cpp:
* tao/IORInterceptor/IORInfo.h:
* tao/IORInterceptor/IORInfo.cpp:
* tao/IORInterceptor/IORInfoC.h:
* tao/IORInterceptor/IORInterceptorC.h:
* tao/IORInterceptor/IORInterceptor_Adapter_Impl.h:
* tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp:
* tao/IORInterceptor_Adapter.h:
* tao/PI_Forward.pidl:
* tao/PI_ForwardC.h:
* tao/PortableServer/Default_Acceptor_Filter.h:
* tao/PortableServer/Default_Servant_Dispatcher.h:
* tao/PortableServer/Default_Servant_Dispatcher.cpp:
* tao/PortableServer/Object_Adapter.h:
* tao/PortableServer/Object_Adapter.cpp:
* tao/PortableServer/POAManager.h:
* tao/PortableServer/POAManager.i:
* tao/PortableServer/POAManager.cpp:
* tao/PortableServer/POAManager.pidl:
* tao/PortableServer/POAManagerC.h:
* tao/PortableServer/PortableServer.h:
* tao/PortableServer/PortableServer.pidl:
* tao/PortableServer/PortableServerC.h:
* tao/PortableServer/Regular_POA.h:
* tao/PortableServer/Regular_POA.cpp:
* tao/PortableServer/Root_POA.h:
* tao/PortableServer/Root_POA.cpp:
* tao/PortableServer/Servant_Dispatcher.h:
* tao/Profile.h:
* tao/Profile.cpp:
* tao/RTPortableServer/RT_POA.h:
* tao/RTPortableServer/RT_POA.cpp:
* tao/RTPortableServer/RT_Servant_Dispatcher.h:
* tao/RTPortableServer/RT_Servant_Dispatcher.cpp:
* tao/orbconf.h:
* tao/params.cpp:
* tests/ORT/ORT_test_IORInterceptor.h:
* tests/ORT/ORT_test_IORInterceptor.cpp:
* tests/POA/EndpointPolicy/EndpointPolicy.mpc:
* tests/POA/EndpointPolicy/Hello.h:
* tests/POA/EndpointPolicy/Hello.cpp:
* tests/POA/EndpointPolicy/README:
* tests/POA/EndpointPolicy/Test.idl:
* tests/POA/EndpointPolicy/client.cpp:
* tests/POA/EndpointPolicy/run_test.pl:
* tests/POA/EndpointPolicy/server.cpp:
* tests/POA/POAManagerFactory/POAManagerFactory.cpp:
* tests/POA/POAManagerFactory/POAManagerFactory.mpc:
* tests/POA/POAManagerFactory/run_test.pl:
* tests/POA/README:
* tests/Portable_Interceptors/IORInterceptor/FOO_IORInterceptor.h:
* tests/Portable_Interceptors/IORInterceptor/FOO_IORInterceptor.cpp:
Tue Apr 25 17:38:34 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
* TAO_IDL/be/be_visitor_valuebox/valuebox_ch.cpp:
* TAO_IDL/be/be_visitor_valuebox/valuebox_ci.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp:
* tao/Messaging/ExceptionHolderC.h:
* tao/Messaging/ExceptionHolderC.cpp:
* tao/ObjRefTemplate/Default_ORTC.h:
* tao/ObjRefTemplate/Default_ORTC.cpp:
* tao/ObjRefTemplate/ObjectReferenceTemplateC.h:
* tao/ObjRefTemplate/ObjectReferenceTemplateC.cpp:
* tao/Valuetype/AbstractBase.h:
* tao/Valuetype/AbstractBase.cpp:
* tao/Valuetype/StringValueC.h:
* tao/Valuetype/StringValueC.inl:
* tao/Valuetype/ValueBase.h:
* tao/Valuetype/ValueBase.cpp:
These are further valuetype changes that are related to Bugzilla
#2162. The problem is that TAO assumes that a valuetype's
typecode is always encoded as 0x7FFFFF02 <repID> but that is not
compliant with the spec. It is also valid to encode a valuetype
typecode as 0x7FFFFF00 which indicates that the actual type of
the value matches the formal type for the argument for which the
value is a parameter. TAO already had most of the hooks in
place to support this, but was missing a key bit of
functionality. This patch adds that functionality, the ability
to test that the formal type matches the actual type when
marshaling values.
Valuetypes encoded this way are substantially more efficient, if
the type can be implied then there is no need to carry the
actual type id. Unfortunately to do so blindly would break
backwards compatibility with all previous versions of TAO.
For the time being, the effective code to cause TAO to marshal
values using the more efficient typecode is disabled using a new
compile-time flag, TAO_HAS_OPTIMIMIZED_VALUETYPE_MARSHALING,
which must be defined to give TAO the opportunity to use this
new technique. THIS FLAG BREAKS BACKWARDS COMPATIBILITY. It is
not a violation of the spec to always encode the valuetype's
type ID when marshaling, so TAO can continue being backwards
compatible and not be in violation of the spec. The only
violation comes when failing to unmarshal a value which is using
an implied type ID.
I would prefer to not have a compiler flag to guard the use of
optimized marshaling, but I don't know any other way to do it.
At the point where the decision is made, there is no reference
to an ORB Core so there is no easy way to set a dynamic option
that could be used to selectively control this optimization.
Tue Apr 25 15:14:13 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
Merging in truncatable valuetype support. This work was done on
an OCI controlled patch then brought in via patch. The premise
is to support the "truncatable" keyword for valuetypes as
defined in sections 3.9.1.3, 5.2.5.3 and 15.3.4.1 of the CORBA
3.0.3 specification. Practically, this means supporting the
marshaling of typecode lists and chunked values. Chunked values
requires the retention of state, namely nesting level, during
the marshaling. This was handled by creating a new ChunkInfo
type that is created on the stack during the marshaling of a
valuetype and is passed through all the intermediate marshal
methods. This commit resolves Bugzilla #2483
* TAO_IDL/be/be_visitor_valuebox/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_valuebox/cdr_op_cs.cpp:
* TAO_IDL/be/be_visitor_valuebox/valuebox_ch.cpp:
* TAO_IDL/be/be_visitor_valuebox/valuebox_cs.cpp:
Valueboxes by definition cannot be made truncatable, but they
derive from the same valuebase, thus they must support the same
signature for creating a list of repository ids. Otherwise these
are whitespace only changes.
* TAO_IDL/be/be_visitor_valuetype/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_valuetype/cdr_op_cs.cpp:
* TAO_IDL/be/be_visitor_valuetype/marshal_cs.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_ci.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_obv_ch.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_obv_cs.cpp:
These are changes for generating code that manages the chunkinfo
data as it passes through the value members.
* TAO_IDL/be/be_visitor_valuetype_fwd/cdr_op_ch.cpp:
Whitespace changes.
* TAO_IDL/fe/y.tab.cpp:
* TAO_IDL/fe/idl.yy:
Removed the warning about support for truncatables.
* tao/AnyTypeCode/skip.cpp:
Fixed the type for the valuetag.
* tao/Messaging/ExceptionHolderC.h:
* tao/Messaging/ExceptionHolderC.cpp:
* tao/ObjRefTemplate/Default_ORTC.h:
* tao/ObjRefTemplate/Default_ORTC.cpp:
* tao/ObjRefTemplate/ObjectReferenceTemplateC.h:
* tao/ObjRefTemplate/ObjectReferenceTemplateC.cpp:
These are the changes required by the truncatable support that
would ordinarily be generated by the IDL compiler.
* tao/Valuetype/AbstractBase.h:
* tao/Valuetype/AbstractBase.cpp:
* tao/Valuetype/StringValueC.h:
* tao/Valuetype/StringValueC.cpp:
* tao/Valuetype/ValueBase.h:
* tao/Valuetype/ValueBase.inl:
* tao/Valuetype/ValueBase.cpp:
* tao/Valuetype/Value_CORBA_methods.h:
The changes for StringValue and AbstractBase are the same as the
generated code. The changes in ValueBase are those common to all
value types, used to determine how to marshal values if the
truncatable keyword was defined or not. This also includes the
definintion of the new ChunkInfo type.
* tests/AMI/ami_test.idl:
* tests/AMI/ami_test_i.cpp:
* tests/AMI/simple_client.cpp:
Changes test misc. fixes for support of wchar data in exceptions.
* tests/OBV/Truncatable/OBV_Truncatable.mpc:
* tests/OBV/Truncatable/README:
* tests/OBV/Truncatable/Truncatable.idl:
* tests/OBV/Truncatable/TruncatableS_impl.h:
* tests/OBV/Truncatable/TruncatableS_impl.cpp:
* tests/OBV/Truncatable/client.cpp:
* tests/OBV/Truncatable/run_test.pl:
* tests/OBV/Truncatable/server.cpp:
A new test specific to validating the truncatable valuetypes.
Note this test is also added to the ace/bin/tao_orb_tests.lst.
* tests/Param_Test/svc.conf:
Remove the explicit override of the wchar codeset for the
Tue Apr 25 14:25:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
Reverted this change below, this change broke this test
Fri Apr 21 08:11:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/tests/Trading/TTest.idl:
Use the CORBA predefined sequence types
Tue Apr 25 12:20:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/Sequence_Unit_Tests/Sequence_Unit_Tests.mpc:
Added missing unbouded array unit test
Tue Apr 25 11:40:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp
* orbsvcs/orbsvcs/Trader/Interpreter_Utils.{h,cpp}:
* orbsvcs/orbsvcs/Trader/Offer_Database.{h,cpp}:
* orbsvcs/orbsvcs/Trader/Service_Type_Repository.{h,cpp}:
* orbsvcs/orbsvcs/Trader/Trader.h
* orbsvcs/orbsvcs/Trader/Trader_Constraint_Visitors.cpp
* orbsvcs/orbsvcs/Trader/Trader_Interfaces.{h,cpp}:
* orbsvcs/orbsvcs/Trader/Trader_Utils.{h,cpp}:
Fixed duplicate symbols when linking with vc7/vc8. The trading
service used the TAO_String_Hash_Key class to store strings
in hash maps, this class is derived from CORBA::String_var which
has been refactored to a template. This causes problems with
vc7/vc8 because the base template is exported from multiple
libraries. This has been resolved by usign CORBA::String_var
in the hash map and deliver an ACE_Hash, ACE_Equal_To and
ACE_Less_Then template specialization. This solves now the
link problems, the runtime issue that appeared after the
sequence merge has not been fixed yet. Also see bugzilla bug
2520 for more info.
Tue Apr 25 08:46:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/ORB.cpp:
Removed runtime check of the sizes of the basic data types. We
now always use bool for CORBA::Boolean independent of the size
of bool, see also bugzilla 2515
Tue Apr 25 06:37:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Object.{h,cpp}:
Made the signature of the static marshal method the same in the
definition and the implementation.
Mon Apr 24 19:05:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/Trader/Interpreter_Utils.h:
Explicitly export the base template to fix duplicate symbol
errors with vc71/vc8
Mon Apr 24 14:16:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp:
Improved debug messages so that we can see if a string is empty
or not.
* orbsvcs/orbsvcs/AV/FlowSpec_Entry.h:
Doxygen cleanup
* orbsvcs/orbsvcs/AV/AVStreams_i.cpp:
Improved debugging output to resolve bug that seems to be introduced
by the sequence changes, the flowspec sequence has length of 1 but
just an empty string as value
Mon Apr 24 13:12:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/params.cpp:
Small const improvement
* tao/ORB.{h,cpp}:
Updated CORBA::ORB::RequestSeq to CORBA::RequestSeq as the spec
describes. Fixes bugzilla bug 2512.
Mon Apr 24 12:02:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/ORB.cpp:
Added include of ObjectIdListC.h to resolve compile errors related
to this type with Sun Studio 10
Mon Apr 24 11:56:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
Reverted change below, set method is IDL generated.
Mon Apr 24 09:39:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/Runtime_Scheduler.{h,cpp}:
Made the arguments of the set method a const reference, this fixes
the internal backend errors in the BCB2006 release builds.
Mon Apr 24 11:31:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/ORB_Core.cpp:
When we can't get a valuetype adapter throw an internal corba
exception
* TAO_IDL/be/be_codegen.cpp:
Updated include generated for the valuetype library, makes sure
that the valuetype library gets linked into the executable when
building static.
Mon Apr 24 10:16:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/Bug_1676_Regression/*:
Added regression for bug 1676 written by Kees van Marle. This bug
seems not to be fixed yet.
Mon Apr 24 09:39:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/Runtime_Scheduler.{h,cpp}:
Made the arguments of the set method a const reference, this fixes
the internal backend errors in the BCB2006 release builds.
Mon Apr 24 06:59:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.inl:
Removed some left over ACE_NESTED_CLASS usage
Sun Apr 23 11:26:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.cpp:
Removed some left over ACE_NESTED_CLASS usage
Fri Apr 21 20:43:24 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* examples/Makefile.am:
* performance-tests/Makefile.am:
Remove handful of subdirectories that have not yet been updated
to work with autoconf builds.
Fri Apr 21 19:32:27 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* configure.ac:
Added orbsvcs/tests/Bug_2377_Regression/Makefile to
AC_CONFIG_FILES.
* orbsvcs/tests/Bug_2377_Regression/Makefile.am:
New file.
Fri Apr 21 14:07:51 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
* TAO_IDL/Makefile.am:
* docs/Makefile.am:
* docs/tutorials/Makefile.am:
* docs/tutorials/Quoter/Makefile.am:
* docs/tutorials/Quoter/AMI/Makefile.am:
* docs/tutorials/Quoter/Event_Service/Makefile.am:
* docs/tutorials/Quoter/Naming_Service/Makefile.am:
* docs/tutorials/Quoter/On_Demand_Activation/Makefile.am:
* docs/tutorials/Quoter/RT_Event_Service/Makefile.am:
* docs/tutorials/Quoter/Simple/Makefile.am:
* docs/tutorials/Quoter/Simple/Client/Makefile.am:
* docs/tutorials/Quoter/Simple/Impl-Repo/Makefile.am:
* docs/tutorials/Quoter/Simple/ImprovedServer/Makefile.am:
* docs/tutorials/Quoter/Simple/Persistent/Makefile.am:
* docs/tutorials/Quoter/Simple/Server/Makefile.am:
* docs/tutorials/Quoter/idl/Makefile.am:
* examples/Makefile.am:
* examples/AMH/Makefile.am:
* examples/AMH/Sink_Server/Makefile.am:
* examples/AMI/Makefile.am:
* examples/AMI/FL_Callback/Makefile.am:
* examples/Advanced/Makefile.am:
* examples/Advanced/ch_3/Makefile.am:
* examples/Buffered_AMI/Makefile.am:
* examples/Buffered_Oneways/Makefile.am:
* examples/CSD_Strategy/Makefile.am:
* examples/CSD_Strategy/ThreadPool/Makefile.am:
* examples/CSD_Strategy/ThreadPool2/Makefile.am:
* examples/CSD_Strategy/ThreadPool3/Makefile.am:
* examples/CSD_Strategy/ThreadPool4/Makefile.am:
* examples/CSD_Strategy/ThreadPool5/Makefile.am:
* examples/CSD_Strategy/ThreadPool6/Makefile.am:
* examples/Callback_Quoter/Makefile.am:
* examples/Content_Server/Makefile.am:
* examples/Content_Server/AMI_Iterator/Makefile.am:
* examples/Content_Server/AMI_Observer/Makefile.am:
* examples/Content_Server/SMI_Iterator/Makefile.am:
* examples/Event_Comm/Makefile.am:
* examples/Kokyu_dsrt_schedulers/Makefile.am:
* examples/Kokyu_dsrt_schedulers/fp_example/Makefile.am:
* examples/Kokyu_dsrt_schedulers/mif_example/Makefile.am:
* examples/Kokyu_dsrt_schedulers/muf_example/Makefile.am:
* examples/Load_Balancing/Makefile.am:
* examples/Load_Balancing_persistent/Makefile.am:
* examples/Logging/Makefile.am:
* examples/OBV/Makefile.am:
* examples/OBV/Typed_Events/Makefile.am:
* examples/POA/Makefile.am:
* examples/POA/Adapter_Activator/Makefile.am:
* examples/POA/DSI/Makefile.am:
* examples/POA/Default_Servant/Makefile.am:
* examples/POA/Explicit_Activation/Makefile.am:
* examples/POA/Explicit_Activation/Alt_Resources/Makefile.am:
* examples/POA/FindPOA/Makefile.am:
* examples/POA/Forwarding/Makefile.am:
* examples/POA/Generic_Servant/Makefile.am:
* examples/POA/Loader/Makefile.am:
* examples/POA/NewPOA/Makefile.am:
* examples/POA/On_Demand_Activation/Makefile.am:
* examples/POA/On_Demand_Loading/Makefile.am:
* examples/POA/POA_BiDir/Makefile.am:
* examples/POA/Reference_Counted_Servant/Makefile.am:
* examples/POA/RootPOA/Makefile.am:
* examples/POA/TIE/Makefile.am:
* examples/Persistent_Grid/Makefile.am:
* examples/PluggableUDP/Makefile.am:
* examples/PluggableUDP/tests/Makefile.am:
* examples/PluggableUDP/tests/Basic/Makefile.am:
* examples/PluggableUDP/tests/Performance/Makefile.am:
* examples/PluggableUDP/tests/SimplePerformance/Makefile.am:
* examples/Quoter/Makefile.am:
* examples/RTCORBA/Makefile.am:
* examples/RTCORBA/Activity/Makefile.am:
* examples/RTScheduling/Makefile.am:
* examples/RTScheduling/Fixed_Priority_Scheduler/Makefile.am:
* examples/RTScheduling/MIF_Scheduler/Makefile.am:
* examples/Simple/Makefile.am:
* examples/Simple/bank/Makefile.am:
* examples/Simple/chat/Makefile.am:
* examples/Simple/echo/Makefile.am:
* examples/Simple/grid/Makefile.am:
* examples/Simple/time/Makefile.am:
* examples/Simple/time-date/Makefile.am:
* examples/Simulator/Makefile.am:
* examples/Simulator/Event_Supplier/Makefile.am:
* examples/TypeCode_Creation/Makefile.am:
* examples/ior_corbaloc/Makefile.am:
* examples/mfc/Makefile.am:
* interop-tests/Makefile.am:
* interop-tests/wchar/Makefile.am:
* orbsvcs/Makefile.am:
* orbsvcs/Concurrency_Service/Makefile.am:
* orbsvcs/CosEvent_Service/Makefile.am:
* orbsvcs/Dump_Schedule/Makefile.am:
* orbsvcs/Event_Service/Makefile.am:
* orbsvcs/FTRT_Event_Service/Makefile.am:
* orbsvcs/FTRT_Event_Service/Event_Service/Makefile.am:
* orbsvcs/FTRT_Event_Service/Factory_Service/Makefile.am:
* orbsvcs/FTRT_Event_Service/Gateway_Service/Makefile.am:
* orbsvcs/FT_ReplicationManager/Makefile.am:
* orbsvcs/Fault_Detector/Makefile.am:
* orbsvcs/Fault_Notifier/Makefile.am:
* orbsvcs/IFR_Service/Makefile.am:
* orbsvcs/ImplRepo_Service/Makefile.am:
* orbsvcs/LoadBalancer/Makefile.am:
* orbsvcs/Logging_Service/Makefile.am:
* orbsvcs/Logging_Service/Basic_Logging_Service/Makefile.am:
* orbsvcs/Logging_Service/Event_Logging_Service/Makefile.am:
* orbsvcs/Logging_Service/Notify_Logging_Service/Makefile.am:
* orbsvcs/Logging_Service/RTEvent_Logging_Service/Makefile.am:
* orbsvcs/Naming_Service/Makefile.am:
* orbsvcs/Notify_Service/Makefile.am:
* orbsvcs/Scheduling_Service/Makefile.am:
* orbsvcs/TAO_Service/Makefile.am:
* orbsvcs/Time_Service/Makefile.am:
* orbsvcs/Trading_Service/Makefile.am:
* orbsvcs/examples/Makefile.am:
* orbsvcs/examples/CosEC/Makefile.am:
* orbsvcs/examples/CosEC/Factory/Makefile.am:
* orbsvcs/examples/CosEC/RtEC_Based/Makefile.am:
* orbsvcs/examples/CosEC/RtEC_Based/bin/Makefile.am:
* orbsvcs/examples/CosEC/RtEC_Based/lib/Makefile.am:
* orbsvcs/examples/CosEC/RtEC_Based/tests/Makefile.am:
* orbsvcs/examples/CosEC/RtEC_Based/tests/Basic/Makefile.am:
* orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/Makefile.am:
* orbsvcs/examples/CosEC/Simple/Makefile.am:
* orbsvcs/examples/CosEC/TypedSimple/Makefile.am:
* orbsvcs/examples/FaultTolerance/Makefile.am:
* orbsvcs/examples/FaultTolerance/RolyPoly/Makefile.am:
* orbsvcs/examples/ImR/Makefile.am:
* orbsvcs/examples/ImR/Advanced/Makefile.am:
* orbsvcs/examples/ImR/Combined_Service/Makefile.am:
* orbsvcs/examples/LoadBalancing/Makefile.am:
* orbsvcs/examples/Log/Makefile.am:
* orbsvcs/examples/Log/Basic/Makefile.am:
* orbsvcs/examples/Log/Event/Makefile.am:
* orbsvcs/examples/Log/Notify/Makefile.am:
* orbsvcs/examples/Log/RTEvent/Makefile.am:
* orbsvcs/examples/Notify/Makefile.am:
* orbsvcs/examples/Notify/Federation/Makefile.am:
* orbsvcs/examples/Notify/Federation/Agent/Makefile.am:
* orbsvcs/examples/Notify/Federation/Gate/Makefile.am:
* orbsvcs/examples/Notify/Federation/SpaceCraft/Makefile.am:
* orbsvcs/examples/Notify/Filter/Makefile.am:
* orbsvcs/examples/Notify/Lanes/Makefile.am:
* orbsvcs/examples/Notify/Subscribe/Makefile.am:
* orbsvcs/examples/Notify/ThreadPool/Makefile.am:
* orbsvcs/examples/ORT/Makefile.am:
* orbsvcs/examples/RtEC/Makefile.am:
* orbsvcs/examples/RtEC/IIOPGateway/Makefile.am:
* orbsvcs/examples/RtEC/Kokyu/Makefile.am:
* orbsvcs/examples/RtEC/MCast/Makefile.am:
* orbsvcs/examples/RtEC/Schedule/Makefile.am:
* orbsvcs/examples/RtEC/Simple/Makefile.am:
* orbsvcs/examples/Security/Makefile.am:
* orbsvcs/examples/Security/Send_File/Makefile.am:
* orbsvcs/orbsvcs/Makefile.am:
* orbsvcs/performance-tests/Makefile.am:
* orbsvcs/performance-tests/LoadBalancing/Makefile.am:
* orbsvcs/performance-tests/LoadBalancing/LBPerf/Makefile.am:
* orbsvcs/performance-tests/LoadBalancing/LBPerf/RPS/Makefile.am:
* orbsvcs/performance-tests/RTEvent/Makefile.am:
* orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/Makefile.am:
* orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/Makefile.am:
* orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Makefile.am:
* orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Makefile.am:
* orbsvcs/performance-tests/RTEvent/Roundtrip/Makefile.am:
* orbsvcs/performance-tests/RTEvent/TCP_Baseline/Makefile.am:
* orbsvcs/performance-tests/RTEvent/lib/Makefile.am:
* orbsvcs/tests/Makefile.am:
* orbsvcs/tests/AVStreams/Makefile.am:
* orbsvcs/tests/AVStreams/Asynch_Three_Stage/Makefile.am:
* orbsvcs/tests/AVStreams/Bidirectional_Flows/Makefile.am:
* orbsvcs/tests/AVStreams/Component_Switching/Makefile.am:
* orbsvcs/tests/AVStreams/Full_Profile/Makefile.am:
* orbsvcs/tests/AVStreams/Latency/Makefile.am:
* orbsvcs/tests/AVStreams/Modify_QoS/Makefile.am:
* orbsvcs/tests/AVStreams/Multicast/Makefile.am:
* orbsvcs/tests/AVStreams/Multicast_Full_Profile/Makefile.am:
* orbsvcs/tests/AVStreams/Multiple_Flows/Makefile.am:
* orbsvcs/tests/AVStreams/Pluggable/Makefile.am:
* orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/Makefile.am:
* orbsvcs/tests/AVStreams/Simple_Three_Stage/Makefile.am:
* orbsvcs/tests/AVStreams/Simple_Two_Stage/Makefile.am:
* orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/Makefile.am:
* orbsvcs/tests/BiDir_CORBALOC/Makefile.am:
* orbsvcs/tests/Bug_1334_Regression/Makefile.am:
* orbsvcs/tests/Bug_1393_Regression/Makefile.am:
* orbsvcs/tests/Bug_1395_Regression/Makefile.am:
* orbsvcs/tests/Bug_1630_Regression/Makefile.am:
* orbsvcs/tests/Bug_2074_Regression/Makefile.am:
* orbsvcs/tests/Bug_2137_Regression/Makefile.am:
* orbsvcs/tests/Bug_2247_Regression/Makefile.am:
* orbsvcs/tests/Bug_2248_Regression/Makefile.am:
* orbsvcs/tests/Bug_2285_Regression/Makefile.am:
* orbsvcs/tests/Bug_2287_Regression/Makefile.am:
* orbsvcs/tests/Bug_2316_Regression/Makefile.am:
* orbsvcs/tests/Concurrency/Makefile.am:
* orbsvcs/tests/CosEvent/Makefile.am:
* orbsvcs/tests/CosEvent/Basic/Makefile.am:
* orbsvcs/tests/CosEvent/lib/Makefile.am:
* orbsvcs/tests/EC_Custom_Marshal/Makefile.am:
* orbsvcs/tests/EC_MT_Mcast/Makefile.am:
* orbsvcs/tests/EC_Mcast/Makefile.am:
* orbsvcs/tests/EC_Multiple/Makefile.am:
* orbsvcs/tests/EC_Throughput/Makefile.am:
* orbsvcs/tests/Event/Makefile.am:
* orbsvcs/tests/Event/Basic/Makefile.am:
* orbsvcs/tests/Event/Mcast/Makefile.am:
* orbsvcs/tests/Event/Mcast/Common/Makefile.am:
* orbsvcs/tests/Event/Mcast/Complex/Makefile.am:
* orbsvcs/tests/Event/Mcast/Simple/Makefile.am:
* orbsvcs/tests/Event/Mcast/Two_Way/Makefile.am:
* orbsvcs/tests/Event/Performance/Makefile.am:
* orbsvcs/tests/Event/lib/Makefile.am:
* orbsvcs/tests/FT_App/Makefile.am:
* orbsvcs/tests/FaultTolerance/Makefile.am:
* orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/Makefile.am:
* orbsvcs/tests/FaultTolerance/IOGR/Makefile.am:
* orbsvcs/tests/FaultTolerance/IOGRManipulation/Makefile.am:
* orbsvcs/tests/FtRtEvent/Makefile.am:
* orbsvcs/tests/HTIOP/Makefile.am:
* orbsvcs/tests/HTIOP/AMI/Makefile.am:
* orbsvcs/tests/HTIOP/BiDirectional/Makefile.am:
* orbsvcs/tests/HTIOP/Hello/Makefile.am:
* orbsvcs/tests/IOR_MCast/Makefile.am:
* orbsvcs/tests/ImplRepo/Makefile.am:
* orbsvcs/tests/ImplRepo/NameService/Makefile.am:
* orbsvcs/tests/ImplRepo/scale/Makefile.am:
* orbsvcs/tests/InterfaceRepo/Makefile.am:
* orbsvcs/tests/InterfaceRepo/Application_Test/Makefile.am:
* orbsvcs/tests/InterfaceRepo/IDL3_Test/Makefile.am:
* orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/Makefile.am:
* orbsvcs/tests/InterfaceRepo/IFR_Test/Makefile.am:
* orbsvcs/tests/InterfaceRepo/Latency_Test/Makefile.am:
* orbsvcs/tests/InterfaceRepo/Persistence_Test/Makefile.am:
* orbsvcs/tests/Interoperable_Naming/Makefile.am:
* orbsvcs/tests/LoadBalancing/Makefile.am:
* orbsvcs/tests/LoadBalancing/GenericFactory/Makefile.am:
* orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/Makefile.am:
* orbsvcs/tests/LoadBalancing/GenericFactory/Infrastructure_Controlled/Makefile.am:
* orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Makefile.am:
* orbsvcs/tests/LoadBalancing/LoadMonitor/Makefile.am:
* orbsvcs/tests/LoadBalancing/LoadMonitor/CPU/Makefile.am:
* orbsvcs/tests/Log/Makefile.am:
* orbsvcs/tests/Log/Basic_Log_Test/Makefile.am:
* orbsvcs/tests/Miop/Makefile.am:
* orbsvcs/tests/Miop/McastHello/Makefile.am:
* orbsvcs/tests/Notify/Makefile.am:
* orbsvcs/tests/Notify/Basic/Makefile.am:
* orbsvcs/tests/Notify/Blocking/Makefile.am:
* orbsvcs/tests/Notify/Destroy/Makefile.am:
* orbsvcs/tests/Notify/Discarding/Makefile.am:
* orbsvcs/tests/Notify/Driver/Makefile.am:
* orbsvcs/tests/Notify/MT_Dispatching/Makefile.am:
* orbsvcs/tests/Notify/Ordering/Makefile.am:
* orbsvcs/tests/Notify/PluggableTopology/Makefile.am:
* orbsvcs/tests/Notify/RT_lib/Makefile.am:
* orbsvcs/tests/Notify/Reconnecting/Makefile.am:
* orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Makefile.am:
* orbsvcs/tests/Notify/Sequence_Multi_Filter/Makefile.am:
* orbsvcs/tests/Notify/Structured_Filter/Makefile.am:
* orbsvcs/tests/Notify/Structured_Multi_Filter/Makefile.am:
* orbsvcs/tests/Notify/Test_Filter/Makefile.am:
* orbsvcs/tests/Notify/XML_Persistence/Makefile.am:
* orbsvcs/tests/Notify/lib/Makefile.am:
* orbsvcs/tests/Notify/performance-tests/Makefile.am:
* orbsvcs/tests/Notify/performance-tests/Filter/Makefile.am:
* orbsvcs/tests/Notify/performance-tests/RedGreen/Makefile.am:
* orbsvcs/tests/Notify/performance-tests/Throughput/Makefile.am:
* orbsvcs/tests/Property/Makefile.am:
* orbsvcs/tests/Redundant_Naming/Makefile.am:
* orbsvcs/tests/Sched/Makefile.am:
* orbsvcs/tests/Sched_Conf/Makefile.am:
* orbsvcs/tests/Security/Makefile.am:
* orbsvcs/tests/Security/BiDirectional/Makefile.am:
* orbsvcs/tests/Security/Big_Request/Makefile.am:
* orbsvcs/tests/Security/Callback/Makefile.am:
* orbsvcs/tests/Security/Crash_Test/Makefile.am:
* orbsvcs/tests/Security/MT_IIOP_SSL/Makefile.am:
* orbsvcs/tests/Security/MT_SSLIOP/Makefile.am:
* orbsvcs/tests/Security/Secure_Invocation/Makefile.am:
* orbsvcs/tests/Security/ssliop_corbaloc/Makefile.am:
* orbsvcs/tests/Simple_Naming/Makefile.am:
* orbsvcs/tests/Time/Makefile.am:
* orbsvcs/tests/Trading/Makefile.am:
* orbsvcs/tests/ior_corbaname/Makefile.am:
* orbsvcs/tests/tests_svc_loader/Makefile.am:
* performance-tests/Makefile.am:
* performance-tests/Anyop/Makefile.am:
* performance-tests/CSD_Strategy/Makefile.am:
* performance-tests/CSD_Strategy/TestApps/Makefile.am:
* performance-tests/CSD_Strategy/TestInf/Makefile.am:
* performance-tests/CSD_Strategy/TestServant/Makefile.am:
* performance-tests/Callback/Makefile.am:
* performance-tests/Cubit/Makefile.am:
* performance-tests/Cubit/TAO/Makefile.am:
* performance-tests/Cubit/TAO/DII_Cubit/Makefile.am:
* performance-tests/Cubit/TAO/IDL_Cubit/Makefile.am:
* performance-tests/Cubit/TAO/MT_Cubit/Makefile.am:
* performance-tests/Latency/Makefile.am:
* performance-tests/Latency/AMH_Single_Threaded/Makefile.am:
* performance-tests/Latency/AMI/Makefile.am:
* performance-tests/Latency/Collocation/Makefile.am:
* performance-tests/Latency/DII/Makefile.am:
* performance-tests/Latency/DSI/Makefile.am:
* performance-tests/Latency/Deferred/Makefile.am:
* performance-tests/Latency/Single_Threaded/Makefile.am:
* performance-tests/Latency/Thread_Per_Connection/Makefile.am:
* performance-tests/Latency/Thread_Pool/Makefile.am:
* performance-tests/Memory/Makefile.am:
* performance-tests/Memory/IORsize/Makefile.am:
* performance-tests/Memory/Single_Threaded/Makefile.am:
* performance-tests/POA/Makefile.am:
* performance-tests/POA/Create_Reference/Makefile.am:
* performance-tests/POA/Demux/Makefile.am:
* performance-tests/POA/Implicit_Activation/Makefile.am:
* performance-tests/POA/Object_Creation_And_Registration/Makefile.am:
* performance-tests/Pluggable/Makefile.am:
* performance-tests/Protocols/Makefile.am:
* performance-tests/RTCorba/Makefile.am:
* performance-tests/RTCorba/Multiple_Endpoints/Makefile.am:
* performance-tests/RTCorba/Multiple_Endpoints/Common/Makefile.am:
* performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Makefile.am:
* performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/Makefile.am:
* performance-tests/RTCorba/Oneways/Makefile.am:
* performance-tests/RTCorba/Oneways/Reliable/Makefile.am:
* performance-tests/RTCorba/Thread_Pool/Makefile.am:
* performance-tests/Sequence_Latency/Makefile.am:
* performance-tests/Sequence_Latency/AMH_Single_Threaded/Makefile.am:
* performance-tests/Sequence_Latency/AMI/Makefile.am:
* performance-tests/Sequence_Latency/DII/Makefile.am:
* performance-tests/Sequence_Latency/DSI/Makefile.am:
* performance-tests/Sequence_Latency/Deferred/Makefile.am:
* performance-tests/Sequence_Latency/Single_Threaded/Makefile.am:
* performance-tests/Sequence_Latency/Thread_Per_Connection/Makefile.am:
* performance-tests/Sequence_Latency/Thread_Pool/Makefile.am:
* performance-tests/Throughput/Makefile.am:
* tao/Makefile.am:
* utils/Makefile.am:
* utils/catior/Makefile.am:
* utils/nslist/Makefile.am:
Regenerate with latest MPC and *.mpc/*.mpb changes.
Fri Apr 21 09:25:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Transport_Connector.cpp:
Removed the fix for bug 2417, according to the test stats things
didn't got fixed.
Fri Apr 21 08:18:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/String_Traits_Base_T.h:
Disabled the warning when wchar_t is not a native type. This
makes the vxworks logs unreadable.
Fri Apr 21 08:11:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/tests/Trading/TTest.idl:
Use the CORBA predefined sequence types
Fri Apr 21 07:38:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/IFRService/IFR_BaseS.cpp:
* orbsvcs/orbsvcs/IFRService/IFR_BasicS.cpp:
* orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.cpp:
* orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.cpp:
* orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp:
* orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.inl:
* orbsvcs/orbsvcs/Notify/ETCL_Filter.h:
* orbsvcs/orbsvcs/Notify/EventTypeSeq.cpp:
* examples/Kokyu_dsrt_schedulers/FP_Scheduler.cpp:
* examples/Kokyu_dsrt_schedulers/MIF_Scheduler.cpp:
* examples/Kokyu_dsrt_schedulers/MUF_Scheduler.cpp:
* tests/Smart_Proxies/Collocation/Smart_Proxy_Impl.cpp:
Removed usage of ACE_NESTED_CLASS
Thu Apr 20 14:41:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/extra_core.mpb:
* tao/tao.mpc:
Moved ServicesC.cpp to tao.mpc
Thu Apr 20 14:24:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Bounded_Sequence_CDR_T.h:
* tao/Unbounded_Sequence_CDR_T.h:
Include orbconf.h instead of one of the sequence header files
Thu Apr 20 13:37:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Asynch_Reply_Dispatcher_Base.{h,cpp}:
* tao/ObjectKey_Table.cpp:
* tao/Refcounted_ObjectKey.{h,cpp,inl}:
Made the refcounts CORBA::ULong and only return the refcount
from the incr/decr methods when really needed, using the refcount
form external is always tricky. Fixes bugzilla bug 2505.
Thu Apr 20 12:28:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
Integrated ondemand branch to cvs head. This makes an ondemand write
possible. The user specified maximum is at this moment not a hard
maximum, it is more an indication how large the GIOP fragments
should become, we can send out smaller and larger fragments if needed.
* tao/tests/Ondemand_Write/*:
New test
Mon Apr 3 12:30:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/On_Demand_Fragmentation_Strategy.cpp:
Print the debug message after we padded it so that sizes do match
in the logs
* tao/GIOP_Message_Base.cpp:
For fragments also retrieve the request/reply id
* tests/Ondemand_Write:
Simple test for ondemand write, needs now inspection of output to
check if things work ok
Mon Apr 3 07:19:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/CDR.h:
Commented out write_octet_array decleration, there is no
implementation yet.
Thu Mar 30 13:02:18 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
* orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp:
Added the missing transport parameter to the TAO_GIOP_Message_Base
constructor.
Thu Mar 30 12:41:17 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
* tao/CDR.cpp:
* tao/On_Demand_Fragmentation_Strategy.cpp:
Fixed checks for return values.
Wed Mar 22 20:13:22 UTC 2006 Ossama Othman <ossama@dre.vanderbilt.edu>
* tao/Messaging/Asynch_Invocation.cpp (remote_invocation):
Added missing GIOP fragmentation support.
Wed Mar 22 13:53:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/ORB_Core.h:
Fixed warning of the Intel compiler
Wed Mar 22 01:33:47 UTC 2006 Ossama Othman <ossama@dre.vanderbilt.edu>
* tao/CDR.cpp:
* tao/CDR.h:
* tao/CDR.i:
* tao/GIOP_Message_Base.cpp:
* tao/GIOP_Message_Base.h:
* tao/GIOP_Message_Generator_Parser.h:
* tao/GIOP_Message_Generator_Parser_10.cpp:
* tao/GIOP_Message_Generator_Parser_10.h:
* tao/GIOP_Message_Generator_Parser_12.cpp:
* tao/GIOP_Message_Generator_Parser_12.h:
* tao/GIOP_Message_Lite.cpp:
* tao/GIOP_Message_Lite.h:
* tao/ORB_Core.cpp:
* tao/On_Demand_Fragmentation_Strategy.cpp:
* tao/Pluggable_Messaging.h:
* tao/Remote_Invocation.cpp:
* tao/Synch_Invocation.cpp:
* tao/TAO_Server_Request.cpp:
* tao/default_resource.cpp:
* tao/PortableServer/Upcall_Wrapper.cpp:
Added remaining code necessary to send fragments through the
underlying transport.
Added missing outgoing GIOP reply fragment support.
Tue Mar 21 22:18:45 UTC 2006 Ossama Othman <ossama@dre.vanderbilt.edu>
* docs/Options.html:
Document new "-ORBMaxMessageSize" ORB option.
Tue Mar 21 15:16:43 UTC 2006 Ossama Othman <ossama@dre.vanderbilt.edu>
* tao/GIOP_Message_Base.cpp (set_giop_flags):
Cast CDR stream buffer to an array of octets.
* tao/GIOP_Message_Base.h (set_giop_flags):
Added missing method declaration.
* tao/Resource_Factory.h (fragmentation_strategy):
* tao/default_resource.cpp:
* tao/default_resource.h:
Made factory method name consistent with existing naming
convention, i.e. create_fragmentation_strategy().
Corrected return value. It should have been
auto_ptr<TAO_GIOP_Fragmentation_Strategy>, not
TAO_GIOP_Fragmentation_Strategy *.
* tao/IIOP_Transport.cpp:
* tao/Strategies/DIOP_Transport.cpp:
* tao/Strategies/SCIOP_Transport.cpp:
* tao/Strategies/SHMIOP_Transport.cpp:
* tao/Strategies/UIOP_Transport.cpp:
* orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.cpp:
* orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp:
The TAO_GIOP_Message_Base constructor now accepts a pointer to
TAO_Transport parameter. Updated constructor call accordingly.
* tao/CDR.h:
* tao/CDR.i:
* tao/CDR.cpp:
Added missing fragmentation-enabling constructor and
fragmentation flag accessors.
Removed legacy initial implementa code. Addresses build
errors.
* tao/GIOP_Fragmentation_Strategy.h (TAO_GIOP_Fragmentation_Strategy):
Export to allow users to provide their own implementation
through the resource factory.
(fragment):
Return an "int" instead of "void". Allows the error status of
the underlying transport send to be propagated up the stack.
* tao/Null_Fragmentation_Strategy.h (fragment):
* tao/Null_Fragmentation_Strategy.cpp (fragment):
* tao/On_Demand_Fragmentation_Strategy.h (fragment):
* tao/On_Demand_Fragmentation_Strategy.cpp (fragment):
Likewise.
* tao/operation_details.cpp (marshal_args):
Mark the CDR as having no other fragments to send after all
arguments have been marshaled, not before the last one is
marshaled.
* ORB_Core.h (fragmentation_Strategy):
Added missing transport parameter.
Removed const qualifier. The resource_factory() accessor isn't
a const method.
* ORB_Core.cpp (fragmentation_strategy):
Likewise.
* params.h:
* params.i:
* params.cpp:
Added missing max_message_size attribute.
Fri Mar 17 10:59:02 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Resource_Factory.h:
Added missing include of Basic_Types and added forward declarations
* tao/On_Demand_Fragmentation_Strategy.h:
Fixed copy constructor/assignment operators
* tao/CDR.h:
Removed do_fragmentation method, there is no implementation, added
fragment_stream
* tao/CDR.i:
Fixed typo
* tao/default_resource.cpp:
Added missing includes and updated signature of
create_fragmentation_strategy to match header file
Fri Mar 17 07:48:02 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
Updated code after update from Ossama Othman
* tao/On_Demand_Fragmentation_Strategy.{h,cpp}:
New files
* tao/default_resource.{h,cpp}:
Added create_fragmentation_strategy
* tao/GIOP_Fragmentation_Strategy.h:
Doxygen improvements
* tao/Resource_Factory.h:
Added pure virtual fragmentation_strategy method
* tao/ORB_Core.{h,cpp}:
Added fragmentation_strategy accessor method
* tao/GIOP_Message_Base.{h,cpp}:
Added TAO_Transport to the constructor arguments
* tao/GIOP_Message_Base.cpp:
Added come comments
* tao/True_Fragmentation_Strategy.{h,cpp}:
Removed again, replaced by On_Demand so far as I can tell
* tao/tao.mpc:
Added new files
Thu Mar 16 07:48:02 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
Integrated first set of code from Ossama Othman
* tao/GIOP_Fragmentation_Strategy.{h,cpp}:
* tao/Null_Fragmentation_Strategy.{h,cpp}:
* tao/True_Fragmentation_Strategy.{h,cpp}:
New files
* tao/operation_details.cpp:
When marshaling the last argument put this information on the
cdr_stream
* tao/GIOP_Message_Base.cpp:
Some refactoring
* tao/CDR.{h,cpp,i}:
Call fragment_stream as part of the streaming calls
Thu Apr 20 11:50:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/sfp.idl:
Use CORBA::OctetSeq and CORBA::ULongSeq
* tao/Strategies/SCIOP_Profile.cpp:
Fixed compile error
Thu Apr 20 08:32:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/examples/FaultTolerance/RolyPoly/ReplicaController.cpp:
Fixed compile error
Thu Apr 20 07:15:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/SSLIOP/ssl_endpointsC.h:
Fixed template instantiation
Wed Apr 19 18:24:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/UShortSeqC.h:
* tao/OctetSeqC.h:
Do an explicit export of the base template
Wed Apr 19 16:01:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Messaging/ExceptionHolderC.{h,cpp}:
Added constructor that accepts all values as generated now by the
IDL compiler
* tao/Messaging/ExceptionHolder_i.cpp:
Use the new constructor
Wed Apr 19 14:19:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Exception.h:
Made the copy constructor public again, vc7.1 complains when
it is protected. Made a todo in this file again, have to retest
this later.
Wed Apr 19 13:28:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirer.cpp:
* examples/Advanced/ch_12/icp.cpp:
* examples/Advanced/ch_21/icp.cpp:
* examples/Advanced/ch_18/icp.cpp:
* examples/Advanced/ch_8_and_10/icp.cpp:
* orbsvcs/orbsvcs/SSLIOP/params_dup.h:
Removed workarounds for vc6
Wed Apr 19 13:16:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Valuetype/AbstractBase.cpp:
Use true/false, const improvements
* tao/Valuetype/AbstractBase.cpp:
Use C++ cast instead of C cast
Wed Apr 19 13:03:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/AnyTypeCode/Any_Unknown_IDL_Type.h:
Removed not needed forward declarations
* tao/AnyTypeCode/Any.cpp:
* tao/AnyTypeCode/Any_Impl.cpp:
* tao/BiDir_GIOP/BiDirPolicy_Validator.cpp:
Use false/true instead of 0/1 for bool
* tao/PortableServer/Object_Adapter.h:
Don't export poa_name_iterator and iteratable_poa_name
* tao/PortableServer/Object_Adapter.cpp:
Use true/false and when the object adapter can't be found
throw a OBJECT_NOT_EXIST with minor code 2
Wed Apr 19 12:56:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Transport_Timer.h:
No need to export this class from the TAO lib
* tao/ORB.h:
Use false for the default of the shutdown method
Wed Apr 19 12:51:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* examples/RTScheduling/MIF_Scheduler/MIF_Scheduler.mpc:
* examples/RTScheduling/Fixed_Priority_Scheduler/Fixed_Priority_Scheduler.mpc:
Made these projects dependent on each other to make sure
that they don't build in parallel and generate the same idl
file twice at the same moment. Thanks to Chad Elliot for the
info how to do this the easiest
Wed Apr 19 12:42:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* TAO_IDL/be/be_visitor_interface/tie_sh.cpp:
Generate doxygen documentation style and use true instead of 1
* TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp:
Generate true for boolean instead of 1
* TAO_IDL/be/be_visitor_valuetype/field_ch.cpp:
Generate also argument names in the header file so that doxygen
can parse IDL generated code
Wed Apr 19 12:38:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.{h,cpp,i}:
* orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.{h,i}:
Use bool and prefix increment/decrement
Wed Apr 19 11:58:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/Big_Oneways/run_test.pl:
* tests/Hello/run_test.pl:
* performance-tests/Throughput/run_test.pl:
Check the return value of spawn, speedsup the builds when no
executable is build
* performance-tests/Throughput/Receiver.cpp:
Prefix increment
* performance-tests/Throughput/Receiver_Factory.cpp:
Initialise pointer with 0
* performance-tests/Throughput/Throughput.mpc:
Simplified
Wed Apr 19 11:39:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
Integrated iioptbranch. This fixes bugzilla 2467
* tao/RTPortableServer/RT_Servant_Dispatcher.cpp:
No need to include IIOP files, just use the base classes
Wed Mar 29 08:01:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/default_resource.cpp
* tao/IIOP_Acceptor.cpp
* tao/IIOP_Acceptor.h
* tao/IIOP_Acceptor.i
* tao/IIOP_Connection_Handler.cpp
* tao/IIOP_Connection_Handler.h
* tao/IIOP_Connector.cpp
* tao/IIOP_Connector.h
* tao/IIOP_Endpoint.cpp
* tao/IIOP_Endpoint.h
* tao/IIOP_Endpoint.i
* tao/IIOP_Factory.cpp
* tao/IIOP_Factory.h
* tao/IIOP_Lite_Factory.cpp
* tao/IIOP_Lite_Factory.h
* tao/IIOP_Profile.cpp
* tao/IIOP_Profile.h
* tao/IIOP_Transport.cpp
* tao/IIOP_Transport.h
* tao/orbconf.h
* tao/TAO_Internal.cpp
Added TAO_HAS_IIOP. This is default set to 1 but can be overridden
in the config.h file to 0 meaning we don't support IIOP. This is
usefull for embedded systems that support one of the other
pluggable protocols and don't need IIOP support at all. With
TAO_HAS_IIOP set to 0 not everything will compile, just the
core libs itself.
Wed Apr 19 07:48:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
Integrated sequpdate3 branch. Thanks to Carlos O'Ryan for the initial
work for this new sequence implementation which I merged to cvs head
and finished
This fixes the following bugzilla entries:
2492 - Simplify TAO_Seq_Out_T
2493 - Simplify _reset method on union generated code
2352 - Valuefactory operations not safe
2353 - Valuefactories stored per process instead of per orb
2349 - ORB::destroy() should throw BAD_INV_ORDER if called during a
2315 - Reimplement (w)string_var/_out as templates
1989 - Footprint reduction issue, split Sequence files
2273 - Deprecate old AMI support
2300 - Simplify serialize/deserialize of sequences
2299 - Reimplement string/wstring managers as templates
1936 - Unnecessary usage of virtual functions in sequence implementation
1673 - operator[] of sequence<string> returns TAO_SeqElem_String_Manager
instead of TAO_String_Manager. Thanks to Mark Paulus <mark dot paulus
at mci dot com> for reporting this one.
1930 - Assignment operator for sequences is not exception safe.
1931 - The length() member function for sequences is not exception-safe.
1933 - Incomplete implementation of freebuf() for reference types.
1934 - const version of operator[] for string sequences allows assignment
1938 - Possible incorrect duplication in sequences of references
1928 - Assignment from T_mgr to sequence elements does not duplicate
2417 - Double delete on Transport when using oneways with sync_none
Thanks to Jan Ohlenburg <jan dot ohlenburg at fit dot fraunhofer dot de>
for reporting this.
2355 - oneway op. with timeout crashes client due to server termination
Thans to Jan Zima <jan dot zima at sofis dot cz> for reporting this.
Also did several const changes throughout the code
Fri Apr 7 08:03:12 UTC 2006 Kees van Marle <kvmarle@remedy.nl>
* tao/Valuetype_Adapter_Factory.{h,cpp}:
New files, value type adapter factory
* tao/tao.mpc:
Added new files
* tao/Valuetype/Valuetype_Adapter_Factory_Impl.h:
Value type adapter factory implementation
* tao/Valuetype/ValueFactory_Map.{h,cpp}:
Map isn't a singleton anymore and guard access with a mutex
* tao/Valuetype/Valuetype_Adapter_Impl.{h,cpp}:
The value type adapter isn't loaded with service configurator
anymore, the value type factory is now the one we load on demand
* tao/ORB.cpp:
Updated the value type methods to use the new ORB_Core method
to get the valuetype adapter, is the ORB_Core can't get the
adapter it will throw already the internal exception
* tao/ORB_Core.{h,cpp,i}:
Get the value type adapter factory with svc conf instead of the
adapter itself. Create a unique instance per orb.
* tao/AnyTypeCode/Any_Unknown_IDL_Type.cpp:
* tao/AnyTypeCode/append.cpp:
* tao/AnyTypeCode/skip.cpp:
Changed the way we get the valuetype adapter
Store the value type factories per orb and made things thread safe.
This fixes bugzilla bugs 2352 and 23253.
Thu Apr 6 09:17:25 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Transport_Connector.cpp:
Applied fix of bug 2417, let us see what the results are in the
branch build
Thu Apr 6 09:08:25 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* examples/POA/FindPOA/FindPOA.cpp:
* tests/Bug_2349_Regression/client.cpp:
* tests/Bug_2349_Regression/foo.idl:
* tests/Bug_2349_Regression/server.cpp:
Improved tests
* tao/Adapter_Registry.{h,cpp}:
Remove the empty throw spec for close and check_close. This way
exceptions from lower layers are propagated up.
* tao/ORB_Core.{h,cpp}:
Removed empty throw spec from shutdown, if there are exceptions from
a lower layer and as a result we can't shutdown, let the user be
aware of it. This fixes bugzilla bug 2349
Mon Apr 3 07:59:25 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* TAO/IDL/be/be_visitor_union/discriminant_ci.cpp
* TAO/IDL/be/be_visitor_union/union_ch.cpp
* TAO/IDL/be/be_visitor_union/union_cs.cpp
* TAO/IDL/be/be_visitor_union_branch/public_ci.cpp
* tao/GIOPC.{h,cpp,inl}:
Removed arguments from the _reset method on the union generated,
these are not used.
Sun Apr 2 18:56:25 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* TAO_IDL/be/be_visitor_exception/exception_ch.cpp
* TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp
* TAO_IDL/be/be_visitor_valuebox/valuebox_ch.cpp
* tao/BooleanSeqC.h
* tao/CONV_FRAMEC.h
* tao/CharSeqC.h
* tao/DomainC.h
* tao/DoubleSeqC.h
* tao/FloatSeqC.h
* tao/IIOPC.h
* tao/IIOP_EndpointsC.h
* tao/IOP_IORC.h
* tao/LongDoubleSeqC.h
* tao/LongLongSeqC.h
* tao/LongSeqC.h
* tao/Messaging_PolicyValueC.h
* tao/ORB.h
* tao/ObjectIdListC.h
* tao/Object_KeyC.h
* tao/OctetSeqC.h
* tao/Policy_ForwardC.h
* tao/Seq_Out_T.h
* tao/Seq_Out_T.inl
* tao/ServicesC.h
* tao/ShortSeqC.h
* tao/StringSeqC.h
* tao/ULongLongSeqC.h
* tao/ULongSeqC.h
* tao/UShortSeqC.h
* tao/WCharSeqC.h
* tao/WStringSeqC.h
* tao/AnyTypeCode/AnySeqC.h
* tao/AnyTypeCode/DynamicC.h
* tao/DynamicAny/DynamicAnyC.h
* tao/IFR_Client/IFR_BaseC.h
* tao/IFR_Client/IFR_BasicC.h
* tao/IFR_Client/IFR_ComponentsC.h
* tao/IFR_Client/IFR_ExtendedC.h
* tao/IORManipulation/IORC.h
* tao/ImR_Client/ImplRepoC.h
* tao/ObjRefTemplate/ObjectReferenceTemplateC.h
* tao/PortableServer/PortableServerC.h
* tao/RTCORBA/RTCORBAC.h
* tao/RTScheduling/RTSchedulerC.h
* tao/Strategies/sciop_endpointsC.h
* tao/Strategies/uiop_endpointsC.h
Simplified TAO_Seq_Out_T to just use one template argument. Updated
the IDL compiler for this. Also use false for the release argument
of generated sequence constructors and add an argument to
_tao_encode/_tao_decode when generated in a header file to help
doxygen.
* TAO_Objref_Out_T.{h,inl}:
Assinging _var to _out is not allowed according to the spec
* tao/Messaging/*:
Removed old AMI mapping. Fixes partly bugzilla bug 2273, need to
update the IDL compiler yet
* tao/Exception.h:
Moved constructors, assignment operator and copy constructor to
protected now vc6 has been dropped. Also moved
create_system_exception from TAO_Exceptions class to TAO namespace
* tao/Messaging/Messaging.cpp:
* tao/Sync_Invocation.cpp:
* tao/SystemException.cpp:
Updated because of the create_system_exception move
* tao/String_Manager_T.h:
Renamed String_Manager to String_Manager_T, this way we can have
TAO::String_Manager and TAO::WString_Manager. These replace
TAO_String_Manager and TAO_WString_Manager
* CIAO/tools/Config_Handlers/DnC_Dump.cpp
* CIAO/tools/Config_Handlers/DnC_Dump.h
* TAO_IDL/be/be_visitor_array/array.cpp
* TAO_IDL/be/be_visitor_field/field_ch.cpp
* orbsvcs/PSS/PSDL_Exception_Visitor.cpp
* orbsvcs/PSS/PSDL_Node.h
* orbsvcs/PSS/PSDL_Struct_Visitor.cpp
* orbsvcs/orbsvcs/HTIOP/htiop_endpointsC.h
* orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor_T.h
* orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor_T.i
* orbsvcs/orbsvcs/Notify/ETCL_Filter.cpp
* orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h
* orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp
* orbsvcs/orbsvcs/Trader/Constraint_Nodes.h
* tao/CORBA_String.h
* tao/IIOPC.h
* tao/IIOP_EndpointsC.h
* tao/IOP_IORC.h
* tao/String_Manager_T.h
* tao/String_Traits_Base_T.h
* tao/Tagged_Profile.h
* tao/DynamicAny/DynamicAnyC.h
* tao/IFR_Client/IFR_BaseC.h
* tao/IFR_Client/IFR_BasicC.h
* tao/IFR_Client/IFR_ComponentsC.h
* tao/IFR_Client/IFR_ExtendedC.h
* tao/ImR_Client/ImplRepoC.h
* tao/PI/ORBInitInfoC.h
* tao/Strategies/sciop_endpointsC.h
* tao/Strategies/uiop_endpointsC.h
Updated all these files because of TAO::String_Manager and
TAO::WString_Manager introduction
* tests/Sequence_Unit_Tests/mock_reference.cpp:
* tests/Sequence_Unit_Tests/mock_reference.hpp:
Added counter to count number of marshal calls
* tests/Sequence_Unit_Tests/bounded_sequence_cdr_ut.cpp:
* tests/Sequence_Unit_Tests/unbounded_sequence_cdr_ut.cpp:
Check the right counter, should be marshal.
* tao/PI/ClientRequestDetails.cpp:
* tao/PI_Server/ServerRequestDetails.cpp:
Added missing duplicate call
* TAO_IDL/be/be_interface.cpp
* TAO_IDL/be/be_visitor_component/component_cs.cpp
* TAO_IDL/be/be_visitor_interface/interface_cs.cpp
* TAO_IDL/be/be_visitor_interface/tie_si.cpp
* TAO_IDL/be/be_visitor_root/root.cpp
* tao/CurrentC.cpp
* tao/DomainC.cpp
* tao/ORB_Core.cpp
* tao/Object.cpp
* tao/Object_Ref_Table.cpp
* tao/PolicyC.cpp
* tao/Pseudo_VarOut_T.cpp
* tao/Pseudo_VarOut_T.inl
* tao/TAOC.cpp
* tao/AnyTypeCode/Any_Array_Impl_T.cpp
* tao/AnyTypeCode/Any_Basic_Impl.cpp
* tao/AnyTypeCode/Any_Basic_Impl_T.cpp
* tao/AnyTypeCode/Any_Dual_Impl_T.cpp
* tao/AnyTypeCode/Any_Impl.cpp
* tao/AnyTypeCode/Any_Impl_T.cpp
* tao/AnyTypeCode/Any_Special_Impl_T.cpp
* tao/AnyTypeCode/Any_Unknown_IDL_Type.cpp
* tao/AnyTypeCode/TypeCode.cpp
* tao/AnyTypeCode/TypeCode.inl
* tao/BiDir_GIOP/BiDirPolicyC.cpp
* tao/CSD_Framework/CSD_Default_Servant_Dispatcher.cpp
* tao/CSD_Framework/CSD_FrameworkC.cpp
* tao/CSD_Framework/CSD_POA.cpp
* tao/CodecFactory/IOP_CodecC.cpp
* tao/DynamicAny/DynamicAnyC.cpp
* tao/DynamicInterface/Dynamic_Implementation.cpp
* tao/DynamicInterface/ExceptionList.cpp
* tao/DynamicInterface/Request.cpp
* tao/DynamicInterface/Server_Request.cpp
* tao/IFR_Client/IFR_BaseC.cpp
* tao/IFR_Client/IFR_BasicC.cpp
* tao/IFR_Client/IFR_Client_Adapter_Impl.cpp
* tao/IFR_Client/IFR_ComponentsC.cpp
* tao/IFR_Client/IFR_ExtendedC.cpp
* tao/IORInterceptor/IORInfoC.cpp
* tao/IORInterceptor/IORInterceptorC.cpp
* tao/IORManipulation/IORC.cpp
* tao/IORManipulation/IORManipulation.cpp
* tao/IORTable/IORTableC.cpp
* tao/IORTable/Table_Adapter.cpp
* tao/ImR_Client/ImplRepoC.cpp
* tao/ImR_Client/ServerObjectC.cpp
* tao/Messaging/MessagingC.cpp
* tao/Messaging/Messaging_No_ImplC.cpp
* tao/Messaging/Messaging_RT_PolicyC.cpp
* tao/Messaging/Messaging_SyncScope_PolicyC.cpp
* tao/Messaging/PollableC.cpp
* tao/Messaging/TAO_ExtC.cpp
* tao/PI/ClientRequestInfoC.cpp
* tao/PI/ClientRequestInterceptorC.cpp
* tao/PI/InterceptorC.cpp
* tao/PI/ORBInitInfo.cpp
* tao/PI/ORBInitInfoC.cpp
* tao/PI/ORBInitializerC.cpp
* tao/PI/PICurrentC.cpp
* tao/PI/PolicyFactoryC.cpp
* tao/PI/PolicyFactory_Registry.cpp
* tao/PI/ProcessingModePolicyC.cpp
* tao/PI/RequestInfoC.cpp
* tao/PI_Server/ServerRequestInfoC.cpp
* tao/PI_Server/ServerRequestInterceptorC.cpp
* tao/PortableServer/AdapterActivatorC.cpp
* tao/PortableServer/IdAssignmentPolicyC.cpp
* tao/PortableServer/IdUniquenessPolicyC.cpp
* tao/PortableServer/ImplicitActivationPolicyC.cpp
* tao/PortableServer/LifespanPolicyC.cpp
* tao/PortableServer/Object_Adapter.cpp
* tao/PortableServer/POAManager.cpp
* tao/PortableServer/POAManagerC.cpp
* tao/PortableServer/PS_CurrentC.cpp
* tao/PortableServer/PortableServerC.cpp
* tao/PortableServer/RequestProcessingPolicyC.cpp
* tao/PortableServer/Root_POA.cpp
* tao/PortableServer/ServantActivatorC.cpp
* tao/PortableServer/ServantLocatorC.cpp
* tao/PortableServer/ServantManagerC.cpp
* tao/PortableServer/ServantRetentionPolicyC.cpp
* tao/PortableServer/ThreadPolicyC.cpp
* tao/RTCORBA/RTCORBAC.cpp
* tao/RTPortableServer/RTPortableServerC.cpp
* tao/RTScheduling/Current.cpp
* tao/RTScheduling/RTSchedulerC.cpp
* tao/TypeCodeFactory/TypeCodeFactoryC.cpp
* tao/Utils/Server_Main.cpp
* tao/Valuetype/AbstractBase.cpp:
Use :: before ::CORBA
* TAO_IDL/be/be_interface.cpp
* tao/DomainC.cpp
* tao/DomainC.inl
* tao/GIOPC.h
* tao/PolicyC.cpp
* tao/PolicyC.h
* tao/PolicyC.inl
* tao/WrongTransactionC.cpp
* tao/AnyTypeCode/Alias_TypeCode.inl
* tao/AnyTypeCode/Alias_TypeCode_Static.inl
* tao/AnyTypeCode/BoundsC.cpp
* tao/AnyTypeCode/Empty_Param_TypeCode.inl
* tao/AnyTypeCode/Enum_TypeCode.inl
* tao/AnyTypeCode/Enum_TypeCode_Static.inl
* tao/AnyTypeCode/Fixed_TypeCode.inl
* tao/AnyTypeCode/Objref_TypeCode.inl
* tao/AnyTypeCode/Objref_TypeCode_Static.inl
* tao/AnyTypeCode/Recursive_Type_TypeCode.cpp
* tao/AnyTypeCode/Sequence_TypeCode.inl
* tao/AnyTypeCode/Sequence_TypeCode_Static.inl
* tao/AnyTypeCode/String_TypeCode.inl
* tao/AnyTypeCode/String_TypeCode_Static.inl
* tao/AnyTypeCode/Struct_TypeCode.inl
* tao/AnyTypeCode/Struct_TypeCode_Static.inl
* tao/AnyTypeCode/Union_TypeCode.inl
* tao/AnyTypeCode/Union_TypeCode_Static.inl
* tao/AnyTypeCode/Value_TypeCode.inl
* tao/AnyTypeCode/Value_TypeCode_Static.inl
* tao/BiDir_GIOP/BiDir_Policy_i.cpp
* tao/CodecFactory/IOP_CodecC.cpp
* tao/Domain/DomainS.cpp
* tao/DynamicAny/DynamicAnyC.cpp
* tao/IFR_Client/IFR_BaseC.cpp
* tao/IFR_Client/IFR_BaseC.h
* tao/IFR_Client/IFR_BaseC.inl
* tao/IFR_Client/IFR_BasicC.cpp
* tao/IFR_Client/IFR_BasicC.h
* tao/IFR_Client/IFR_BasicC.inl
* tao/IFR_Client/IFR_ComponentsC.cpp
* tao/IFR_Client/IFR_ComponentsC.inl
* tao/IFR_Client/IFR_ExtendedC.cpp
* tao/IFR_Client/IFR_ExtendedC.h
* tao/IFR_Client/IFR_ExtendedC.inl
* tao/IORManipulation/IORC.cpp
* tao/IORTable/IORTableC.cpp
* tao/ImR_Client/ImplRepoC.cpp
* tao/ImR_Client/ImplRepoC.inl
* tao/ImR_Client/ServerObjectC.cpp
* tao/ImR_Client/ServerObjectC.inl
* tao/Messaging/Connection_Timeout_Policy_i.cpp
* tao/Messaging/MessagingC.cpp
* tao/Messaging/MessagingC.inl
* tao/Messaging/Messaging_Policy_i.cpp
* tao/Messaging/PollableC.cpp
* tao/PI/InvalidSlotC.cpp
* tao/PI/ORBInitInfoC.cpp
* tao/PI/PIForwardRequestC.cpp
* tao/PortableServer/ForwardRequestC.cpp
* tao/PortableServer/POAManagerC.cpp
* tao/PortableServer/PS_CurrentC.cpp
* tao/PortableServer/PortableServerC.cpp
* tao/RTCORBA/RTCORBAC.cpp
* tao/RTCORBA/RT_Policy_i.cpp
* tao/RTScheduling/RTSchedulerC.cpp
* tao/TypeCodeFactory/Recursive_TypeCode.inl
* tao/Valuetype/StringValueC.inl
Removed ACE_NESTED_CLASS
* TAO_IDL/ast/ast_type.cpp
* TAO_IDL/be/be_interface.cpp
* TAO_IDL/be/be_visitor_component/component_ci.cpp
* TAO_IDL/be/be_visitor_component/component_cs.cpp
* TAO_IDL/be/be_visitor_exception/exception_cs.cpp
* TAO_IDL/be/be_visitor_interface/amh_ss.cpp
* TAO_IDL/be/be_visitor_interface/interface_ci.cpp
* TAO_IDL/be/be_visitor_interface/interface_cs.cpp
* TAO_IDL/be/be_visitor_interface/interface_is.cpp
* TAO_IDL/be/be_visitor_operation/ami_cs.cpp
* TAO_IDL/be/be_visitor_operation/operation.cpp
* TAO_IDL/be/be_visitor_valuebox/valuebox_ci.cpp
* TAO_IDL/be/be_visitor_valuetype/marshal_cs.cpp
* TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp
* TAO_IDL/be/be_visitor_valuetype/valuetype_obv_cs.cpp
* TAO_IDL/be/be_visitor_valuetype/valuetype_ss.cpp
Removed generation of ACE_NESTED_CLASS, just use A::B instead
All changes below is the merge of the branch sequenceupdate to
sequpdate2. This is the new sequence implementation for TAO.
* tao/Array_VarOut_T.h:
Only do an empty forward declaration of Array_Traits. This will
make sure that we have to do each specialization explicitly, if
we lack one, we get a compile error instead of this empty default
one.
* tao/Objref_VarOut_T.h:
Only do an empty forward declaration of Objref_Traits. This will
make sure that we have to do each specialization explicitly, if
we lack one, we get a compile error instead of this empty default
one.
* tao/Basic_Types.h:
Updated the string types, these are implemented by a template now.
* tao/BooleanSeqC.{h,cpp}:
* tao/CharSeqC.{h,cpp}:
* tao/CONV_FRAMEC.{h,cpp}:
* tao/CurrentC.{h,cpp}:
* tao/DomainC.{h,cpp}:
* tao/DoubleSeqC.{h,cpp}:
* tao/FloatSeqC.{h,cpp}:
* tao/WStringSeqC.{h,cpp}:
* tao/LongSeqC.{h,cpp}:
* tao/WCharSeqC.{h,cpp}:
* tao/Object_KeyC.{h,cpp}:
* tao/ObjectIdListC.{h,cpp}:
* tao/IIOP_EndpointsC.{h,cpp}:
* tao/LongLongSeqC.{h,cpp}:
* tao/IIOPC.{h,cpp}:
* tao/IOP_IORC.{h,cpp}:
* tao/LongDoubleSeqC.{h,cpp}:
* tao/Messaging_PolicyValueC.{h,cpp}:
* tao/OctetSeqC.{h,cpp}:
* tao/Policy_ForwardC.{h,cpp}:
* tao/PolicyC.{h,cpp}:
* tao/ServicesC.{h,cpp}:
* tao/ShortSeqC.{h,cpp}:
* tao/StringSeqC.{h,cpp}:
* tao/TAOC.{h,cpp}:
* tao/ULongLongSeqC.{h,cpp}:
* tao/ULongSeqC.{h,cpp}:
* tao/UShortSeqC.{h,cpp}:
* tao/AnyTypeCode/AnySeqC.{h,cpp}:
* tao/AnyTypeCode/DynamicC.{h,cpp}:
* tao/DynamicAny/DynamicAnyC.{h,cpp}:
* tao/IFR_Client/IFR_ExtendedC.{h,cpp}:
* tao/IFR_Client/IFR_ComponentsC.{h,cpp}:
* tao/IFR_Client/IFR_BasicC.{h,cpp}:
* tao/IFR_Client/IFR_BaseC.{h,cpp}:
* tao/ImR_Client/ImplRepoC.{h,cpp}:
* tao/IORManipulation/IORC.{h,cpp}:
* tao/ObjRefTemplate/ObjectReferenceTemplateC.{h,cpp}:
* tao/PortableServer/PortableServerC.{h,cpp}:
* tao/RTCORBA/RTCORBAC.{h,cpp}:
* tao/RTScheduling/RTSchedulerC.{h,cpp}:
* tao/Strategies/sciop_endpointsC.{h,cpp}:
* tao/Strategies/uiop_endpointsC.{h,cpp}:
* orbsvcs/orbsvcs/HTIOP/htiop_endpointsC.{h,cpp}:
Updated all these files because of the changes to the sequence
implementation. The base classes are changed including the way we
marshal and demarshal sequences. The argument to the marshal method
is also const.
* tao/Bounded_Array_Allocation_Traits.h:
* tao/Bounded_Reference_Allocation_Traits_T.h:
* tao/Bounded_Value_Allocation_Traits_T.h:
New allocation traits for bounded sequences
* tao/Value_Traits_T.h:
New value traits.
* tao/Bounded_Array_Sequence_T.h:
New template for Bounded Array Sequences
* tao/Bounded_Basic_String_Sequence_T.h:
* tao/Bounded_String_Sequence_T.h:
* tao/Bounded_Wstring_Sequence_T.h:
New template for bounded strings, derived are string and wstring
bounded sequences
* tao/Bounded_Object_Reference_Sequence_T.h:
New template for bounded object reference sequences
New allocation traits for bounded reference
* tao/Bounded_Sequence_CDR_T.h:
Template method for sequence marshal/demarshal
* tao/corba.h:
Updated includes, Managed_Types.h is replaced with
String_Manager_T.h
* tao/CORBA_String.{h,cpp,inl}:
The CORBA::String_var/_out and CORBA::WString_var/_out are now
implemented with the new TAO::String_var/_out template
* tao/Generic_Sequence_T.h:
New generic sequence template
* tao/Managed_Types.{h,cpp,i}:
Removed these files
* tao/MProfile.cpp:
Initialise pointers with 0 and fixed retrieval of a policy
* tao/Object.{h,cpp}:
Made the argument of the marshal method const
* tao/operation_details.i:
Changed the way we reset the service info
* tao/ORB.h:
Updated all typedefs in this file
* tao/Policy_Set.{h,cpp.i}:
Made the get_policy_by_index const and fixed the
set_policy_overrides to work with the new sequences, as a result
the workarounds could be removed
* tao/Sequence_T.{cpp,i}:
Removed these files
* tao/Sequence_T.h:
Include all new sequence template files, makes it easy for old apps
to keep compiling
* tao/String_Alloc.{h,cpp}:
All string allocation methods
* tao/VarOut_T.h:
Removed THIS_OUT_TYPE typedef
* tao/DynamicInterface/Request.h:
Removed include of Sequence.h, not needed
* tao/Profile.h:
Updated typedef for TAO_opaque
* tao/Object_Reference_Sequence_Element_T.h:
* tao/Object_Reference_Traits_Base_T.h:
* tao/Object_Reference_Traits_T.h:
* tao/Range_Checking_T.h:
New files
* tao/Seq_Out_T.{h,inl}:
Removed TAO_MngSeq_Out_T, not needed anymore
* tao/Sequence.{h,cpp,i}:
Removed
* tao/Seq_Var_T.{h,cpp.inl}:
Removed TAO_MngSeq_Var_T, not needed anymore
* tao/String_Manager_T.h:
TAO string manager as template, new file
* tao/String_Sequence_Element_T.h:
Element in a string sequence
* tao/String_Traits_Base_T.h:
* tao/String_Traits_T.h:
String traits
* tao/Unbounded_Array_Allocation_Traits_T.h
* tao/Unbounded_Array_Sequence_T.h
* tao/Unbounded_Basic_String_Sequence_T.h
* tao/Unbounded_Object_Reference_Sequence_T.h
* tao/Unbounded_Octet_Sequence_T.h
* tao/Unbounded_Reference_Allocation_Traits_T.h
* tao/Unbounded_Sequence_CDR_T.h
* tao/Unbounded_String_Sequence_T.h
* tao/Unbounded_Value_Allocation_Traits_T.h
* tao/Unbounded_Value_Sequence_T.h
* tao/Unbounded_Wstring_Sequence_T.h
Unbounded sequence files
* tao/diffs/Object_Key.diff:
Updated
* tao/PI/ClientRequestInfo.cpp:
* tao/PI_Server/ServerRequestInfo.cpp:
Removed temporary object usage
* tao/RTCORBA/RT_Stub.cpp:
* tao/RTScheduling/Request_Interceptor.cpp:
* tao/TypeCodeFactory/TypeCodeFactory_i.cpp:
Updated for the fact that an object sequence now returns a _ptr
on the subscript operators instead of the _var which wasn't
confirming to the CORBA C++ mapping
* tao/RTScheduling/Current.h:
Updated IdType typedef
* tao/Valuetype/Bounded_Valuetype_Allocation_Traits_T.h
* tao/Valuetype/Bounded_Valuetype_Sequence_T.h
* tao/Valuetype/Unbounded_Valuetype_Allocation_Traits_T.h
* tao/Valuetype/Unbounded_Valuetype_Sequence_T.h
* tao/Valuetype/Valuetype_Sequence_Element_T.h
* tao/Valuetype/Valuetype_Traits_Base_T.h
* tao/Valuetype/Valuetype_Traits_T.h
New sequence implementated for valuetypes
* tao/Valuetype/Sequence_T.{cpp,inl}:
Removed
* tao/Valuetype/Sequence_T.h:
Just include the new files, easier for backward compatibility
* tao/Valuetype/Value_VarOut_T.{h,cpp}:
Just define an empty Value_Traits, make sure we get all
specializations
* TAO_IDL/be/be_codegen.cpp:
* TAO_IDL/be/be_sequence.cpp:
* TAO_IDL/be/be_visitor_traits.cpp:
* TAO_IDL/be/be_visitor_array/array_ch.cpp:
* TAO_IDL/be/be_visitor_array/serializer_op_cs.cpp:
* TAO_IDL/be/be_visitor_array/cdr_op_cs.cpp:
* TAO_IDL/be/be_visitor_array/array_cs.cpp:
* TAO_IDL/be/be_visitor_array/array_ci.cpp:
* TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp:
* TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp:
* TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp:
* TAO_IDL/be/be_visitor_typedef/typedef_ci.cpp:
* TAO_IDL/be/be_visitor_valuebox/valuebox_cs.cpp:
* TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp:
* TAO_IDL/be_include/be_visitor_traits.h:
Updated for new sequence implementation
* examples/CSD_Strategy/ThreadPool4/ClientTask.cpp:
* examples/CSD_Strategy/ThreadPool5/ClientTask.cpp:
* examples/Load_Balancing/Identity_Client.cpp:
* examples/Load_Balancing_persistent/Identity_Client.cpp:
* examples/POA/NewPOA/NewPOA.cpp:
* examples/POA/POA_BiDir/POA_BiDir.cpp:
* tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_ClientEngine.cpp:
* tests/DynAny_Test/test_dynsequence.cpp:
* tests/Sequence_Unit_Tests/*:
* tests/ORT/ServerRequestInterceptor.cpp:
* tests/Param_Test/big_union.cpp:
*
tests/Portable_Interceptors/ForwardRequest/Client_ORBInitializer.cpp:
* orbsvcs/IFR_Service/ifr_adding_visitor.cpp:
* orbsvcs/orbsvcs/DsLogAdmin.idl:
* orbsvcs/orbsvcs/AV/AVStreams_i.cpp:
* orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.{cpp,i}:
* orbsvcs/orbsvcs/ETCL/ETCL_Constraint.{h,cpp,i}
* orbsvcs/orbsvcs/IFRService/ComponentContainer_i.cpp
* orbsvcs/orbsvcs/IFRService/ComponentDef_i.cpp
* orbsvcs/orbsvcs/IFRService/Container_i.cpp
* orbsvcs/orbsvcs/IFRService/EnumDef_i.cpp
* orbsvcs/orbsvcs/IFRService/ExtValueDef_i.cpp
* orbsvcs/orbsvcs/IFRService/HomeDef_i.cpp
* orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp
* orbsvcs/orbsvcs/IFRService/InterfaceDef_i.cpp
* orbsvcs/orbsvcs/IFRService/OperationDef_i.cpp
* orbsvcs/orbsvcs/IFRService/ValueDef_i.cpp
* orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.cpp:
* orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.cpp:
* orbsvcs/orbsvcs/Log/Log_i.h:
* orbsvcs/orbsvcs/Property/CosPropertyService_i.h:
* orbsvcs/orbsvcs/Trader/Constraint_Nodes.{h,cpp}
* orbsvcs/tests/AVStreams/Component_Switching/distributer.cpp:
* orbsvcs/tests/AVStreams/Component_Switching/receiver.cpp:
* orbsvcs/tests/AVStreams/Component_Switching/sender.cpp:
* orbsvcs/tests/Bug_1393_Regression/client.cpp:
* orbsvcs/tests/FT_App/FT_Client.cpp:
* orbsvcs/tests/InterfaceRepo/IDL3_Test/idl3_client.cpp:
* orbsvcs/tests/InterfaceRepo/IFR_Test/Admin_Client.cpp:
*
orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.cpp:
* orbsvcs/orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.cpp:
* tests/RTScheduling/Current/Thread_Task.cpp:
* tests/RTScheduling/Thread_Cancel/Thread_Task.cpp:
Updated for sequence implementation
* tests/Sequence_Unit_Tests/*:
Removed files that are now in the core TAO lib
Wed Apr 19 07:48:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/Bug_2503_Regression/*:
New regression for bug 2503. Thanks to Carlos O'Ryan for creating
this test
Tue Apr 18 20:51:48 2006 Wallace Zhang <zhangw@ociweb.com>
* TAO version 1.5.1 released.
Local Variables:
mode: change-log
add-log-time-format: (lambda () (progn (setq tz (getenv "TZ")) (set-time-zone-rule "UTC") (setq time (format-time-string "%a %b %e %H:%M:%S %Z %Y" (current-time))) (set-time-zone-rule tz) time))
indent-tabs-mode: nil
End:
|