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 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 8153 8154 8155 8156 8157 8158 8159 8160 8161 8162 8163 8164 8165 8166 8167 8168 8169 8170 8171 8172 8173 8174 8175 8176 8177 8178 8179 8180 8181 8182 8183 8184 8185 8186 8187 8188 8189 8190 8191 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8203 8204 8205 8206 8207 8208 8209 8210 8211 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 8226 8227 8228 8229 8230 8231 8232 8233 8234 8235 8236 8237 8238 8239 8240 8241 8242 8243 8244 8245 8246 8247 8248 8249 8250 8251 8252 8253 8254 8255 8256 8257 8258 8259 8260 8261 8262 8263 8264 8265 8266 8267 8268 8269 8270 8271 8272 8273 8274 8275 8276 8277 8278 8279 8280 8281 8282 8283 8284 8285 8286 8287 8288 8289 8290 8291 8292 8293 8294 8295 8296 8297 8298 8299 8300 8301 8302 8303 8304 8305 8306 8307 8308 8309 8310 8311 8312 8313 8314 8315 8316 8317 8318 8319 8320 8321 8322 8323 8324 8325 8326 8327 8328 8329 8330 8331 8332 8333 8334 8335 8336 8337 8338 8339 8340 8341 8342 8343 8344 8345 8346 8347 8348 8349 8350 8351 8352 8353 8354 8355 8356 8357 8358 8359 8360 8361 8362 8363 8364 8365 8366 8367 8368 8369 8370 8371 8372 8373 8374 8375 8376 8377 8378 8379 8380 8381 8382 8383 8384 8385 8386 8387 8388 8389 8390 8391 8392 8393 8394 8395 8396 8397 8398 8399 8400 8401 8402 8403 8404 8405 8406 8407 8408 8409 8410 8411 8412 8413 8414 8415 8416 8417 8418 8419 8420 8421 8422 8423 8424 8425 8426 8427 8428 8429 8430 8431 8432 8433 8434 8435 8436 8437 8438 8439 8440 8441 8442 8443 8444 8445 8446 8447 8448 8449 8450 8451 8452 8453 8454 8455 8456 8457 8458 8459 8460 8461 8462 8463 8464 8465 8466 8467 8468 8469 8470 8471 8472 8473 8474 8475 8476 8477 8478 8479 8480 8481 8482 8483 8484 8485 8486 8487 8488 8489 8490 8491 8492 8493 8494 8495 8496 8497 8498 8499 8500 8501 8502 8503 8504 8505 8506 8507 8508 8509 8510 8511 8512 8513 8514 8515 8516 8517 8518 8519 8520 8521 8522 8523 8524 8525 8526 8527 8528 8529 8530 8531 8532 8533 8534 8535 8536 8537 8538 8539 8540 8541 8542 8543 8544 8545 8546 8547 8548 8549 8550 8551 8552 8553 8554 8555 8556 8557 8558 8559 8560 8561 8562 8563 8564 8565 8566 8567 8568 8569 8570 8571 8572 8573 8574 8575 8576 8577 8578 8579 8580 8581 8582 8583 8584 8585 8586 8587 8588 8589 8590 8591 8592 8593 8594 8595 8596 8597 8598 8599 8600 8601 8602 8603 8604 8605 8606 8607 8608 8609 8610 8611 8612 8613 8614 8615 8616 8617 8618 8619 8620 8621 8622 8623 8624 8625 8626 8627 8628 8629 8630 8631 8632 8633 8634 8635 8636 8637 8638 8639 8640 8641 8642 8643 8644 8645 8646 8647 8648 8649 8650 8651 8652 8653 8654 8655 8656 8657 8658 8659 8660 8661 8662 8663 8664 8665 8666 8667 8668 8669 8670 8671 8672 8673 8674 8675 8676 8677 8678 8679 8680 8681 8682 8683 8684 8685 8686 8687 8688 8689 8690 8691 8692 8693 8694 8695 8696 8697 8698 8699 8700 8701 8702 8703 8704 8705 8706 8707 8708 8709 8710 8711 8712 8713 8714 8715 8716 8717 8718 8719 8720 8721 8722 8723 8724 8725 8726 8727 8728 8729 8730 8731 8732 8733 8734 8735 8736 8737 8738 8739 8740 8741 8742 8743 8744 8745 8746 8747 8748 8749 8750 8751 8752 8753 8754 8755 8756 8757 8758 8759 8760 8761 8762 8763 8764 8765 8766 8767 8768 8769 8770 8771 8772 8773 8774 8775 8776 8777 8778 8779 8780 8781 8782 8783 8784 8785 8786 8787 8788 8789 8790 8791 8792 8793 8794 8795 8796 8797 8798 8799 8800 8801 8802 8803 8804 8805 8806 8807 8808 8809 8810 8811 8812 8813 8814 8815 8816 8817 8818 8819 8820 8821 8822 8823 8824 8825 8826 8827 8828 8829 8830 8831 8832 8833 8834 8835 8836 8837 8838 8839 8840 8841 8842 8843 8844 8845 8846 8847 8848 8849 8850 8851 8852 8853 8854 8855 8856 8857 8858 8859 8860 8861 8862 8863 8864 8865 8866 8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 8878 8879 8880 8881 8882 8883 8884 8885 8886 8887 8888 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904 8905 8906 8907 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 8943 8944 8945 8946 8947 8948 8949 8950 8951 8952 8953 8954 8955 8956 8957 8958 8959 8960 8961 8962 8963 8964 8965 8966 8967 8968 8969 8970 8971 8972 8973 8974 8975 8976 8977 8978 8979 8980 8981 8982 8983 8984 8985 8986 8987 8988 8989 8990 8991 8992 8993 8994 8995 8996 8997 8998 8999 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 9023 9024 9025 9026 9027 9028 9029 9030 9031 9032 9033 9034 9035 9036 9037 9038 9039 9040 9041 9042 9043 9044 9045 9046 9047 9048 9049 9050 9051 9052 9053 9054 9055 9056 9057 9058 9059 9060 9061 9062 9063 9064 9065 9066 9067 9068 9069 9070 9071 9072 9073 9074 9075 9076 9077 9078 9079 9080 9081 9082 9083 9084 9085 9086 9087 9088 9089 9090 9091 9092 9093 9094 9095 9096 9097 9098 9099 9100 9101 9102 9103 9104 9105 9106 9107 9108 9109 9110 9111 9112 9113 9114 9115 9116 9117 9118 9119 9120 9121 9122 9123 9124 9125 9126 9127 9128 9129 9130 9131 9132 9133 9134 9135 9136 9137 9138 9139 9140 9141 9142 9143 9144 9145 9146 9147 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 9225 9226 9227 9228 9229 9230 9231 9232 9233 9234 9235 9236 9237 9238 9239 9240 9241 9242 9243 9244 9245 9246 9247 9248 9249 9250 9251 9252 9253 9254 9255 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 9271 9272 9273 9274 9275 9276 9277 9278 9279 9280 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 9340 9341 9342 9343 9344 9345 9346 9347 9348 9349 9350 9351 9352 9353 9354 9355 9356 9357 9358 9359 9360 9361 9362 9363 9364 9365 9366 9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 9386 9387 9388 9389 9390 9391 9392 9393 9394 9395 9396 9397 9398 9399 9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 9421 9422 9423 9424 9425 9426 9427 9428 9429 9430 9431 9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 9445 9446 9447 9448 9449 9450 9451 9452 9453 9454 9455 9456 9457 9458 9459 9460 9461 9462 9463 9464 9465 9466 9467 9468 9469 9470 9471 9472 9473 9474 9475 9476 9477 9478 9479 9480 9481 9482 9483 9484 9485 9486 9487 9488 9489 9490 9491 9492 9493 9494 9495 9496 9497 9498 9499 9500 9501 9502 9503 9504 9505 9506 9507 9508 9509 9510 9511 9512 9513 9514 9515 9516 9517 9518 9519 9520 9521 9522 9523 9524 9525 9526 9527 9528 9529 9530 9531 9532 9533 9534 9535 9536 9537 9538 9539 9540 9541 9542 9543 9544 9545 9546 9547 9548 9549 9550 9551 9552 9553 9554 9555 9556 9557 9558 9559 9560 9561 9562 9563 9564 9565 9566 9567 9568 9569 9570 9571 9572 9573 9574 9575 9576 9577 9578 9579 9580 9581 9582 9583 9584 9585 9586 9587 9588 9589 9590 9591 9592 9593 9594 9595 9596 9597 9598 9599 9600 9601 9602 9603 9604 9605 9606 9607 9608 9609 9610 9611 9612 9613 9614 9615 9616 9617 9618 9619 9620 9621 9622 9623 9624 9625 9626 9627 9628 9629 9630 9631 9632 9633 9634 9635 9636 9637 9638 9639 9640 9641 9642 9643 9644 9645 9646 9647 9648 9649 9650 9651 9652 9653 9654 9655 9656 9657 9658 9659 9660 9661 9662 9663 9664 9665 9666 9667 9668 9669 9670 9671 9672 9673 9674 9675 9676 9677 9678 9679 9680 9681 9682 9683 9684 9685 9686 9687 9688 9689 9690 9691 9692 9693 9694 9695 9696 9697 9698 9699 9700 9701 9702 9703 9704 9705 9706 9707 9708 9709 9710 9711 9712 9713 9714 9715 9716 9717 9718 9719 9720 9721 9722 9723 9724 9725 9726 9727 9728 9729 9730 9731 9732 9733 9734 9735 9736 9737 9738 9739 9740 9741 9742 9743 9744 9745 9746 9747 9748 9749 9750 9751 9752 9753 9754 9755 9756 9757 9758 9759 9760 9761 9762 9763 9764 9765 9766 9767 9768 9769 9770 9771 9772 9773 9774 9775 9776 9777 9778 9779 9780 9781 9782 9783 9784 9785 9786 9787 9788 9789 9790 9791 9792 9793 9794 9795 9796 9797 9798 9799 9800 9801 9802 9803 9804 9805 9806 9807 9808 9809 9810 9811 9812 9813 9814 9815 9816 9817 9818 9819 9820 9821 9822 9823 9824 9825 9826 9827 9828 9829 9830 9831 9832 9833 9834 9835 9836 9837 9838 9839 9840 9841 9842 9843 9844 9845 9846 9847 9848 9849 9850 9851 9852 9853 9854 9855 9856 9857 9858 9859 9860 9861 9862 9863 9864 9865 9866 9867 9868 9869 9870 9871 9872 9873 9874 9875 9876 9877 9878 9879 9880 9881 9882 9883 9884 9885 9886 9887 9888 9889 9890 9891 9892 9893 9894 9895 9896 9897 9898 9899 9900 9901 9902 9903 9904 9905 9906 9907 9908 9909 9910 9911 9912 9913 9914 9915 9916 9917 9918 9919 9920 9921 9922 9923 9924 9925 9926 9927 9928 9929 9930 9931 9932 9933 9934 9935 9936 9937 9938 9939 9940 9941 9942 9943 9944 9945 9946 9947 9948 9949 9950 9951 9952 9953 9954 9955 9956 9957 9958 9959 9960 9961 9962 9963 9964 9965 9966 9967 9968 9969 9970 9971 9972 9973 9974 9975 9976 9977 9978 9979 9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 9995 9996 9997 9998 9999 10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011 10012 10013 10014 10015 10016 10017 10018 10019 10020 10021 10022 10023 10024 10025 10026 10027 10028 10029 10030 10031 10032 10033 10034 10035 10036 10037 10038 10039 10040 10041 10042 10043 10044 10045 10046 10047 10048 10049 10050 10051 10052 10053 10054 10055 10056 10057 10058 10059 10060 10061 10062 10063 10064 10065 10066 10067 10068 10069 10070 10071 10072 10073 10074 10075 10076 10077 10078 10079 10080 10081 10082 10083 10084 10085 10086 10087 10088 10089 10090 10091 10092 10093 10094 10095 10096 10097 10098 10099 10100 10101 10102 10103 10104 10105 10106 10107 10108 10109 10110 10111 10112 10113 10114 10115 10116 10117 10118 10119 10120 10121 10122 10123 10124 10125 10126 10127 10128 10129 10130 10131 10132 10133 10134 10135 10136 10137 10138 10139 10140 10141 10142 10143 10144 10145 10146 10147 10148 10149 10150 10151 10152 10153 10154 10155 10156 10157 10158 10159 10160 10161 10162 10163 10164 10165 10166 10167 10168 10169 10170 10171 10172 10173 10174 10175 10176 10177 10178 10179 10180 10181 10182 10183 10184 10185 10186 10187 10188 10189 10190 10191 10192 10193 10194 10195 10196 10197 10198 10199 10200 10201 10202 10203 10204 10205 10206 10207 10208 10209 10210 10211 10212 10213 10214 10215 10216 10217 10218 10219 10220 10221 10222 10223 10224 10225 10226 10227 10228 10229 10230 10231 10232 10233 10234 10235 10236 10237 10238 10239 10240 10241 10242 10243 10244 10245 10246 10247 10248 10249 10250 10251 10252 10253 10254 10255 10256 10257 10258 10259 10260 10261 10262 10263 10264 10265 10266 10267 10268 10269 10270 10271 10272 10273 10274 10275 10276 10277 10278 10279 10280 10281 10282 10283 10284 10285 10286 10287 10288 10289 10290 10291 10292 10293 10294 10295 10296 10297 10298 10299 10300 10301 10302 10303 10304 10305 10306 10307 10308 10309 10310 10311 10312 10313 10314 10315 10316 10317 10318 10319 10320 10321 10322 10323 10324 10325 10326 10327 10328 10329 10330 10331 10332 10333 10334 10335 10336 10337 10338 10339 10340 10341 10342 10343 10344 10345 10346 10347 10348 10349 10350 10351 10352 10353 10354 10355 10356 10357 10358 10359 10360 10361 10362 10363 10364 10365 10366 10367 10368 10369 10370 10371 10372 10373 10374 10375 10376 10377 10378 10379 10380 10381 10382 10383 10384 10385 10386 10387 10388 10389 10390 10391 10392 10393 10394 10395 10396 10397 10398 10399 10400 10401 10402 10403 10404 10405 10406 10407 10408 10409 10410 10411 10412 10413 10414 10415 10416 10417 10418 10419 10420 10421 10422 10423 10424 10425 10426 10427 10428 10429 10430 10431 10432 10433 10434 10435 10436 10437 10438 10439 10440 10441 10442 10443 10444 10445 10446 10447 10448 10449 10450 10451 10452 10453 10454 10455 10456 10457 10458 10459 10460 10461 10462 10463 10464 10465 10466 10467 10468 10469 10470 10471 10472 10473 10474 10475 10476 10477 10478 10479 10480 10481 10482 10483 10484 10485 10486 10487 10488 10489 10490 10491 10492 10493 10494 10495 10496 10497 10498 10499 10500 10501 10502 10503 10504 10505 10506 10507 10508 10509 10510 10511 10512 10513 10514 10515 10516 10517 10518 10519 10520 10521 10522 10523 10524 10525 10526 10527 10528 10529 10530 10531 10532 10533 10534 10535 10536 10537 10538 10539 10540 10541 10542 10543 10544 10545 10546 10547 10548 10549 10550 10551 10552 10553 10554 10555 10556 10557 10558 10559 10560 10561 10562 10563 10564 10565 10566 10567 10568 10569 10570 10571 10572 10573 10574 10575 10576 10577 10578 10579 10580 10581 10582 10583 10584 10585 10586 10587 10588 10589 10590 10591 10592 10593 10594 10595 10596 10597 10598 10599 10600 10601 10602 10603 10604 10605 10606 10607 10608 10609 10610 10611 10612 10613 10614 10615 10616 10617 10618 10619 10620 10621 10622 10623 10624 10625 10626 10627 10628 10629 10630 10631 10632 10633 10634 10635 10636 10637 10638 10639 10640 10641 10642 10643 10644 10645 10646 10647 10648 10649 10650 10651 10652 10653 10654 10655 10656 10657 10658 10659 10660 10661 10662 10663 10664 10665 10666 10667 10668 10669 10670 10671 10672 10673 10674 10675 10676 10677 10678 10679 10680 10681 10682 10683 10684 10685 10686 10687 10688 10689 10690 10691 10692 10693 10694 10695 10696 10697 10698 10699 10700 10701 10702 10703 10704 10705 10706 10707 10708 10709 10710 10711 10712 10713 10714 10715 10716 10717 10718 10719 10720 10721 10722 10723 10724 10725 10726 10727 10728 10729 10730 10731 10732 10733 10734 10735 10736 10737 10738 10739 10740 10741 10742 10743 10744 10745 10746 10747 10748 10749 10750 10751 10752 10753 10754 10755 10756 10757 10758 10759 10760 10761 10762 10763 10764 10765 10766 10767 10768 10769 10770 10771 10772 10773 10774 10775 10776 10777 10778 10779 10780 10781 10782 10783 10784 10785 10786 10787 10788 10789 10790 10791 10792 10793 10794 10795 10796 10797 10798 10799 10800 10801 10802 10803 10804 10805 10806 10807 10808 10809 10810 10811 10812 10813 10814 10815 10816 10817 10818 10819 10820 10821 10822 10823 10824 10825 10826 10827 10828 10829 10830 10831 10832 10833 10834 10835 10836 10837 10838 10839 10840 10841 10842 10843 10844 10845 10846 10847 10848 10849 10850 10851 10852 10853 10854 10855 10856 10857 10858 10859 10860 10861 10862 10863 10864 10865 10866 10867 10868 10869 10870 10871 10872 10873 10874 10875 10876 10877 10878 10879 10880 10881 10882 10883 10884 10885 10886 10887 10888 10889 10890 10891 10892 10893 10894 10895 10896 10897 10898 10899 10900 10901 10902 10903 10904 10905 10906 10907 10908 10909 10910 10911 10912 10913 10914 10915 10916 10917 10918 10919 10920 10921 10922 10923 10924 10925 10926 10927 10928 10929 10930 10931 10932 10933 10934 10935 10936 10937 10938 10939 10940 10941 10942 10943 10944 10945 10946 10947 10948 10949 10950 10951 10952 10953 10954 10955 10956 10957 10958 10959 10960 10961 10962 10963 10964 10965 10966 10967 10968 10969 10970 10971 10972 10973 10974 10975 10976 10977 10978 10979 10980 10981 10982 10983 10984 10985 10986 10987 10988 10989 10990 10991 10992 10993 10994 10995 10996 10997 10998 10999 11000 11001 11002 11003 11004 11005 11006 11007 11008 11009 11010 11011 11012 11013 11014 11015 11016 11017 11018 11019 11020 11021 11022 11023 11024 11025 11026 11027 11028 11029 11030 11031 11032 11033 11034 11035 11036 11037 11038 11039 11040 11041 11042 11043 11044 11045 11046 11047 11048 11049 11050 11051 11052 11053 11054 11055 11056 11057 11058 11059 11060 11061 11062 11063 11064 11065 11066 11067 11068 11069 11070 11071 11072 11073 11074 11075 11076 11077 11078 11079 11080 11081 11082 11083 11084 11085 11086 11087 11088 11089 11090 11091 11092 11093 11094 11095 11096 11097 11098 11099 11100 11101 11102 11103 11104 11105 11106 11107 11108 11109 11110 11111 11112 11113 11114 11115 11116 11117 11118 11119 11120 11121 11122 11123 11124 11125 11126 11127 11128 11129 11130 11131 11132 11133 11134 11135 11136 11137 11138 11139 11140 11141 11142 11143 11144 11145 11146 11147 11148 11149 11150 11151 11152 11153 11154 11155 11156 11157 11158 11159 11160 11161 11162 11163 11164 11165 11166 11167 11168 11169 11170 11171 11172 11173 11174 11175 11176 11177 11178 11179 11180 11181 11182 11183 11184 11185 11186 11187 11188 11189 11190 11191 11192 11193 11194 11195 11196 11197 11198 11199 11200 11201 11202 11203 11204 11205 11206 11207 11208 11209 11210 11211 11212 11213 11214 11215 11216 11217 11218 11219 11220 11221 11222 11223 11224 11225 11226 11227 11228 11229 11230 11231 11232 11233 11234 11235 11236 11237 11238 11239 11240 11241 11242 11243 11244 11245 11246 11247 11248 11249 11250 11251 11252 11253 11254 11255 11256 11257 11258 11259 11260 11261 11262 11263 11264 11265 11266 11267 11268 11269 11270 11271 11272 11273 11274 11275 11276 11277 11278 11279 11280 11281 11282 11283 11284 11285 11286 11287 11288 11289 11290 11291 11292 11293 11294 11295 11296 11297 11298 11299 11300 11301 11302 11303 11304 11305 11306 11307 11308 11309 11310 11311 11312 11313 11314 11315 11316 11317 11318 11319 11320 11321 11322 11323 11324 11325 11326 11327 11328 11329 11330 11331 11332 11333 11334 11335 11336 11337 11338 11339 11340 11341 11342 11343 11344 11345 11346 11347 11348 11349 11350 11351 11352 11353 11354 11355 11356 11357 11358 11359 11360 11361 11362 11363 11364 11365 11366 11367 11368 11369 11370 11371 11372 11373 11374 11375 11376 11377 11378 11379 11380 11381 11382 11383 11384 11385 11386 11387 11388 11389 11390 11391 11392 11393 11394 11395 11396 11397 11398 11399 11400 11401 11402 11403 11404 11405 11406 11407 11408 11409 11410 11411 11412 11413 11414 11415 11416 11417 11418 11419 11420 11421 11422 11423 11424 11425 11426 11427 11428 11429 11430 11431 11432 11433 11434 11435 11436 11437 11438 11439 11440 11441 11442 11443 11444 11445 11446 11447 11448 11449 11450 11451 11452 11453 11454 11455 11456 11457 11458 11459 11460 11461 11462 11463 11464 11465 11466 11467 11468 11469 11470 11471 11472 11473 11474 11475 11476 11477 11478 11479 11480 11481 11482 11483 11484 11485 11486 11487 11488 11489 11490 11491 11492 11493 11494 11495 11496 11497 11498 11499 11500 11501 11502 11503 11504 11505 11506 11507 11508 11509 11510 11511 11512 11513 11514 11515 11516 11517 11518 11519 11520 11521 11522 11523 11524 11525 11526 11527 11528 11529 11530 11531 11532 11533 11534 11535 11536 11537 11538 11539 11540 11541 11542 11543 11544 11545 11546 11547 11548 11549 11550 11551 11552 11553 11554 11555 11556 11557 11558 11559 11560 11561 11562 11563 11564 11565 11566 11567 11568 11569 11570 11571 11572 11573 11574 11575 11576 11577 11578 11579 11580 11581 11582 11583 11584 11585 11586 11587 11588 11589 11590 11591 11592 11593 11594 11595 11596 11597 11598 11599 11600 11601 11602 11603 11604 11605 11606 11607 11608 11609 11610 11611 11612 11613 11614 11615 11616 11617 11618 11619 11620 11621 11622 11623 11624 11625 11626 11627 11628 11629 11630 11631 11632 11633 11634 11635 11636 11637 11638 11639 11640 11641 11642 11643 11644 11645 11646 11647 11648 11649 11650 11651 11652 11653 11654 11655 11656 11657 11658 11659 11660 11661 11662 11663 11664 11665 11666 11667 11668 11669 11670 11671 11672 11673 11674 11675 11676 11677 11678 11679 11680 11681 11682 11683 11684 11685 11686 11687 11688 11689 11690 11691 11692 11693 11694 11695 11696 11697 11698 11699 11700 11701 11702 11703 11704 11705 11706 11707 11708 11709 11710 11711 11712 11713 11714 11715 11716 11717 11718 11719 11720 11721 11722 11723 11724 11725 11726 11727 11728 11729 11730 11731 11732 11733 11734 11735 11736 11737 11738 11739 11740 11741 11742 11743 11744 11745 11746 11747 11748 11749 11750 11751 11752 11753 11754 11755 11756 11757 11758 11759 11760 11761 11762 11763 11764 11765 11766 11767 11768 11769 11770 11771 11772 11773 11774 11775 11776 11777 11778 11779 11780 11781 11782 11783 11784 11785 11786 11787 11788 11789 11790 11791 11792 11793 11794 11795 11796 11797 11798 11799 11800 11801 11802 11803 11804 11805 11806 11807 11808 11809 11810 11811 11812 11813 11814 11815 11816 11817 11818 11819 11820 11821 11822 11823 11824 11825 11826 11827 11828 11829 11830 11831 11832 11833 11834 11835 11836 11837 11838 11839 11840 11841 11842 11843 11844 11845 11846 11847 11848 11849 11850 11851 11852 11853 11854 11855 11856 11857 11858 11859 11860 11861 11862 11863 11864 11865 11866 11867 11868 11869 11870 11871 11872 11873 11874 11875 11876 11877 11878 11879 11880 11881 11882 11883 11884 11885 11886 11887 11888 11889 11890 11891 11892 11893 11894 11895 11896 11897 11898 11899 11900 11901 11902 11903 11904 11905 11906 11907 11908 11909 11910 11911 11912 11913 11914 11915 11916 11917 11918 11919 11920 11921 11922 11923 11924 11925 11926 11927 11928 11929 11930 11931 11932 11933 11934 11935 11936 11937 11938 11939 11940 11941 11942 11943 11944 11945 11946 11947 11948 11949 11950 11951 11952 11953 11954 11955 11956 11957 11958 11959 11960 11961 11962 11963 11964 11965 11966 11967 11968 11969 11970 11971 11972 11973 11974 11975 11976 11977 11978 11979 11980 11981 11982 11983 11984 11985 11986 11987 11988 11989 11990 11991 11992 11993 11994 11995 11996 11997 11998 11999 12000 12001 12002 12003 12004 12005 12006 12007 12008 12009 12010 12011 12012 12013 12014 12015 12016 12017 12018 12019 12020 12021 12022 12023 12024 12025 12026 12027 12028 12029 12030 12031 12032 12033 12034 12035 12036 12037 12038 12039 12040 12041 12042 12043 12044 12045 12046 12047 12048 12049 12050 12051 12052 12053 12054 12055 12056 12057 12058 12059 12060 12061 12062 12063 12064 12065 12066 12067 12068 12069 12070 12071 12072 12073 12074 12075 12076 12077 12078 12079 12080 12081 12082 12083 12084 12085 12086 12087 12088 12089 12090 12091 12092 12093 12094 12095 12096 12097 12098 12099 12100 12101 12102 12103 12104 12105 12106 12107 12108 12109 12110 12111 12112 12113 12114 12115 12116 12117 12118 12119 12120 12121 12122 12123 12124 12125 12126 12127 12128 12129 12130 12131 12132 12133 12134 12135 12136 12137 12138 12139 12140 12141 12142 12143 12144 12145 12146 12147 12148 12149 12150 12151 12152 12153 12154 12155 12156 12157 12158 12159 12160 12161 12162 12163 12164 12165 12166 12167 12168 12169 12170 12171 12172 12173 12174 12175 12176 12177 12178 12179 12180 12181 12182 12183 12184 12185 12186 12187 12188 12189 12190 12191 12192 12193 12194 12195 12196 12197 12198 12199 12200 12201 12202 12203 12204 12205 12206 12207 12208 12209 12210 12211 12212 12213 12214 12215 12216 12217 12218 12219 12220 12221 12222 12223 12224 12225 12226 12227 12228 12229 12230 12231 12232 12233 12234 12235 12236 12237 12238 12239 12240 12241 12242 12243 12244 12245 12246 12247 12248 12249 12250 12251 12252 12253 12254 12255 12256 12257 12258 12259 12260 12261 12262 12263 12264 12265 12266 12267 12268 12269 12270 12271 12272 12273 12274 12275 12276 12277 12278 12279 12280 12281 12282 12283 12284 12285 12286 12287 12288 12289 12290 12291 12292 12293 12294 12295 12296 12297 12298 12299 12300 12301 12302 12303 12304 12305 12306 12307 12308 12309 12310 12311 12312 12313 12314 12315 12316 12317 12318 12319 12320 12321 12322 12323 12324 12325 12326 12327 12328 12329 12330 12331 12332 12333 12334 12335 12336 12337 12338 12339 12340 12341 12342 12343 12344 12345 12346 12347 12348 12349 12350 12351 12352 12353 12354 12355 12356 12357 12358 12359 12360 12361 12362 12363 12364 12365 12366 12367 12368 12369 12370 12371 12372 12373 12374 12375 12376 12377 12378 12379 12380 12381 12382 12383 12384 12385 12386 12387 12388 12389 12390 12391 12392 12393 12394 12395 12396 12397 12398 12399 12400 12401 12402 12403 12404 12405 12406 12407 12408 12409 12410 12411 12412 12413 12414 12415 12416 12417 12418 12419 12420 12421 12422 12423 12424 12425 12426 12427 12428 12429 12430 12431 12432 12433 12434 12435 12436 12437 12438 12439 12440 12441 12442 12443 12444 12445 12446 12447 12448 12449 12450 12451 12452 12453 12454 12455 12456 12457 12458 12459 12460 12461 12462 12463 12464 12465 12466 12467 12468 12469 12470 12471 12472 12473 12474 12475 12476 12477 12478 12479 12480 12481 12482 12483 12484 12485 12486 12487 12488 12489 12490 12491 12492 12493 12494 12495 12496 12497 12498 12499 12500 12501 12502 12503 12504 12505 12506 12507 12508 12509 12510 12511 12512 12513 12514 12515 12516 12517 12518 12519 12520 12521 12522 12523 12524 12525 12526 12527 12528 12529 12530 12531 12532 12533 12534 12535 12536 12537 12538 12539 12540 12541 12542 12543 12544 12545 12546 12547 12548 12549 12550 12551 12552 12553 12554 12555 12556 12557 12558 12559 12560 12561 12562 12563 12564 12565 12566 12567 12568 12569 12570 12571 12572 12573 12574 12575 12576 12577 12578 12579 12580 12581 12582 12583 12584 12585 12586 12587 12588 12589 12590 12591 12592 12593 12594 12595 12596 12597 12598 12599 12600 12601 12602 12603 12604 12605 12606 12607 12608 12609 12610 12611 12612 12613 12614 12615 12616 12617 12618 12619 12620 12621 12622 12623 12624 12625 12626 12627 12628 12629 12630 12631 12632 12633 12634 12635 12636 12637 12638 12639 12640 12641 12642 12643 12644 12645 12646 12647 12648 12649 12650 12651 12652 12653 12654 12655 12656 12657 12658 12659 12660 12661 12662 12663 12664 12665 12666 12667 12668 12669 12670 12671 12672 12673 12674 12675 12676 12677 12678 12679 12680 12681 12682 12683 12684 12685 12686 12687 12688 12689 12690 12691 12692 12693 12694 12695 12696 12697 12698 12699 12700 12701 12702 12703 12704 12705 12706 12707 12708 12709 12710 12711 12712 12713 12714 12715 12716 12717 12718 12719 12720 12721 12722 12723 12724 12725 12726 12727 12728 12729 12730 12731 12732 12733 12734 12735 12736 12737 12738 12739 12740 12741 12742 12743 12744 12745 12746 12747 12748 12749 12750 12751 12752 12753 12754 12755 12756 12757 12758 12759 12760 12761 12762 12763 12764 12765 12766 12767 12768 12769 12770 12771 12772 12773 12774 12775 12776 12777 12778 12779 12780 12781 12782 12783 12784 12785 12786 12787 12788 12789 12790 12791 12792 12793 12794 12795 12796 12797 12798 12799 12800 12801 12802 12803 12804 12805 12806 12807 12808 12809 12810 12811 12812 12813 12814 12815 12816 12817 12818 12819 12820 12821 12822 12823 12824 12825 12826 12827 12828 12829 12830 12831 12832 12833 12834 12835 12836 12837 12838 12839 12840 12841 12842 12843 12844 12845 12846 12847 12848 12849 12850 12851 12852 12853 12854 12855 12856 12857 12858 12859 12860 12861 12862 12863 12864 12865 12866 12867 12868 12869 12870 12871 12872 12873 12874 12875 12876 12877 12878 12879 12880 12881 12882 12883 12884 12885 12886 12887 12888 12889 12890 12891 12892 12893 12894 12895 12896 12897 12898 12899 12900 12901 12902 12903 12904 12905 12906 12907 12908 12909 12910 12911 12912 12913 12914 12915 12916 12917 12918 12919 12920 12921 12922 12923 12924 12925 12926 12927 12928 12929 12930 12931 12932 12933 12934 12935 12936 12937 12938 12939 12940 12941 12942 12943
|
Thu Dec 31 13:25:53 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/019/server[2].cpp:
Test that the segment was created. If it already existed, the
malloc() will return 0 and we'll crash.
Thu Dec 31 12:10:46 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* tests/RB_Tree_Test.cpp:
Added missing template instantiation, actually it seems that the
IRIX MIPSPro compiler was not doing recursive instantiation.
* ace/ACE.cpp:
Use ACE_NOTREACHED in ACE::set_handle_limit(), the IRIX compiler
was complaining again.
Thu Dec 31 10:58:11 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Containers_T.cpp (ACE_Fixed_Set::insert): removed
blank line between function header and body.
Thu Dec 31 09:40:09 1998 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* ace/SOCK_Stream: Added a new ACE_SOCK_Stream constructor that
initializes the underlying ACE_HANDLE automagically.
Wed Dec 30 17:07:21 1998 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* ace/Containers_T.h: Clarified that the insert() method on
ACE_Unbounded_Stack doesn't allow duplicates. Thanks to Susan
Liebeskind <susan.liebeskind@gtri.gatech.edu> for reporting
this.
Wed Dec 30 14:41:56 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/ACE.cpp:
Sometimes the get_ip_interfaces routine was returning 0.0.0.0 as
a valid address, we explicitly avoid that now.
Wed Dec 30 14:34:44 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* bin/GenExportH.BAT: Added '\$\I\d\$' string in generated file.
Also in generated file, make XXX_HAS_DLL defined to 1 if it
isn't defined already.
Wed Dec 30 13:22:50 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/Functor.{cpp, h, i}
ace/Functor_T.{cpp, h, i}
ace/Hash_Map_Manager.{h, i}
ace/Hash_Map_Manager_T.{h, i}: Moved ACE_Hash and ACE_Equal_To
STL-style functors from the Hash_Map_Manager files into the
Functor files (so other containers can use these from a central
place). Added ACE_Less_Than STL-style functor. Thanks to Doug
Schmidt, Carlos O'Ryan, and Irfan Pyarali for comments on the
distinctions between GOF command pattern functors and STL-style
functors.
* ace/RB_Tree.{cpp, h, i}: Reworked templates so RB_Tree can take
advantage of template specialization for strcmp semantics without
the overhead of a virtual function call. Thanks to Carlos O'Ryan
for his suggestions on how to achieve this.
* ace/OS.h
ace/config-psos-diab.h
include/makeinclude/platform_psos_diab.GNU
tests/Handle_Set_Test.cpp
tests/Process_Strategy_Test.cpp
tests/RB_Tree_Test.cpp
tests/Reactor_Performance_Test.cpp
tests/TSS_Test.cpp: A number of fixes to allow ACE pSOS tests to
compile and link successfully.
Wed Dec 30 10:36:36 1998 David L. Levine <levine@cs.wustl.edu>
* tests/Env_Value_Test.cpp: protected tests of doubles with
#ifndef ACE_LACKS_FLOATING_POINT, so that the test will
build for our Chorus platform.
Tue Dec 29 16:24:24 1998 David L. Levine <levine@cs.wustl.edu>
* bin/Service_Config.perl,auto_ptr.perl,corba-boolean.perl,
rename-ace.pl: use perl from user's path, so we don't have
to hard-code its location.
* tests/Time_Value_Test.cpp: don't test ACE_U_LongLong if
the platform defines ACE_LACKS_LONGLONG_T, e.g., GreenHills,
because it makes a big mess.
* bin/Hash_Map_Manager.pl,Hash_Map_Manager_Helper.csh:
translated Hash_Map_Manager_Helper.csh from csh to sh.
Renamed Hash_Map_Manager_Helper.csh to Hash_Map_Manager_Helper.
* docs/ACE-guidelines.html: specifically disallow csh scripts.
Tue Dec 29 15:09:15 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.6.10 released.
Tue Dec 29 14:57:24 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* docs/tutorials/{019,020}: Checked out the two new tutorials
from James Johnson.
Tue Dec 29 14:37:57 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.6.9 released.
Tue Dec 29 13:32:50 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.h (ACE_SELF): Changed it's definition from -1 to 0 on NT
to avoid warings from Intel C++. ACE_SELF is not used on NT.
Thanks to Karel Zuiderveld <kzuiderveld@vitalimages.com> for
reporting this.
Tue Dec 29 10:29:03 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace: Fixed a bunch of warnings produced by Intel's C++ 4.0
compiler. Thanks to Karel Zuidrveld
<kzuiderveld@vitalimages.com> for reporting these.
Tue Dec 29 09:47:48 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-sunos*.h,README:
restored ACE_TIMER_SKEW, with explanatory comment.
Mon Dec 28 23:12:59 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/DLL.h,
ace/Mem_Map.h,
ace/Read_Buffer.h:
Added ACE_UNIMPLEMENTED_FUNC() macros to these headers.
Wed Dec 28 22:55:55 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* ace/DLL.h: Prevent copying and assignment by putting these
methods in the private part of the class.
Mon Dec 28 17:57:25 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/020/*:
Sooner than expected... A brief and basic intro to using
ACE_Shared_Memory_MM.
* docs/tutorials/online-tutorials.html:
Linked in 019 and 020
Mon Dec 28 16:32:42 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/019/*:
At long last, a basic Tutorial on ACE_Shared_Memory_SV. With
luck, 020 will be added soon to cover ACE_Shared_Memory_MM
Mon Dec 28 11:21:40 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Strategies.h: Put the "virtual" keyword in from of the
~ACE_Reactor_Notification_Strategy to make it clear
that this destructor is virtual. Thanks to Greg Gallant
<greg.gallant@jhuapl.edu> for pointing this out.
Mon Dec 28 11:12:08 1998 David L. Levine <levine@cs.wustl.edu>
* ACE-INSTALL.html: added SunOS 5.7 (Solaris 7) info.
Mon Dec 28 10:52:20 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* */Makefile:
Updated dependencies.
Mon Dec 28 02:34:59 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* examples/Service_Configurator/IPC-tests/server/server_test.cpp
(main): Allow loading in static services in this application.
Thanks to Peter J. Mason <peterm@fl.net.au> for reporting this.
* ace/Service_Config.{h,i,cpp} (ACE_Service_Config): Changed the
default value of <ignore_static_svcs> to 1. Otherwise, it is
not consistent with the initial value of
ACE_Service_Config::no_static_svcs_ and that's very confusing.
(open): Added one more argument <ignore_static_svcs> with
default value of 1. This allow us to turn off this behavior
when opening Service_Config. Otherwise, the only other way is
to create a fake ACE_Service_Config and use that to change the
static variable <no_static_svcs_>.
Sun Dec 27 21:51:10 1998 David L. Levine <levine@cs.wustl.edu>
* etc/purify.solaris2: added a couple of MIU suppressions for
SunOS 5.7's thread library.
Fri Dec 25 08:23:51 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ACE-INSTALL.html: Fixed a broken link to the ACE FAQ. Thanks to
Barry Hoggard <hoggardb@panix.com> for reporting this.
Fri Dec 25 01:55:32 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Hash_Map_Manager: There are two problems with the current
implementation of Hash_Map_Manager:
(a) It requires a hash() method on the key type. If it is not
possible for the key type to have a hash() function (e.g.,
the key is a primitive type such as an int, or is a pointer
type, or a three party class), the usual solution is to do
partial template specialization.
This is usually not a very good option since some compilers
do not support partial template specialization.
(b) The second problem is with comparing two keys.
Hash_Map_Manager assumes that keys can be compared using
operator==. This assumption causes problems in some cases,
e.g., when using char * as the key. Usually with char *,
you want to use strcmp and not compare pointers.
Solution to these two problems is the new Hash_Map_Manager_Ex
class. Problem (a) is addressed by using a function object - the
type of which is specified by the user as an additional template
parameter. Problem (b) is addressed by using another function
object - the type of which is specified by the user as an
additional template parameter. So the new Hash_Map_Manager_Ex
takes five template parameters:
<key, value, hash_key, compare_keys, mutex>
Backward compatibility: Hash_Map_Manager now inherits from
Hash_Map_Manager_Ex, fixing the hash_key function object (which
simply calls key.hash()) and fixing compare_keys (which simply
uses operator== on the keys).
There will be one problem: Users of compilers that do not
implicitly instantiate templates will have to update their list
of template instantiations. To help with this, please see
$ACE_ROOT/bin/Hash_Map_Manager_Helper.csh
Other miscellaneous changes: Added two new classes: ACE_Hash<T>
and ACE_Equal_To<T>. ACE_Hash assumes a hash() method on T.
ACE_Equal_To compares by using operator==. However, the
ACE_Hash class has been specialized to work with:
char, signed char, unsigned char,
short, unsigned short,
int, unsigned int,
long, unsigned long,
const char *, char *,
const wchar_t *, wchar_t *,
const ACE_USHORT16 *, ACE_USHORT16 *,
Also, ACE_Equal_To has been specialized to work with:
const char *, char *,
const wchar_t *, wchar_t *,
const ACE_USHORT16 *, ACE_USHORT16 *,
Remember, you don't have to use these specialization. You can
always create your own.
If we had default template parameters, we could default hash_key
to ACE_Hash<key> and compare_keys could default to
ACE_Equal_To<key>.
BTW, note that the specialization with ACE_Hash and ACE_Equal_To
is not partial template specialization. It is complete template
specialization, and we don't know of compilers that cannot
handle complete template specialization.
Since we now have template specialization, Hash_Map_Manager_T.*
files were created. I also took this opportunity to inline most
of the Hash_Map_Manager functions.
Also, update the makefiles and project files.
BTW, these changes grossly simplified
tests/Hash_Map_Manager_Test.cpp and tests/Map_Manager_Test.cpp.
These tests will now work with compilers that do not support
partial template specialization. Maybe James can change
Filecache to take advantage of these changes.
Updated the following files with the new template instantiations:
ace/Filecache.cpp
ace/Local_Name_Space.cpp
ace/Template_Instantiations.cpp
tests/Conn_Test.cpp
tests/Hash_Map_Manager_Test.cpp
tests/Map_Manager_Test.cpp
TAO/examples/Callback_Quoter/Notifier_i.cpp
TAO/examples/POA/On_Demand_Loading/Servant_Manager.cpp
TAO/examples/Simple/bank/AccountManager_i.cpp
TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp
TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp
TAO/orbsvcs/orbsvcs/Log/Logger_i.cpp
TAO/orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp
TAO/orbsvcs/orbsvcs/Naming/CosNaming_i.cpp
TAO/orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp
TAO/orbsvcs/orbsvcs/Trader/Trader.cpp
TAO/orbsvcs/orbsvcs/Trader/Trader_Utils.cpp
TAO/tao/ORB.cpp
TAO/tao/ORB_Core.cpp
TAO/tao/Object_Table.cpp
TAO/tao/Operation_Table.cpp
TAO/tao/POA.cpp
examples/Map_Manager/test_hash_map_manager.cpp
Thanks to Carlos for suggesting these changes. Most of these
were inspired by SGI's STL.
If these changes are successful (i.e., nobody is hunting me down
for breaking their code ;-)), we should add a similar comparison
function object to Map_Manager, Collections in Containers_T that
require an operator==() (typically for remove() and find()) and
the RB_Tree.
* ace/ACE (hash_pjw): hash_pjw is now available for char *,
wchar_t *, and ACE_UINT16 *.
* ace/OS (strlen, strcpy, strcmp): These functions are now
available for char *, wchar_t *, and ACE_UINT16 *.
* ace/SString.cpp (ACE_WString::strlen): Simply calls
ACE_OS::strlen.
* ace/config-win32-common.h (ACE_HAS_WCHAR_TYPEDEFS_USHORT): Since
Win32 typedefs wchar_t as a 16 bit unsigned short, this can
potentially cause problems with function overloading.
Therefore, I added ACE_HAS_WCHAR_TYPEDEFS_USHORT to the Win32
config file. This is very similar to
ACE_HAS_WCHAR_TYPEDEFS_CHAR. Thanks to David Levine for helping
with this.
Thu Dec 24 09:37:32 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.6.8 released.
Thu Dec 24 00:59:46 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Thread_Manager.h (ACE_Thread_Manager): Added a more complete
documentation of the deprecated <at_exit> method. Thanks to
Keith Brown <kalbrown@ix.netcom.com> for reporting this.
Wed Dec 23 16:37:52 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-sunos5.5.h,include/makeinclude/platform_sunos5_ghs.GNU:
updated so that links succeed.
Wed Dec 23 15:58:53 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/ACE.cpp (ldfind): Supress changing the 'dll' name if a
customized dll extension is used.
Tue Dec 22 22:34:32 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-sunos5.5.h,include/makeinclude/platform_sunos5_ghs.GNU:
added GreenHills compiler support.
* ace/OS.h: don't use hrtime_t for ACE_hrtime_t if
ACE_LACKS_LONGLONG_T.
Mon Dec 21 16:06:07 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Shared_Memory_MM.i: Changed the remove() method to call
ACE_Mem_Map::remove() rather than ACE_Mem_Map::unmap() so the
code is consistent with the documentation. Thanks to James
Johnson for reporting this.
Mon Dec 21 13:55:33 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Containers_T.{i,cpp} (ACE_Bounded_Set::is_full): On LynxOS
only, uninlined this function to avoid Internal Compiler Error
with native (3.0.0) compiler. Thanks to Carlos for this fix,
it had us stumped for quite a while.
Sat Dec 19 18:27:07 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Timer_Queue_Adapters.cpp (handle_signal): Cleaned up an
unused variable. Thanks to David Levine for reporting this.
Fri Dec 18 09:30:57 1998 David L. Levine <levine@cs.wustl.edu>
* ace/High_Res_Timer.h (elapsed_time_incr): added missing
const to member function declaration.
* ace/config-sunos5.5.h: removed redundant
ACE_HAS_XPG4_MULTIBYTE_CHAR #define.
* ace/config-sunos5.7.h: added this config, for Solaris 7.
* apps/Gateway/Gateway/Gateway.cpp,
examples/ASX/Event_Server/Transceiver/transceiver.cpp
(handle_signal): added ACE_UNUSED_ARG (signum).
Fri Dec 18 06:08:47 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/High_Res_Timer: Made several methods const. Thanks to Ulf
Jaehrig <jaehrig@desys.com> for reporting this.
* ace/Thread.h (ACE_Thread): Removed a stray join(ACE_Thread_ID)
method. Thanks to Jody Hagins <jody@atdesk.com> for reporting
this.
Thu Dec 17 21:06:30 EST 1998 James CE Johnson <jcej@lads.com>
* docs/tutorials/000:
Removed. This is redundant with the Chap* directories.
Thu Dec 17 17:18:21 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* include/makeinclude/platform_sco5.0.0-{nothread,fsu-pthread}.GNU:
This file was been modified to get rid of thread related stuff
until we can obtain the FSU threads library. Thanks to Michael
Preobrazhensky <mikep@xpedite.com> for this.
Thu Dec 17 16:56:28 1998 David L. Levine <levine@cs.wustl.edu>
* bin/create_ace_build: try /bin/find if /usr/bin/find doesn't exist.
* ace/High_Res_Timer.cpp (elapsed_time): rearranged terms in
nanoseconds calculation to avoid overflow on machines that don't
have native 64-bit ints. Thanks to Greg Holtmeyer
<gholtmeyer@mdc.com> for helping to track this problem down.
Thu Dec 17 12:43:11 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace: Removed the use of ACE_DEBUG within handle_signal() methods
to avoid portability problems. Thanks to Susan Liebeskind
<susan.liebeskind@gtri.gatech.edu> for reporting this.
Tue Dec 15 14:45:49 1998 David L. Levine <levine@cs.wustl.edu>
* *.h: removed () from #pragma implementation argument.
Thanks to Christian v. Mueffling <cvm@aiss.de> for reporting
this.
* docs/ACE-guidelines.html: added Doug's warning about side effects
in ACE_DEBUG statements.
Tue Dec 15 14:43:47 1998 Ossama Othman <ossama@debian.org>
* ace/OS.{h,i},README: added lstat() and readlink() methods.
Use ACE_LACKS_LSTAT and ACE_LACKS_READLINK if lstat() and readlink()
aren't supported.
Tue Dec 15 11:55:51 1998 Steve Huston <shuston@riverace.com>
* ace/ACE_Library.(mak mdp): Added Message_Queue.cpp to the files list.
* examples/NT_Service/NT_Service.(mak mdp): MSVC 4.2 project file for
the NT_Service example.
Tue Dec 15 11:27:24 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-chorus.h: added ACE_LACKS_READLINK.
* ace/config-psos*.h,config-vxworks-5.x.h: added ACE_LACKS_READLINK
and ACE_LACKS_LSTAT.
Tue Dec 15 08:44:18 1998 Steve Huston <shuston@riverace.com>
* examples/NT_Service: New example program, shows how to create,
manipulate, and run an NT Service using the ACE_NT_Service class.
Muchas gracias to Gonzalo Diethelm for smashing this code into a
good example - useful enough to show how things work, but simple
enough to show all the useful functionality in one concise program.
Tue Dec 15 07:32:49 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com>
* OS.h:
Moved the definition of IOV_MAX after we have included the
limits.h file. Before make ing this change, we were getting lots
of warnings on SunOS 5.6 about redefinition of IOV_MAX.
Mon Dec 14 15:39:39 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* tests/Makefile:
Updated dependencies.
Mon Dec 14 10:49:29 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* Static_Performance.dsw: Quick and dirty workspace to build
several static version's performance tests.
* ace/ace_lib.dsp: Removed "__ACE_INLINE__=0" from the default
static release build settings.
* performance-tests/Misc/basic_perf.dsp:
* performance-tests/Misc/context_switch_time.dsp: Added static
build configurations.
* tests/RB_Tree_Test.dsp: Redid the project file. A VC 6 only
compiler option somehow got into the file. Thanks to Ulf
Jaehrig <jaehrig@desys.com> for reporting this.
Mon Dec 14 10:24:59 1998 Fred Kuhns <fredk@arl.wustl.edu>
* ace/OS.h: Added #define for IOV_MAX 16
Mon Dec 14 08:35:11 1998 David L. Levine <levine@cs.wustl.edu>
* BUG-REPORT-FORM: added a few FMMs.
Mon Dec 14 08:27:11 1998 Steve Huston <shuston@riverace.com>
* tests/run_tests.sh: Enabled MT_Reactor_Timer_Test.
Sun Dec 13 16:40:18 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/MT_Reactor_Timer_Test.dsp:
* tests/tests.dsw: Added the new project file -
MT_Reactor_Timer_Test.
* tests/run_tests.bat: Added MT_Reactor_Timer_Test into
one-button test for NT.
* tests/MT_Reactor_Timer_Test.cpp: Changed the use of
ACE_OS::{read,write} to ACE::{recv,send}.
Sat Dec 12 17:19:17 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/ACE.cpp (ldfind): If we specified a suffix which is not the
default suffix on the platform, the ldfind() operation should
not try to add the default platform suffix but use ours.
Sat Dec 12 07:44:02 1998 John Lindal <jafl@cco.caltech.edu>
* ace/config-mklinux.h: added.
Fri Dec 11 23:26:20 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/Message_Queue_Test.cpp: Generalize the test to perform
"platform specific" message queue tests when applicable.
Currently, this only applies to VxWorks and Windows NT 4.0 or
above.
* tests/DLL_Test.cpp (main): STL's implementation of auto_ptr
doesn't define an assignment operator that takes a pointer of T.
Changed to use constructor to initialize the auto_ptr my_hello.
Fri Dec 11 16:30:44 1998 Ossama Othman <othman@tango.cs.wustl.edu>
* tests/Time_Value_Test.cpp: Removed the ACE_DISABLE_AUTOCONF_LONGLONG
macro. It broke ACE+autoconf on non-sun platforms.
1998-12-11 Nanbor Wang <nanbor@cs.wustl.edu>
* test/DLL_Test.dsp: Fixed configuration settings. Most of the
time, it's easier to add new projects by using the
bin/dsp2dsp.pl.
* ace/Message_Queue.{h,cpp} (enqueue): Made sure all bytes in a message
block chain are accounted for.
(enqueue_tail,dequeue_head): Added two more methods into
ACE_Message_Queue_Base. They are the prefered methods to use.
Fri Dec 11 15:09:43 1998 Ossama Othman <ossama@debian.org>
* tests/Time_Value_Test.cpp: define ACE_DISABLE_AUTOCONF_LONGLONG
before including ace/inc_user_config.h. This will prevent
an automatically generated ACE Configuration Project config.h
header from defining ACE_UINT64, and thus allowing
Time_Value_Test.cpp to compile on platforms that define
ACE_HAS_STHREADS. Please read the comment in Time_Value_Test.cpp.
ACE_DISABLE_AUTOCONF_LONGLONG is not meant for general use!
Fri Dec 11 14:05:11 1998 Steve Huston <shuston@riverace.com>
* tests/MT_Reactor_Timer_Test.(cpp h): Replaced the multithread
timer set/cancel test with sensible tests.
Fri Dec 11 08:51:07 1998 David L. Levine <levine@cs.wustl.edu>
* ACE-INSTALL.html: updated egcs version information.
* VERSION: added ace-users/comp.soft-sys.ace info.
* include/makeinclude/platform_osf1_4.0.GNU: added suppression
of warning 1136, conversion to integral type of smaller size
could lose data. cxx V6.1-029 spews out a bunch of them,
otherwise.
* tests/Time_Value_Test.cpp: protected definition of __ACE_INLINE__.
Thanks to Ossama for reporting this.
1998-12-11 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Message_Queue.{h,i,cpp} (ACE_Message_Queue_Base): Added a
bunch of pure virture functions in the class to define the
common interface functions of a message queue. This allows up
to experiment different message queue implementations easily.
Most significantly, all queueing operations are simplified into
<enqueue> and <dequeue> method in ACE_Message_Queue_Base as
"standard" queueing operations. Inherited class, of course, can
add fancier queueing operations (as in ACE_Message_Queue.)
(ACE_Message_Queue_NT): A new adapter class inherited from
ACE_Message_Queue_Base that implement a message queue using NT's
IO completion ports. As it's name implies, this is a
specialized version for NT. It is not as versatile as ACE's
general MQ implementation. However, this implementation
consumes less NT handles which in some circumstances may be a
big win (because ACE_Message_Queue uses cv and on NT, cv is
simulated and consumes 4 handles per cv. ACE_Message_Queue_NT
only uses one handle and one critical section.)
Several features inherited from IO completion port are, the
waiting threads are release in LIFO order, and you can control
(at initialization time,) the max number of threads that can be
release by the message queue to run concurrently.
Notice that the constructor and the <open> method have different
signature compared with those of ACE_Message_Queue. You should
use ACE_Message_Queue_Factory to create a message queue on the
fly if so desired.
Thanks to Mark Lucovsky <markl@microsoft.com> and Karlheinz Dorn
<Karlheinz.Dorn@med.siemens.de> for providing the idea.
* ace/Message_Queue_T.h (dequeue): Added the new method to match
with the changes in ACE_Message_Queue_Base.
(create_NT_message_queue): A wrapper function to manufacture an
ACE_Message_Queue_NT.
Thu Dec 10 09:08:26 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-chorus.h: added ACE_LACKS_FSYNC.
* ACE-INSTALL.html: ACE/TAO build on Linux RedHat 5.2
as well as 5.1.
* ace/config-osf1-3.2.h: added getpgid () prototype, because
an old comment said that it was missing from the system headers.
* ace/config-linux-common.h: replaced ACE_LACKS_GETPGID with
a getpgid () prototype.
Thanks to Ivan Pascal <pascal@info.tsu.ru> for motivating the
above two getpgid () updates.
* ace/config-sunos5.5.h: updated comment on why explicit
instantiation isn't used with Sun CC. Thanks to
William A. Hoffman <hoffman@crd.ge.com> for introducing
us to -instances=explicit.
Wed Dec 09 22:59:38 1998 David L. Levine <levine@cs.wustl.edu>
* ACE version 4.6.7 released.
Wed Dec 09 18:03:58 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* examples/Reactor/WFMO_Reactor/test_network_events.cpp (main):
Removed global variables and cleaned up some minor things.
Wed Dec 09 07:02:06 1998 David L. Levine <levine@cs.wustl.edu>
* README, VERSION: expanded mention of BUG-REPORT-FORM.
* docs/ACE-guidelines.html: strengthened mention of ACE_ASSERT danger.
Thanks to Irfan for the example.
* tests/run_tests.vxworks: re-enabled Timeprobe_Test, now that
ACE_ASSERTs have been fixed in ACE's Containers.
* ace/config-linux-common.h,config-osf1-{3.2,4.0}.h:
removed ACE_LACKS_GETPGID. Thanks to
Ivan Pascal <pascal@info.tsu.ru> for reporting that
getpid () is supported on those platforms.
* ace/config-linux-common.h: restored ACE_LACKS_GETPGID,
because ::getpgid () isn't found on Alpha with glibc 2.0.7.
* tests/Timeprobe_Test.cpp: disabled ACE_ENABLE_TIMEPROBES,
because the ACE lib is built by default without them.
* performance-tests/Misc/context_switch_time.cpp: disabled
Yield_Test on VxWorks, because it doesn't run properly there.
* ace/config-tandem.h,README: removed ACE_HAS_STRUCT_PROTOENT_DATA,
because it is no longer used. Thanks to Ossama for reporting this.
* tests/Collection_Test.cpp,
examples/Reactor/Misc/test_early_timeouts.cpp:
removed unused parameter names argc and argv.
* tests/DLL_Test.cpp: added ACE_Auto_Basic_Ptr <Hello> template
instantiation.
1998-12-09 Irfan Pyarali <irfan@cs.wustl.edu>
* tests/Collection_Test.cpp: Added new test for ACE collections.
* ace/Map_Manager.cpp (operator*):
* ace/Containers_T.cpp (operator*):
* ace/SPIPE_Acceptor.cpp (create_new_instance):
Fixed ACE_ASSERT usage.
* ace/config-vxworks5.x.h: Added ACE_LACKS_FSYNC.
* ace/OS.i (fsync): Added ACE_NOTSUP_RETURN (-1).
Tue Dec 08 21:39:16 1998 David L. Levine <levine@cs.wustl.edu>
* include/makeinclude/platform_osf1_4.0.GNU,ACE-INSTALL.html:
enable DU 4.0 cxx 6.x warnings by default. To disable, if
you're using cxx 5.x, set CXX_VER to CXX_5 either on the
make command line, or in your environment. Thanks to
Gary York <gfyork@ix.netcom.com> for being that last
cxx 6.x user to trip over this :-)
* include/makeinclude/platform_lynxos.GNU: override
ACE_HAS_GNUG_PRE_2_8 to allow builds of all TAO tests
on LynxOS 3.0.0. Its g++ can handled nested classes, even though
it's in the 2.7 family. Thanks to Patty Hair <patty@Lynx.COM>
for suggesting that we try to build the tests on LynxOS.
Tue Dec 8 19:50:49 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Shared_Object.cpp: Changed the various default
implementations of init()/fini()/info() to return 0 rather than
-1 so that users won't have to subclass Service_Object just to
change the return value. Thanks to Eric Newton for motivating
this.
Tue Dec 8 16:52:57 1998 Ossama Othman <ossama@debian.org>
* ace/OS.{h,i}, ace/README: Added a fsync() method. Define
ACE_LACKS_FSYNC if ::fsync() isn't supported.
Tue Dec 08 15:03:25 1998 Steve Huston <shuston@riverace.com>
* ace/NT_Service.{h cpp i}: Added a number of methods which can be
used to register, remove, and control an NT service. Also,
another macro, ACE_NT_SERVICE_RUN, which simplifies the setting up
and running the most common case, a single service. Huge thanks
to Gonzalo Diethelm <Gonzalo.Diethelm@jda.cl> for contributing
the bulk of this code!
Tue Dec 08 11:22:56 1998 Chris Gill <cdgill@cs.wustl.edu>
* ACE version 4.6.6 released.
Tue Dec 08 10:45:56 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/System_Time.h: Removed redundant ACE_Time_Date definition.
Thanks to Martin Krumpolec <krumpo@pobox.sk> for reporting this.
Mon Dec 07 22:58:53 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* examples/Reactor/Misc/test_early_timeouts.cpp: On some
platforms, select() returns before the time value specified.
This tests counts the number of times this happens and the max
early timeout.
* ace/DLL.cpp (open): Added a call to ACE::ldopen() before calling
ACE_OS::dlopen(). The allows us to find the library is
predefined places and also expand the file name to the correct
syntax (prefix and suffix) according to the platform.
Also, fixed a bug where the <close_on_destruction_> flag has not
being consulted on a reopen.
* ace/ACE.cpp (ldfind): Moved the code that calls
ExpandEnvironmentStringsA() from
ACE_Location_Node::open_handle() to ACE::ldfind(). This code is
more general and therefore belongs in ACE::ldfind().
* ace/Parse_Node.cpp and ace/Svc_Conf_y.cpp: Fixed the incorrect
use of ASYS_WIDE_STRING. Remember that the string returned from
ASYS_WIDE_STRING is only valid for that line of code ;)
Mon Dec 7 19:10:24 EST 1998 James CE Johnson <jcej@lads.com>
* docs/tutorials/
* docs/tutorials/001/001.dsp
* docs/tutorials/002/002.dsp
* docs/tutorials/003/003.dsp
* docs/tutorials/004/004.dsp
* docs/tutorials/005/005.dsp
* docs/tutorials/006/006.dsp
* docs/tutorials/007/007.dsp
* docs/tutorials/008/008.dsp
* docs/tutorials/008/008-server/008-server.dsp
* docs/tutorials/008/008-direct/008-direct.dsp
* docs/tutorials/008/008-broadcast/008-broadcast.dsp
* docs/tutorials/009/009-directed/009-directed.dsp
* docs/tutorials/009/009-server/009-server.dsp
* docs/tutorials/009/009-broadcast/009-broadcast.dsp
* docs/tutorials/010/010.dsp
* docs/tutorials/011/011.dsp
* docs/tutorials/012/012.dsp
* docs/tutorials/013/013.dsp
* docs/tutorials/014/014.dsp
* docs/tutorials/018/018.dsp
* docs/tutorials/015/015-client/015-client.dsp
* docs/tutorials/015/015-server/015-server.dsp
* docs/tutorials/016/016.dsp
* docs/tutorials/017/017.dsp
* docs/tutorials/tutorials.dsw
Contributed by:
Stefan Ericsson <Stefan.Ericsson@osd.uab.ericsson.se>
Mon Dec 07 14:11:00 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/README: added entries for ACE_LACKS_IOSTREAMS_TOTALLY
and ACE_HAS_BROKEN_CONDITIONAL_STRING_CASTS. Thanks to
Ossama Othman <othman@astrosun.tn.cornell.edu> for reminding
me to do this.
Mon Dec 07 09:27:04 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Stats.cpp (std_dev): added comments to not reformat
some code. It compiles with the Diab compiler for pSoS
the way it is.
Sun Dec 06 23:59:29 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* config-sunos5.5.h: Added back ACE_HAS_TIMER_SKEW. It is really
required. See me for an example that illustrates this need.
Sun Dec 06 16:05:00 1998 Chris Gill <cdgill@cs.wustl.edu>
Changes for pSOS port: ACE now compiles for pSOSystem 68k targets using
the Diab D-C++ 4.2a compiler release, and links with all but the
following ACE tests: Conn_Test, Handle_Set_Test, OrdMultiSet_Test,
Priority_Reactor_Test, Process_Strategy_Test, Reactor_Performance_Test,
and TSS_Test.
* ace/Log_Msg.cpp
ace/Log_Record.{cpp, h}
ace/streams.h
ace/SString.cpp
ace/config-WinCE.h
ace/config-psos-diab.h
tests/test_config.h: Rearranged log print methods so that logging
can still be done on platforms where iostreams are not sufficiently
supported. Added ACE_LACKS_IOSTREAMS_TOTALLY to select this
behavior, and defined it in pSOS Diab config header (also added to
Windows CE config header, to simplify factoring out Win CE specific
logging methods).
* include/makeinclude/platform_psos_diab.GNU
ace/OS.{cpp, h, i}: Removed Diab supplied library calls so ACE now
links directly to pSOSystem libraries.
* ace/Parse_Node.cpp
ace/Stats.cpp: Modifications to circumvent bugs in the Diab 4.2a
compiler's handling of conditional operators.
Sun Dec 06 08:32:36 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Containers_T.cpp,Local_Name_Space_T.cpp,
Name_Request_Reply.cpp,Service_Config.cpp,Service_Manager.cpp,
Svc_Conf.y,Svc_Conf_Tokens.h,Svc_Conf_y.cpp,
Time_Request_Reply.cpp,Trace.cpp:
use ACE_NLOGGING instead of ACE_NDEBUG.
Sat Dec 05 21:45:00 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Containers_T.cpp,Local_Name_Space_T.cpp,
Name_Request_Reply.cpp,Service_Config.cpp,Service_Manager.cpp,
Svc_Conf.y,Svc_Conf_Tokens.h,Svc_Conf_y.cpp,
Time_Request_Reply.cpp,Trace.cpp:
added if NDEBUG protection to some local variables and
ACE_UNUSED_ARG to some parameters to avoid compiler warnings
when ACE_DEBUG is disabled. Thanks to Faron Dutton
<fdutton@avxus.com> for reporting this.
* ace/Makefile (Svc_Conf_Tokens.h): escaped $\I\d$ string so
that it doesn't get expanded in the Makefile itself.
Sat Dec 5 16:06:27 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* ace/Local_Name_Space_T.cpp: Protected some of the ACE_DEBUG
statements with a ACE::debug () check.
Fri Dec 04 13:46:12 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Stats.cpp (std_dev): fixed difference calculation so
that it always calculates a non-negative value.
* performance-tests/Misc/context_switch_time.cpp
(High_Priority_Synchronized_Task::svc): check if nsec is >=
mutex_acquire_release_time, to avoid adding in negative
context_switch_times.
* ace/config-vxworks5.x.h,
include/makeinclude/platform_vxworks5.x_g++.GNU,
include/makeinclude/platform_vxworks5.x_ghs.GNU: moved -DVXWORKS
from platform_vxworks5.x_* files to config-vxworks5.x.h, to reduce
command-line clutter a bit.
Fri Dec 4 12:45:04 1998 James CE Johnson <jcej@lads.com>
* docs/tutorials/linify:
* docs/tutorials/combine:
* docs/tutorials/fixMakefile:
Ensure that perms are 755 and that #!/.../perl is not used
Wed Dec 02 14:21:34 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.i (fstat): This function needs to close down the c handle
opened by _open_osfhandle to avoid resource leaks on Win32.
Thanks to Christian Korn <korn@gate.qaqa.com> for reporting
this.
Tue Dec 01 13:48:51 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/config-freebsd-pthread.h: Added ACE_HAS_SIGWAIT. Also added
ifdef section to prevent threaded ACE from compiling on FreeBSD
under 3.0 (excluded.)
Tue Dec 1 22:22:42 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Synch.h: Added a comment to clarify the semantics of
ACE_RW_Process_Mutex. Thanks to Stanislav Meduna
<stanom@etm.co.at> for reporting this.
Tue Dec 01 17:22:00 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* tests/DLL_Test: Added the .dsp and tests.dsw to the
repository.
* tests/run_tests.bat: Added an entry for DLL_Test.
Tue Dec 01 13:54:35 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.h: added ESUCCESS definition (to 0), if not #defined.
Tue Dec 01 13:48:51 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/config-freebsd-pthread.h: Added ACE_HAS_SIGWAIT. Also added
ifdef section to prevent threaded ACE from compiling on FreeBSD
under 3.0 (excluded.)
* ace/OS.i (sigwait): FreeBSD 3.0 supports sigwait. Changed the
ifdef condition to support sigwait for 3.0 or above. Thanks to
Bob McWhirter <bob@werken.com> and Russell L. Carter
<rcarter@dnstoo.consys.com> for helping to track this down.
Tue Dec 01 12:59:57 1998 James CE Johnson <jcej@lads.com>
* ace/IOStream_T.i (recv,recv_n): set errno to ESUCCESS
because it was never being set to ETIME when the read timed
out. (Before entering the peer_->recv/recv_n, errno was
ENOENT from previous activities and was the same after in
both positive & negative tests until I did the reset.)
(eof): cleaned up a bit.
I tested against IOStream_Test for both positive and
negative. For the positive test, I changed the sleep() at
line 363 to a much larger value. The client worked fine.
For the negative test, I replaced the spleep() with a
close() & return() pair. The client saw the closure and
exited as expected.
Tue Dec 1 08:55:48 PST 1998 James Hu <jxh@entera.com>
* ace/Memory_Pool.cpp: Since type key_t might be something
other than int (e.g., a long), some additional code was needed
to support the sscanf.
Tue Dec 01 10:49:00 1998 Chris Gill <cdgill@cs.wustl.edu>
* tests/Win32clerk.conf
tests/Win32server.conf
tests/Win32tokens.conf: removed explicit path for netsvcs dll, as
this dll is now being moved to ACE_wrappers/bin after it is built
and the explicit path was causing dlopen to fail rather than
searching the path on NT, which caused Time_Service_Test to fail.
Tue Dec 01 10:07:48 1998 David L. Levine <levine@cs.wustl.edu>
* ACE version 4.6.5 released.
Tue Dec 1 00:07:05 PST 1998 James Hu <jxh@entera.com>
* ace/Containers_T.h:
* ace/Containers_T.i:
Fixed a bug introduced when someone genericized the creation
strategy for ACE_DLList. The removal routing had not been
similarly genericized. Thanks goes to Martin Krumpolec
<krumpo@pobox.sk> for spotting the problem.
Mon Nov 30 19:10:23 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* examples/DLL/Makefile:
* examples/DLL/Makefile.Today:
* examples/DLL/Makefile.Newsweek:
Added the above makefiles. Makefile internally uses
Makefile.Today and Makefile.Newsweek to build the libraries
seperately.
Mon Nov 30 13:54:04 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* netsvcs/lib/Server_Logging_Handler_T.cpp (handle_input): There
was a friggin' bug in this code that is a violation of Reactor
framework design rule #2, i.e., we were returning a non-0 value
from handle_input(), which is a no-no... Thanks to Steve Huston
for reporting this.
Mon Nov 29 13:16:53 EST 1998 James CE Johnson <jcej@lads.com>
* docs/tutorials/001/logger.h:
* docs/tutorials/001/page04.html:
* docs/tutorials/003/client.cpp:
* docs/tutorials/003/page01.html:
Added a blurb about the additional parameters to the recv(),
recv_n(), send() and send_n() method calls of ACE_SOCK_Stream.
Sun Nov 29 22:14:32 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.i,cpp (exit): with ACE_HAS_NON_STATIC_OBJECT_MANAGER,
call ACE_Object_Manager::fini (). Uninlined to avoid circular
include problems with Object_Manager.h. The ACE_Object_Manager
instantiation on main's stack is not destroyed by ::exit (),
so this addition causes the ACE_Object_Manager to be
properly shutdown. Thanks to Jeff Greif <jmg@trivida.com>
for pointing out that automatic objects are not destroyed
by ::exit ().
* ace/Object_Manager.h: added Jeff Greif's ACE_OS::exit ()
recommendations in comments.
Sun Nov 29 20:13:15 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* examples/DLL/Today.cpp:
* examples/DLL/Newsweek.cpp:
Added ACE_BUILD_SVC_DLL and ACE_Svc_Export directives needed for the
extern "C" create_magazine function.
Sun Nov 29 18:22:52 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/Thread_Pool_Reactor_Test.cpp: Removed the use of
"main_reactor". The "main_reactor" was added to handle incoming
connections because this test was not working correctly without
moving out the acceptor to another reactor. However, I recently
found that the problem was actually due to the deadlocked
notify_handler which I fixed a while back.
* ace/OS.h: Added forward declarations of ACE_Time_Value's
operator{+,-} so VC 6.0 won't get confused with the
operator{+,-} in namespace std. Thanks to Victor Yu
<victor.yu@computechnics.com.au> for reporting this.
1998-11-29 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/007/page09.html:
Added warnings about a possible core dump when an event handler
exists in the thread pool's message queue after the handler has
been destroyed. Jeff Donner's <JDonner@schedsys.com> work with
Tutorial 007 on Win32 lead to this discovery.
Sat NOv 28 20:02:08 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* examples/DLL/Today.cpp:
* examples/DLL/Newsweek.cpp:
Added the #ifdef directive needed to seperate out the
functionality on NT and UNIX platforms.
Sat NOv 28 20:02:08 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* examples/DLL/Dll.dsw:
* examples/DLL/Test_dll.dsp:
* examples/DLL/Today.dsp:
* examples/DLL/Newsweek.dsp:
Added to the repository. The test successfully executes on NT.
* examples/DLL/README: Modified to add information on how to
execute this test example on NT.
Fri Nov 27 13:32:38 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* examples/DLL/test_dll.cpp (main): Added right arguments to the
ACE_ERROR_RETURN macro.
Thu Nov 26 21:04:05 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* examples/DLL/Makefile:
* examples/DLL/Today.{h,cpp}:
* examples/DLL/Newsweek.{h,cpp}:
* examples/DLL/Magazine.h:
Placed the comments at the right place and added an descriptive
header wherever missing in the .h files.
* examples/DLL/test_dll.cpp (main): Added auto_ptr for the
Magazine class object pointer.
* examples/DLL/README: Added to the repository.
Wed Nov 25 02:02:32 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* examples/DLL/Makefile:
* examples/DLL/Today.{h,cpp}:
* examples/DLL/Newsweek.{h,cpp}:
* examples/DLL/Magazine.h:
* examples/DLL/test_dll.cpp:
Added these files. This test example shows how dynamically linked
library objects can be loaded on demand and their methods accessed
on getting an pointer to these objects.
Wed Nov 25 22:28:44 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/INET_Addr.cpp:
Reverted the behavior to version 4.35, we don't use the first
alias as the hostname, but the value returned in the h_name
field.
This change was to support TAO in our local site, but it caused
many problems for other configurations of /etc/hosts and DNS. We
found another workaround for our local site which makes more
sense to the rest of the world.
Wed Nov 25 20:34:12 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* tests/DLL_Test.cpp (main): Removed ACE_OS::strcat which was
concatenating a string literal with a defined string.
Wed Nov 25 12:01:20 1998 Ossama Othman <othman@astrosun.tn.cornell.edu>
* apps/gperf/gperf.texi:
* apps/gperf/gperf.info:
* apps/gperf/texinfo.tex:
* apps/gperf/version.texi:
updated gperf.texi to work with recent versions of makeinfo (e.g. 1.68,
available in GNU texinfo-3.12). Regenerated gperf.info with latest
makeinfo (1.68). Added texinfo.tex to make available certain TeX
macros for texinfo to TeX converters. Added version.texi to centralize
gperf update dates and versions (gets included by gperf.texi).
Wed Nov 25 12:01:20 1998 David L. Levine <levine@cs.wustl.edu>
* performance-tests/Misc/context_switch_time.cpp (main): fixed
printouts by performing floating point division, instead of
converted integer division to double. Added checks of
activate () return values.
* ace/OS.cpp (sched_params,lwp_getparams,lwpsetparams): set
LWP priority on Suns, even if only using the ACE_HAS_PTHREADS
interface. Though, we still don't get preemption if only using
that interface. performance-tests/Misc/preempt.cpp demonstrates
that.
* ace/config-osf1-4.0.h: removed ACE_LACKS_THREAD_PROCESS_SCOPING.
DU 4.0 seems to have process scoping, though I think only
the superuser can use it.
Wed Nov 25 10:48:42 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Task.cpp: Fixed a bug whereby we weren't inheriting the
group id correctly when joining a group of existing threads.
Thanks to Valery Arkhangorodsky <avalery@balisoft.com> for
pointing this out.
Tue Nov 24 03:50:09 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* tests/DLL_Test.cpp: Renamed DLL_Wrapper_Test.cpp to
DLL_Test.cpp. Also, added ACE_OBJ_SUFFIX which takes care of the
object code convention on NT and UNIX platforms. Changed the
messages in ACE_ERROR to come from ACE_DLL::error().
This is a running version tested using CC compiler too.
Tue Nov 24 17:45:26 1998 Steve Huston <shuston@riverace.com>
* netsvcs/clients/Naming/Dump_Restore/Makefile: Added a LIBS +=
$(ACELIB) to help this build on AIX. Thanks to Jon Lindgren
<jlindgren@SLK.com> for reporting this problem.
* README: Added Jon Lindgren to the contributor's list. Welcome, Jon!
Tue Nov 24 09:34:58 1998 David L. Levine <levine@cs.wustl.edu>
* include/makeinclude/platform_chorus.GNU: added support for
exceptions=0/1 make option. Thanks to Wei Chiang for
requesting this.
* include/makeinclude/platform_chorus_ghs.GNU: removed
trailing / from MVME_DIR definition.
* include/makeinclude/platform_vxworks5.x_ghs.GNU: added
optimize=1, to enable optimization by default.
* performance-tests/Misc/context_switch_time.cpp (main):
don't print suspend-resume results if the suspend-resume
test isn't run (because thr_suspend isn't supported).
Process command line options before calulating hi-res timer
scale factor.
* ace/OS.h: replaced ENOTSUP with EDEADLK in a comment,
to fix a copy-and-paste error.
* ace/Stats.* (mean): removed caching. It didn't account for
the fact that it could be called with different scale
factors. (std_dev): fixed sum_of_squares calculation to
always use 64-bit arithmetic. (print_summary): if the
std dev calculation overflows, retry with smaller scale
factor, until 0 is reached.
* tests/Conn_Test.cpp: replaced #include of ace/Auto_Ptr.h,
because ACE_Auto_Basic_Array_Ptr is used.
Mon Nov 24 03:30:36 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* tests/DLL_Wrapper_Test.cpp: Added a test example for the DLL
wrapper class.
* tests/Makefile: Added an entry for DLL_Wrapper_Test example.
Mon Nov 23 23:49:36 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* ace/DLL.h: Made the default value of the close_on_destruction
equal to 1.
* ace/DLL.cpp (~ACE_DLL): Checked whether the member variable,
close_on_destruction_ is non-zero instead of comparing it to 1.
Mon Nov 23 21:14:22 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* ace/DLL.h (ACE_DLL): Set the default of close_on_destruction to
1 instead of 0.
* ace/DLL.cpp (~ACE_DLL): In the close operation, made a check for
whether the close_on_destruction_ flag was equal to 1 instead of
0.
* ace/DLL.cpp (get_handle): Made the close_on_destruction_ flag
equal to 0 when it gets orphaned as now the new owner has to
explicitly close the library.
Mon Nov 23 20:29:52 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/DLL: Cleaned up the comments and also fixed an unnecessary
check to see if dll_name == 0.
Mon Nov 23 10:20:22 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* ace/DLL.h: Added a comment which specified that by default the
library would be closed before the ACE_DLL object gets
destroyed.
* ace/DLL.cpp (get_handle): Changed the value for the member
variable, close_on_destruction_ to 1 on orphaning the handle
and giving it to the new owner.
Mon Nov 23 17:14:40 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* examples/Reactor/Proactor/test_proactor.cpp (open): It is even
more neat to do this for faking the result.
// <complete> for Accept would have already moved the <wr_ptr>
// forward. Update it to the beginning position.
duplicate.wr_ptr (duplicate.wr_ptr () - bytes_transferred);
Mon Nov 23 17:16:46 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/OS.h: Set the value of ACE_SHLIB_INVALID_HANDLE to 0 for HP.
Thanks to Steve Huston <shuston@riverace.com> for providing this
information.
Mon Nov 23 16:16:26 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* examples/Reactor/Proactor/test_proactor.cpp: Updated the code to
show that adjusting wr_ptr () to the place of rd_ptr () is the
better way to fake results properly. Thanks to "James A. Risinger"
<james@tsunami.com> for reporting this problem.
Mon Nov 23 12:58:47 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/ASX/Message_Queue,
tests:
Replaced the improper (though technically correct) use of the
rd_ptr() with wr_ptr(). Thanks to Susan Liebeskind
<susan.liebeskind@gtri.gatech.edu> for reporting this.
Mon Nov 23 10:47:38 1998 David L. Levine <levine@cs.wustl.edu>
* bin/generate_man_pages: added this script, which generates
the ACE man and html pages.
* Makefile (release): added call to bin/generate_man_pages.
Sun Nov 22 22:58:39 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/SPIPE_Addr.h: Replaced the use of an anonymous struct so
that class2man will be happy. Thanks to David Levine for
reporting this.
Sun Nov 22 22:07:04 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Functor*: removed trailing // EOF because class2man choked
on it.
Sun Nov 22 14:36:26 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* examples/Reactor/Proactor/test_proactor.cpp (open): Updated the
test to show the correct way to 'fake' <complete> call.
Sun Nov 22 13:57:28 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Makefile: Added Env_Value_T to the TEMPLATE_FILES macro in
the Makefile. Thanks to Ossama for reporting this.
Sat Nov 21 14:32:53 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/DLL: Cleaned up the DLL logic to handle "close on
destruction" properly.
Sat Nov 21 08:34:44 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.h: added ACE_LACKS_IP_ADD_MEMBERSHIP, for internal
use only. If IP_ADD_MEMBERSHIP isn't defined, ACE defines
ACE_LACKS_IP_ADD_MEMBERSHIP for subsequent use in
determining whether to define ip_mreq.
* bin/html-windex: updated to match Doug's ~/bin version.
Fri Nov 20 00:58:35 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* ace/DLL.h (ACE_DLL): Added a new constructor which allows auto
opening of the dynamically linked library.
* ace/DLL.h (get_handle): Added a method which returns teh handle
to the user.
* ace/DLL.cpp (ACE_DLL): Added the auto-open feature taking care
of more than one open calls.
* ace/DLL.cpp (get_handle): The orphan flag decides whether the
handle is orphaned or given to the user temporarily.
* ace/DLL.cpp (open): Added a check so that a already existing
handle is closed before the next open is done.
Fri Nov 20 23:40:12 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/00[567]/client_handler.cpp :
* docs/tutorials/00[56]/page0[45].html
* docs/tutorials/007/page0[56].html
Rework the interaction of handle_input(), handle_close() and
close(). I had this all wrong by making handle_close() invoke
remove_handler() when it was unnecessary.
Fri Nov 20 22:12:03 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* ace/Makefile: Added an entry for DLL.{h,cpp}.
Fri Nov 20 15:49:04 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/OS.h: Added ACE_SHLIB_INVALID_HANDLE which is used to
indicate a invalid shared library handle.
* examples/Reactor/WFMO_Reactor/test_handle_close.cpp: This
application tests whether handle_close() gets called and if the
correct masks are passed along. The handler should get
handle_close() called for all three masks (READ, WRITE, and
EXCEPT).
* ace/WFMO_Reactor.cpp (remove_handler_i,
remove_suspended_handler_i, and remove_to_be_added_handler_i):
There was a bug in WFMO_Reactor where handle_close() was not
called when it is not a complete removal. Added a call to
handle_close() for all the masks that were removed. Note that
partial removals do not change the state of the internal tables
of the reactor.
* ace/OS.i (recvfrom): There is a bug in the Win32 implementation
of this function. It reports an error (with errno=WSAEMSGSIZE),
even MSG_PEEK is specified, when the message was too large to
fit into the specified buffer and was truncated. So we fixed it
by returning the length of the recv request when
errno=WSAEMSGSIZE and the MSG_PEEK flag was specified.
Fri Nov 20 11:15:40 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-sunos5.5.h: changed comment to use
-D_POSIX_PTHREAD_SEMANTICS to specify POSIX threads only.
Just commenting out ACE_HAS_STHREADS in insufficient.
See the Intro (3) man page for information on
-D_POSIX_PTHREAD_SEMANTICS; it's the Sun-recommended
way to specify use of POSIX threads. Thanks to
Rich Christy <rchristy@cccis.com> for pointing out that
removal of ACE_HAS_STHREADS doesn't work.
* ACE-INSTALL.html: added notes on thread flavors on Solaris.
* include/makeinclude/platform_sunos5_g++.GNU: added support
for threads=0.
* ace/OS.cpp (thr_create): added static cast of PTHREAD_STACK_MIN
to size_t, to avoid signed/unsigned comparison on
g++ 2.7.2.3/Solaris86 2.6.
Thu Nov 19 23:04:37 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Functor.h (ACE_Command_Base): Added missing ACE_Export.
Thu Nov 19 18:01:00 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* ace/DLL.cpp (ACE_DLL): Made base-member initialisation change
to member variable close_mode_.
Thu Nov 19 10:28:11 1998 David L. Levine <levine@cs.wustl.edu>
* performance-tests/Misc/context_switch_time.cpp: fixed 64-to-32
bit casts to work with unsigned 64 bit ACE_hrtime_t on NT.
Wed Nov 18 20:56:38 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* ace/DLL.{cpp,h} (ACE_DLL): Added the close-on-destruction
feature in the constructor of the ACE_DLL class.
Thu Nov 19 00:18:26 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/OS.i (strnstr): Added a check to see if the substring is
longer than the string being searched. Fixed both the char and
wchar_t versions in OS.i and the ACE_USHORT16 version in
SString.cpp. Thanks to Knut Johannessen <knutj@funcom.com> for
pointing out the bug and providing a fix.
* ace/SString.i (find): The argument to strnstr() should be the
length of <s> instead of <this->len_ - pos>.
* tests/SString_Test.cpp (main): Added tests to make sure that
find() and strstr() work even when the substring is longer that
the original string.
* ace/Timeprobe_T.h (ACE_Timeprobe): Added accessors to the class
so that the user can get to the internals. This allows the
users to format the output of collecting the timeprobes
according to their liking.
Wed Nov 18 15:51:42 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Basic_Types.h (ACE_UINT64_DBLCAST_ADAPTER): on other
than Win32 and without ACE_LACKS_LONGLONG_T, wrapped the
"n" macro definition with parenthesis, to avoid insidious
errors in equations due to removing the grouping. g++ 2.7.2.3
noticed this on the latest context_switch_time.cpp.
* ace/Svc_Handler.cpp (cleanup_hint): fixed ACE_TRACE string.
* *.cpp: changed include protection from #if !defined to ifndef.
Added #pragma once, if possible, i.e., after #include of
an ace/ header. It can only be done after ace/config.h
is included, because some platforms don't allow #pragma once.
Wed Nov 18 15:54:09 EST 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/007/client_handler.cpp
* docs/tutorials/007/page06.html
Jeff Donner (jdonner@schedsys.com) points out that Susan Liebskind's
fix to Tutorial 6 should also be applied to this one.
The fix is:
Don't call baseclass close() from Client_handler::close(). Doing
so will result in double-delete of the handler object.
Wed Nov 18 00:25:08 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* ace/DLL.{h,cpp} (ACE_DLL):
Wrapper for dynamically linked library operations.
Tue Nov 17 11:15:00 1998 Chris Gill <cdgill@cs.wustl.edu>
* tests/version_tests/RB_Tree_Test.dsp
tests/version_tests/version_tests.dsw : created RB_Tree_Test project
for NT version tests and added it to version tests workspace.
Tue Nov 17 10:15:10 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Map_Manager.cpp (resize_i): Made sure the new elements in
resize_i get constructed properly so we can use more complex
classes with it. Thanks to Knut Johannessen <knutj@funcom.com>
for providing the patch. Also changed to use copy constructor
to move data across rather than construct/assign pair.
Tue Nov 17 09:37:32 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-linux-common.h: removed
ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR because it caused compilation
failure with egcs 1.0.2.
* ace/config-g++-common.h: added ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR,
with egcs >= 1.1 only. Thanks to James Johnson for helping
to sort this out.
* ace/config-osf1-4.0.h: moved ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR
from common area to DEC CXX area, because config-g++-common.h now
handles g++.
* ace/IOStream_T.i (eof): fixed return value calculation
logic. Thanks to Arturo and James Johnson for providing
and verifying the fix.
* include/makeinclude/platform_vxworks5.x_ghs.GNU:
added -DVXWORKS to CFLAGS, because GHS 1.8.9 needs it.
(GHS 1.8.8 had a built-in processor define for it. Adding
-DVXWORKS doesn't seem to bother 1.8.8.) Thanks to Steve
Kay <slk1@icore.ih.lucent.com> for reporting this.
* ace/OS.h: even if ACE_HAS_IP_MULTICAST is not defined, if
IP_ADD_MEMBERSHIP is defined, assume that the ip_mreq struct
is also defined (presumably in netinet/in.h). This allows
compilation to succeed on GHS 1.8.9/VxWorks. Thanks to
Steve Kay <slk1@icore.ih.lucent.com> for reporting it.
Tue Nov 17 09:12:00 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/SString.{h, i}: added < , > operators to string classes
* apps/JAWS/PROTOTYPE/HTTPU/http_headers.cpp
tests/RB_Tree_Test.cpp: added missing template instantiations
* tests/Makefile
tests/run_tests.sh : added RB_Tree test to UNIX makefile, test script
Mon Nov 16 17:55:00 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/Functor_T.{h, i}
ace/RB_Tree.{cpp, h, i} : added less-than comparison functor
(aka function object aka GOF Command Pattern) to allow ACE_RB_Tree
to be used with key types that do not support a < operator.
Thanks to Mark De Jong <mdj@intervu.net> for reporting the less-than
problem and suggesting part of the solution. Also cleaned up class
naming and comments to conform to ACE coding standards, fixed an
access violation that occurred when deleting items from a tree.
* tests/RB_Tree_Test.{cpp, dsp}
tests/run_tests.bat
tests.dsw: Added a test to verify correct tree
behavior under insertion and deletion for different key and item
types and insertion orders.
* apps/JAWS/PROTOTYPE/HTTPU/http_headers.{cpp, h}: Changed type names
for ACE_RB_Tree and associated classes.
Sun Nov 15 16:34:11 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-osf1-4.0.h,config-linux-common.h: added
ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR #define. Thanks to
James Johnson for reporting that it is necessary.
* ace/config-kcc-common.h: removed commented-out
ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR #define.
Sun Nov 15 12:40:35 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/018/*
* docs/tutorials/online-tutorials.html
A new tutorial on ACE_Token.
Sun Nov 15 12:10:39 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/013/*
A few more tweeks now that the sun is up. Mostly simple
documentation changes but a couple of cleanups on the code as well.
Sat Nov 14 23:15:58 EST 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/013/message_queue.cpp
docs/tutorials/013/block.cpp
docs/tutorials/013/block.h
docs/tutorials/013/combine.shar
docs/tutorials/013/*.html
Something changed between 4.5.x and 4.6 with the calling
order for ACE_Lock_Adapter<>::release() and ::destroy().
Specifically: In the older release, the data block's
lock was being held across its destruction. That required
some odd things to prevent the lock's deletion until it
was released.
In the new version, it appears that release() is called
on the lock before the data block's destructor is called.
Data_Block::Lock::destroy() can now simply 'delete this'
The funky destroy_ flag is no longer necessary.
Thanks to Bob McWhirter <bob@werken.com> for causing me
to look back on this and get it fixed.
I've also taken this opportunity to convert the tutorial
to the new style colorized HTML.
Sat Nov 14 22:01:52 1998 David L. Levine <levine@cs.wustl.edu>
* bin/make_release (diff): fixed logic that determines
when to use ../diffs/ instead of diffs/. Thanks to
Doug for reporting this.
Sat Nov 14 14:21:49 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.6.4 released.
Fri Nov 13 12:03:18 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/config-irix6.x-sgic++.h:
* ace/config-irix6.x-sgic++-nothreads.h:
Under some versions of IRIX 6.X the readdir_r() prototype does
not show up unless threads support (actually POSIX1c support) is
enabled. I've change the config file to only use readdir_r() if
threads are enabled. Thanks to Bob Olson <olson@mcs.anl.gov> for
reporting this problem.
Fri Nov 13 08:55:18 1998 David L. Levine <levine@cs.wustl.edu>
* tests/Pipe_Test,Process_Mutex_Test.cpp: wrapped some variables
and functions with #ifndef ACE_LACKS_FORK, to avoid warnings
on g++/VxWorks.
Thu Nov 12 09:07:28 1998 David L. Levine <levine@cs.wustl.edu>
* bin/make_release: use ../diffs if building ace+tao kit, so
we no longer need a ../diffs symlink in TAO directory. Thanks
to Hans Rohnert <rohnert@scr.siemens.com> for motivating this.
* ace/README: removed ACE_LACKS_STREAM_MODULES. Thanks to
Ossama for reporting that it's no longer used.
Wed Nov 11 23:11:15 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* bin/ACEutils.pm: Updated to include $EXEPREFIX, which is used
in front of executables in the run_test.pl's.
Wed Nov 11 01:08:32 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ACE-INSTALL.html: Added a link to Ossama's ACE Configuration
Project.
Tue Nov 10 22:29:00 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.6.3 released.
Tue Nov 10 22:24:59 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* docs/tutorials: Integrated Umar's code examples from
the ACE programmers manual.
Tue Nov 10 21:53:01 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Process.cpp: added const to loop index, in CHORUS code.
Tue Nov 10 19:27:32 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* ace/OS.[i,cpp]:
Added checks for ACE_HAS_WINNT4 != 0 when checking for
ACE_HAS_WINNT4 like we do elsewhere. Thanks to Valery
Arkhangorodsky <avalery@balisoft.com> for pointing this out.
Tue Nov 10 14:56:38 EST 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/index.html
Including #17 now
* docs/tutorials/017/*.html
docs/tutorials/017/combine.shar
Completed! Commented and converted into standared Tutorial format.
Tue Nov 10 10:09:06 1998 David L. Levine <levine@cs.wustl.edu>
* tests/Env_Value_Test.cpp (main): replaced hard-coded "/" with
ACE_DIRECTORY_SEPARATOR_STR.
* ace/config-vxworks5.x.h: removed ACE_HAS_VERBOSE_NOTSUP #define.
Thanks to Margherita Vittone Wiersma <vittone@fndaub.fnal.gov> and
Ramiro Penataro Blanco <penataro@ll.iac.es> for complaining
about it.
Mon Nov 9 23:27:59 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/ASX/Message_Queue/buffer_stream.cpp (main): Fixed an
off-by-one bug. Thanks to Rainer Blome
<rainer_blome@de.ibm.com> for reporting this.
Mon Nov 09 21:31:56 1998 David L. Levine <levine@cs.wustl.edu>
* tests/Env_Value_Test.cpp (main): prepended "./" to name of
file to spawn. With the last round of changes to
ace/Process.cpp, that's necessary if "." isn't in the user's
PATH. That's because we're now using only execvp, and no
longer using execve.
* tests/Atomic_Op_Test.cpp,Barrier_Test.cpp,Buffer_Stream_Test.cpp,
Future_Test.cpp,IOStream_Test.cpp,MT_Reactor_Timer_Test.cpp,
Map_Manager_Test.cpp,Message_Block_Test.cpp,
Message_Queue_Notifications_Test.cpp,Notify_Performance_Test.cpp,
Pipe_Test.cpp,Priority_Buffer_Test.cpp,Priority_Task_Test.cpp,
Process_Mutex_Test.cpp,Reactor_Exceptions_Test.cpp,
Reactor_Notify_Test.cpp,Reactor_Performance_Test.cpp,
Reactors_Test.cpp,Reader_Writer_Test.cpp,SPIPE_Test.cpp,
SV_Shared_Memory_Test.cpp,Semaphore_Test.cpp,TSS_Test.cpp,
Task_Test.cpp,Thread_Manager_Test.cpp,Thread_Mutex_Test.cpp,
Thread_Pool_Reactor_Test.cpp,Thread_Pool_Test.cpp,
Tokens_Test.cpp,UPIPE_SAP_Test.cpp,Upgradable_RW_Test.cpp,
XtReactor_Test.cpp:
changed Log_Priority of "not supported" messages to LM_INFO.
Hopefully, it will help avoid confusion, especially among
new ACE users. Thanks to Gonzo for suggesting this.
* tests/run_tests.sh: added ACE version number printouts.
* BUG-REPORT-FORM: added phase (compilation/linking/execution/other),
and ACE+TAO/application/both.
Mon Nov 9 02:52:11 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Signal.cpp: handle_close() wasn't being called when
handle_signal() returns -1. It is now... Thanks to Vicentini
Emanuele <arena.sci.univr.it> for reporting this.
* ace/Event_Handler.h (ACE_Event_Handler): Added a SIGNAL_MASK so
that we can pass this to handle_close() when handle_signal()
returns -1.
* README: Fixed a typo where ACE-install.html was misspelled as
ACE-Install. Thanks to Michael Thomas
<Michael.Thomas@Australia.Boeing.com> for reporting this.
Sun Nov 08 22:00:22 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Message_Block.h: changed ACE_Message_Type to int, to
avoid overload ambiguity when it's unsigned.
Sun Nov 8 10:42:38 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Message_Block.h: Changed the ACE_Message_Type from being an
enum to being an ACE_UINT32 so that it's easier for users to add
their own message types to an ACE_Message_Queue. Thanks to
Martin Krumpolec <krumpo@pobox.sk> for this suggestion and to
David Levine for catching that it should be an ACE_UINT32.
Fri Nov 6 23:08:16 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Process.cpp (spawn): Set result correctly when execvp() is
called. Also, make sure to check for putenv() failing. Thanks
to David Levine for pointing this out.
* tests/Env_Value_Test.cpp: Reformatted the test a bit.
Fri Nov 06 22:41:21 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Process.cpp (spawn): initialized local "result" to 0
to avoid egcs warning about possible unitialized use. Added
const to loop index to avoid egcs warning about discarding
const.
* ace/OS.h,Basic_Types.h: moved ACE_UINT64_FORMAT_SPECIFIER from
OS.h to Basic_Types.h, because other 64-bit int support is
there. Changed default ACE_UINT64_FORMAT_SPECIFIER to
"%llu", because that's what Solaris 2.x uses.
* ace/config-win32-common.h,ace/config-linux-common.h: added
ACE_UINT64_FORMAT_SPECIFIER overrides.
* ace/Log_Msg.cpp (log): added ACE_U_LongLong support.
Fri Nov 6 13:29:11 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/OS.h (ACE_UINT64_FORMAT_SPECIFIER): Changed
#define ACE_UINT64_FORMAT_SPECIFIER "%I64d"
to:
#define ACE_UINT64_FORMAT_SPECIFIER "%I64u"
to handle the signed/unsigned stuff correctly. Thanks Zoran!
* ace/Process.cpp (spawn): Replaced the use of execve() with
execvp() by copying the environment variables manually first.
Thanks to Avi Nash for this fix.
* ace/Log_Msg.cpp (log): Added support for a `%Q' format specifier
to the log() method. This prints out quad words, i.e.,
ACE_UINT64's. Thanks to Zoran Ivanovic <zorani@pathcom.com> for
contributing this.
* Updated the "site map" for ACE so that it doesn't use absolute
links. Thanks to Rainer Blome <rainer_blome@de.ibm.com> for
contributing this.
* ace/Process.h: Clarified the behavior of ACE_Process and
ACE_Process_Options on UNIX because of the use of execve(),
which doesn't search the path. Thanks to Avi Nash for reporting
this.
Fri Nov 06 15:01:20 1998 Rainer Blome <rainer_blome@de.ibm.com>
* tests/run_tests.sh: augmented to make, run, and discard
each test for which it doesn't find an executable.
Thus, if you first say make to build the executables, all tests
will just run (or not ;-), nothing is changed.
If you start run_tests.sh without having built the executables,
it will make, run and discard the tests one by one instead.
Any compiler output goes to log/compilation.log.
Fri Nov 06 12:58:24 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Thread_Manager.cpp: Removed several superfluous parens so
the code looks clearer and less error-prone.
1998-11-06 James CE Johnson <jcej@lads.com>
* docs/tutorials/013/block.cpp
* docs/tutorials/013/page05.html
* docs/tutorials/015/Compressor.cpp
* docs/tutorials/015/Crypt.cpp
* docs/tutorials/015/Recv.cpp
* docs/tutorials/015/Xmit.cpp
* docs/tutorials/015/*.html
Susan Liebeskind (susan.liebeskind@gtri.gatech.edu) discovered
that you can't use the 'inherited' typedef to initialize a
baseclass if you use the AIX C++ compiler.
Fri Nov 06 08:57:49 1998 David L. Levine <levine@cs.wustl.edu>
* tests/Mem_Map_Test.cpp (reverse_file): put the volatile
qualifier back in. LynxOS 3.0.0/PowerPC needs it with -O2
and without ACE_HAS_INLINE.
* VERSION: added reference to BUG-REPORT-FORM. Thanks to
Peter Nordlund <petern@nada.kth.se> for providing the new
text.
* ace/SOCK_Dgram_Mcast.cpp (unsubscribe): fixed ACE_TRACE
string.
* ACE-INSTALL.html: added note on possibly having to change
-G to -shared in platform_macro.GNU's SOFLAGS with GNU linker.
Thanks to Andy Gokhale and James Megquier <jmegq@bbn.com> for
reporting this. If anyone knows of an automagic fix, that would
be appreciated.
* ACE-INSTALL.html: added note on how to enable IP multicast on
LynxOS.
Thu Nov 5 23:10:46 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Thread_Manager.cpp (wait_task): Fixed a wrong parenthesis
pair. Thanks to Bob McWhirter <bob@werken.com> for figuring
this out.
Thu Nov 5 21:41:26 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/017
Began the ACE_Barrier tutorial. So far, it's just code but I'll
add the usual heavy comments & commentary in the next few days or
so. I'll update the docs/tutorials/index.html after that.
Thu Nov 5 14:42:59 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ACE-INSTALL.html: Cleaned up a typo in the ACE-INSTALL.html
file. Thanks to James Megquier <jmegq@bbn.com> for reporting
this.
* ace/config-sunos5.5.h: Cleaned up the comments a bit to make it
more clear how to enable/disable threads. Thanks to Russ
Noseworthy <rnosewor@objectsciences.com> for reporting this.
* ace/Stream.h: Clarified some subtleties with subclassing from
ACE_Stream. Thanks to Stephen Coy for reminding me of this.
* include/makeinclude: Updated the platform_linux_kcc.GNU file.
Thanks to Joseph Weihs <joseph-w@Orbotech.Co.IL> for reporting
this.
* ACE.FAQ.html: Pointed out that ACE is Y2K compliant. Thanks to
Fredrik Lindahl <fredrik.lindahl@ausys.se> for suggesting this.
Thu Nov 05 13:23:29 1998 David L. Levine <levine@cs.wustl.edu>
* include/makeinclude/platform_lynxos.GNU: default VERSION
to 3.0.0. We no longer build/test for LynxOS 2.5.0. Added
usage comments.
* ACE-INSTALL.html: for LynxOS, added link to platform_lynxos.GNU
file, for usage information. Replaced some absolute paths in
URLs with relative paths.
Wed Nov 4 23:28:55 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Stream.h: Made all the methods of ACE_Stream virtual to
enable subclasses. Thanks to Bob McWhirter's for this
suggestion.
Tue Nov 3 16:06:23 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Logger/simple-server: Fixed the server so that it shuts
down cleanly when ^C is given. Thanks to Avi Nash
<anash@RedBrick.COM> for reporting this.
Tue Nov 03 13:17:49 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Thread_Manager.{h,i,cpp} (thread_desc_self): Changed this
method to an inline function. Removed outdated comments and
instead of searching thru the list when the current thread's
descriptor is not found in TSS cache, place an assertion there
for this should never happen. Thanks to Terry Rosenbaum
<Terry.Rosenbaum@Radiology.MSU.edu> for motivating the change.
Mon Nov 2 22:54:08 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* ace/config-win32.h:
* ace/config-win32-common.h:
Only define ACE_LACKS_RECVMSG/SENDMSG for non-WinSock2 systems.
Before, it was being defined for all non-NT configurations.
Thanks to Irfan for suggesting this change.
Mon Nov 2 18:18:04 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Reactor/Dgram/CODgram.cpp,
examples/Reactor/Dgram/Dgram.cpp:
Fixed these programs so that they will work across
processes/machines, as well as within the same process. Thanks
to Larry <larry@paradigmsim.com> for reporting this.
* Added a "site map" for ACE. Thanks to Rainer Blome
<rainer_blome@de.ibm.com> for contributing this.
Mon Nov 2 18:13:29 EST 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/ACE-FMM.html
Updated from Bob's <bob@netwrench.com> latest.
Mon Nov 02 11:22:30 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/Thread_Pool_Reactor_Test.{h,cpp}: Renamed Acceptor_Handler to
Request_Handler to better reflect what the class actually does.
* docs/ACE-categories.html: Fixed erroneous html tags. Thanks to
Rainer Blome <rainer_blome@de.ibm.com> for reporting this.
Mon Nov 02 00:26:59 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace: Since connectors really don't have any state, they don't
need to inherit from the SAP classes. Therefore, modified the
following to be simpler:
TLI_Connector
DEV_Connector
SPIPE_Connector
UPIPE_Connector
Sun Nov 01 21:18:24 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/WFMO_Reactor.cpp (upcall): Before handle_input is called
because of FD_CLOSE, we check the return value of handle_input
because of FD_READ. If the user had returned -1, we won't call
handle_input again. Thanks to Gonzalo Diethelm
<Gonzalo.Diethelm@jda.cl> for suggesting this change.
* examples/Reactor/WFMO_Reactor/test_network_events.cpp
(handle_input): Changed this method to keep reading from the
socket until EWOULDBLOCK occurs.
Sun Nov 1 17:32:50 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* tests/Hash_Map_Manager_Test.cpp (run_test): Oops, we need to
account for compilers that lack template specialization! Thanks
to David Levine for reporting this.
Sun Nov 01 17:24:56 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-win32-borland.h,config-win32-common.h,README:
removed ACE_LACKS_STL_DEFAULT_TEMPLATE_PARAMETER because
it's no longer used. Thanks to Ossama for reporting this.
Sun Nov 01 08:54:08 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.6.2 released.
Sat Oct 31 18:12:36 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* tests/Hash_Map_Manager_Test.cpp (run_test): updated the test to
validate that the trybind() operation works correctly. Thanks
to Bill Fulton <fultonb@pcnet1.ascs.aro.allied.com> for this
fix.
* ace/Hash_Map_Manager.cpp: trybind() was doing the "Wrong
Thing"[TM] by overwritting the INT_ID even if the entry was
already in the map! It's fixed now... Thanks to Bill Fulton
<fultonb@pcnet1.ascs.aro.allied.com> for reporting this.
Sat Oct 31 17:15:42 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.6.1 released.
1998-10-31 Nagarajan Surendran <naga@polka.cs.wustl.edu>
* ace/Select_Reactor_T.cpp (dispatch): Added signal_occurred at
the right return to indicate that a handle_signal () has been
dispatched.
Fri Oct 30 20:31:27 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* tests/Semaphore_Test.cpp: Cleaned up the #if's to make it easier
to understand, and fixed a related problem. Thanks to
Ossama for finding this.
Fri Oct 30 15:47:39 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Select_Reactor_T.cpp (dispatch): Make sure to include a
count of 1 if the Reactor dispatched a handle_signal() method.
This ensures we don't return 0 from handle_events() in cases
where we didn't timeout... Thanks to Naga for chasing this
down!
Fri Oct 30 11:53:16 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-sunos5.6.h: removed ACE_HAS_POSIX_SEM #define because
it caused a seg fault in Reactor_Notify_Test on
g++ 2.7.2.3/Solaris86 (with -D_POSIX_C_SOURCE=199506L
-D_POSIX_PTHREAD_SEMANTICS -D__EXTENSIONS__). The seg fault is
at the end of the test:
#0 0xdfd5a809 in realfree ()
#1 0xdfd5ad16 in cleanfree ()
#2 0xdfd5a43a in _malloc_unlocked ()
#3 0xdfd5a2e9 in malloc ()
#4 0xdfd61a25 in _strdup ()
#5 0xdfeffcd5 in ACE_Log_Msg::log (this=0x8052ec0,
format_str=0x804f0af "(%P|%t) Ending %s test at %D\n",
log_priority=<error type>,
argp=0x80476ac "\n\004\bԁ\177\023\004\bv\004\b\004\b\001")
at /export/home/conga/levine/ACE_wrappers/ace/OS.i:1399
#6 0xdfeffbfa in ACE_Log_Msg::log (this=0x8052ec0,
log_priority=<error type>,
format_str=0x804f0ac "d\n") at Log_Msg.cpp:601
#7 0x804c935 in main () at Reactor_Notify_Test.cpp:297
It's hard to imagine how ACE_HAS_POSIX_SEM could cause that.
But, it's perfectly repeatable. And, we can live without
ACE_HAS_POSIX_SEM.
* tests/run_tests.sh: really commented out Thread_Pool_Reactor_Test.
It _wasn't_ commented out in the 4.6 release.
* tests/Mem_Map_Test.cpp (reverse_file): removed volatile
qualifier because it no longer seems to be necessary for LynxOS
3.0.0/PowerPC.
Fri Oct 30 09:23:55 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/SString.h: Cleaned up the ACE_SString comments to be more
helpful. Thanks to Ivan Murphy <Ivan.Murphy@med.siemens.de> for
motivating this.
Thu Oct 29 22:19:19 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/ACE-FMM.html:
Updated from Bob's latest version. Thanks Bob!
Thu Oct 29 21:13:41 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/016/Condition_i.cpp:
Fixed messed-up the signature on
Condition::operator Condition::value_t(void)
Thu Oct 29 18:51:19 1998 Steve Huston <shuston@riverace.com>
* ace/ACE.cpp: Added "|| defined (_AIX)" to decision to do
template instantiations at end of file. Thanks to Ian
Wright <I.Wright@elsevier.co.uk> for this fix.
* ace/config-aix-4.1.x.h: Added ability to use g++ in addition to xlC.
Thanks again to Ian Wright for this addition.
* include/makeinclude/platform_aix_g++.GNU: New platform_macros file
for building on AIX with g++. And, once again, thanks to Ian Wright
for this contribution.
* ace/NT_Service.i: Added ACE_INLINE to the methods in this file.
Thanks to Goran Lowkrantz <Goran.Lowkrantz@infologigruppen.se>
for this fix.
Thu Oct 29 17:36:29 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* tests/Semaphore_Test: Removed the timed acquire stuff from
the worker thread and the display at the end of the test.
Now it shouldn't output the confusing "100% of threads
timed out" message on platforms without timed acquire.
Thu Oct 29 15:25:19 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Svc_Handler.cpp (open): Added a trailing newline to the
error message.
Thu Oct 29 15:13:07 EST 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/index.html
* docs/tutorials/016/*
Added Tutorial 016. This discusses ACE_Condition<> and ways
to make it more manageable in an application.
Thu Oct 29 11:44:21 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-sunos5.6.h: changed ACE_THREAD_POSIX_SEM to
ACE_HAS_POSIX_SEM. It looked like a typo.
Only #define ACE_HAS_POSIX_SEM if _POSIX_PTHREAD_SEMANTICS is
#defined. Thanks to Ossama for help with this.
Also, removed ACE_HAS_PTHREADS_STD because it's
#defined in config-sunos5.5.h.
Wed Oct 28 14:30:01 1998 Rainer Blome <rainer_blome@de.ibm.com>
* ace/Makefile: added AIX_TEMPLATE_HACK support.
This patch helps using Rob Jordan's trick described in the
ACE-INSTALL file. The existing description in the ACE-INSTALL
is a little misleading. Creating a ACE_All_Tmp.h will not
really help, because the Makefile will look for a ACE_All_Tmp.cpp.
Here's how to use the patch:
Use `make ACE_All' to create 0_ACE_All_Src.h, 0_ACE_All_Src.cpp and
0_ACE_All_Tmp.cpp. These files contain include directives for each
of the files mentioned in the makefile variables FILES and
TEMPLATE_FILES. Then `make AIX_TEMPLATE_HACK=1' to compile the
library in one go. Compilation is fast then, but `ar' will still
take a long time.
Wed Oct 28 09:13:10 1998 David L. Levine <levine@cs.wustl.edu>
* ACE-INSTALL.html: expanded discussion of non-static
ACE_Object_Manager, including the fact that it's the
default config on Win32 and VxWorks. And that not
declaring main () with two arguments will lead to
link failure due to unresolved ace_main_i.
* tests/Time_Service_Test.cpp,Tokens_Test.cpp: display
filename if ACE_Process::spawn () fails.
* tests/run_tests.sh: only run Time_Service_Test if
../netsvcs/server/main exists. Also, exit if a command
line argument is provided to run_tests.sh, and the argument
is not a Chorus hostname.
* ace/Object_Manager.h: declare the ACE_Object_Manager_Base
methods to be public, instead of protected, for DEC CXX 5.6
(in addition to Diab for PSoS). Thanks to Doug Anderson
<doug@clark.net> for suggesting this.
* ace/config-sunos5.5.h: removed ACE_HAS_TIMER_SKEW. Thanks
to Russ Noseworthy <rnosewor@objectsciences.com> for verifying
that it no longer seems to be necessary.
* ace/config-linux-common.h: added ACE_HAS_PROCFS.
Tue Oct 27 22:14:18 1998 David L. Levine <levine@cs.wustl.edu>
* ACE version 4.6 released.
Tue Oct 27 21:54:17 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* man: Added the ACE_Service_Repository_Iterator.{html,3} files.
Thanks to Erik Koerber <erik.koerber@siemens.at> for reporting
this.
* Updated the manual pages to reflect the latest APIs in
the new release.
Tue Oct 27 14:16:27 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/015/Recv.cpp : Changed atoi() to ACE_OS::atoi()
* docs/tutorials/015/page22.html: Ensure that the correct cpp
and header files are HREF'd
Thanks to Susan Leibeskind <shl@cc.gatech.edu> for catching these.
Tue Oct 27 12:31:28 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.i (cond_timedwait): Made sure the broadcaster always gets
signaled no matter what the "wait" function return if this is
the last waiter for this cv. In any case, the calling thread is
no longer waiting on the cv any more.
Tue Oct 27 08:22:41 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-win32.h: fixed typo in comment:
ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER instead of
ACE_DONT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER. Thanks to
Olivier Lau <olivier_lau@srtelecom.com> for reporting this.
* tests/Semaphore_Test.cpp (test_timeout_count,test_timeout):
put these in #ifndef STHREADS && #ifndef POSIX_SEM protection
to avoid compiler warnings about unused variable/function.
* ace/config-sunos5.5.h: added comment to comment out
ACE_HAS_REGEX if there are link problems with g++ or egcs on
SunOS 5.5. Thanks to Hakan Kallberg <hk@simulina.se> for
reporting this.
* ACE-INSTALL.html: added Sun C++ version/patchlevel information,
including a link to Sun's tech patches home patch. Thanks to
Susan for recommending this, and for providing the URL.
* ACE-INSTALL.html: added note about segfault when attempting to
register a signal handler on LynxOS 3.0.0/PowerPC.
* ace/Object_Manager.cpp (fini): added check of
instance_->shutting_down_ on entry. This will avoid
reentrance if fini () is called before the Object_Manager
is (explicitly) destroyed. Thanks to Gonzo for reporting it.
Tue Oct 27 05:47:21 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.65 released.
Tue Oct 27 03:24:36 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/TP_Reactor.h: Added an description for TP_Reactor.
* ace/OS.i (cond_timedwait): When emulating cv, there're chances
that the "wait for being signaled" function times out and return
an error. In this rare case, we must also signal the
broadcasting thread to bail out of cond_broadcast to avoid
deadlock since we are no longer waiting on the cv anymore.
Thanks to Detlef Becker <Detlef.Becker@med.siemens.de> for
noticing the problem and providing the patch.
Mon Oct 26 20:59:15 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Synch_T.{i,cpp} (ACE_Lock_Adapter): uninlined the
ACE_Lock_Adapter default constructor. SunPRO C++ 4.2 + patch
104631-07 has trouble compiling TAO with it inline.
Thanks to Terry Rosenbaum <Terry.Rosenbaum@Radiology.MSU.edu>
for tracking this problem down and providing the fix.
Mon Oct 26 18:33:28 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* Updated the dependencies in all the Makefiles, this was required
after the new Message_Block_T.{h,i,cpp} files.
Mon Oct 26 19:16:27 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/000/index.html: This index is has a layout
similar to Umar's ACE Tutorial document. As time progresses, we
will be merging the examples in his document into the online
tutorials. The current free-form tutorials will not go away but
will be supplimented with Umar's more structured approach.
Mon Oct 26 17:37:55 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/OS.h:
* ace/config-sunos5.4-sunc++-4.x.h:
* ace/config-sunos5.5.h:
Sun/CC throws the ::xalloc exception when operator new cannot
allocate the memory, thanks to Terry Rosenbaum
<Terry.Rosenbaum@Radiology.MSU.edu> for reporting this and
providing a patch.
* ace/Makefile:
Updated dependencies.
Mon Oct 26 17:02:48 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/Thread_Pool_Reactor_Test.cpp: Reduced the number of
connector threads _ONLY_ on platforms that couldn't handle too
many simultaneous connection.
Changed to use dotted-decimal format to specify connection
endpoint for some platforms don't have a decent DNS support.
Mon Oct 26 12:04:10 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/ace_lib.dsp: Added TP_Reactor into the project.
Mon Oct 26 11:29:55 1998 Darrell E. Brunsch <brunsch@tango.cs.wustl.edu>
* tests/Semaphore_Test.cpp: Changed behavior for ACE_HAS_STHREADS
and ACE_HAS_POSIX_SEM so it still tests everything but doesn't
test the timed waits.
Mon Oct 26 08:22:18 1998 David L. Levine <levine@cs.wustl.edu>
* docs/ACE-guidelines.html: added recommendation and
explanation re. use of #pragma once.
* docs/ACE-guidelines.html: recommend avoiding g++ 2.8.1.
* tests/SV_Shared_Memory_Test.cpp: don't try to run this
test if ACE_LACKS_FORK, because it uses ACE_OS::fork ().
It allocates the shared memory segment before the fork,
of course, so that was leaked if the fork was attempted
but failed.
* tests/Pipe_Test.cpp,Process_Mutex_Test.cpp: don't try
to run these tests if ACE_LACKS_FORK, either.
* tests/Mem_Map_Test.cpp (reverse_file): use a local, volatile
variable for the array index. Without it, the test core dumps
on LynxOS 3.0.0/PowerPC with -O2.
* tests/run_tests.sh: run Timer_Queue_Test and Upgradeable_RW_Test
on LynxOS.
* tests/run_tests.vxworks: changed
Message_Queue_Notifications_Test.cpp to
Message_Queue_Notifications_Test.
Mon Oct 26 01:49:44 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/Env_Value_Test.cpp (main): Changed argv and envp to type
LPTSTR[].
Sun Oct 25 23:52:40 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.64 released.
Sun Oct 25 22:18:26 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Select_Reactor_T.cpp (dispatch): Be more careful in how we
handle dispatching when signals occur. In general, if we're
interrupted by a non-Reactor-aware signal handler we need to
bail out... Thanks to Naga for reporting this.
* examples/Reactor/Misc/test_signals_1.cpp: Cleaned up this test
so that it'll show off the signal handling capabilities of the
ACE Reactor better.
Sun Oct 25 14:13:31 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* ace/OS.i: Changed ACE_OS::sigaction to work with a null value
for <nsa> on Windows. Thanks to Jim Buck <jim@nowsol.com> for
reporting this.
* examples/Reactor/Misc/reactors.dsp:
* examples/Reactor/Misc/signals_1.dsp:
* examples/Reactor/Misc/signals_2.dsp:
Corrected the include and library paths. Thanks to
Zoran Ivanovic <zorani@pathcom.com> for reporting this.
* ChangeLog: Removed all the trailing spaces and tab characters so
CVS's commit-check will be happy.
Sun Oct 25 10:59:21 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/config-sunos5.5.h: Added
#if defined (i386)
#define ACE_HAS_X86_STAT_MACROS
#endif /* i386 */
to check for the [f]stat macros on Solaris for Intel. Thanks to
Daniel Nieten <dnieten@bellsouth.net> for reporting this.
Sun Oct 25 00:15:03 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Service_Config.cpp (process_directives): We should use
ASYS_WIDE_STRING to convert a <char *> to a UNICODE string.
Sat Oct 24 18:39:11 1998 Steve Huston <shuston@riverace.com>
* ace/ACE.cpp (get_ip_interfaces, get_handle): Add _AIX to the list
of macros which enable the proper code for these to work.
ACE::get_ip_interfaces still doesn't work right on AIX, though -
it reports one link-level interface. May need to get IBM's help
with this.
Sat Oct 24 18:07:00 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.h (ACE_TEXT): Consolidated various ACE_TEXT definitions
into one and place it near the beginning of the file.
Re-indented macros.
Sat Oct 24 17:47:15 1998 Arturo Montes <mitosys@colomsat.com.co>
* ace/OS.i (sigwait): Sigwait is little different with FSU
pthreads, sigwait take two arguments and return -1 if error, 0
in otherwise.
Sat Oct 24 17:26:41 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* ace/OS.h (ACE_TEXT): Moved Nanbor's changes outside of
ACE_PSOS block.
* ace/config-win32.h: Defined ACE_HAS_TEXT_MACRO_CONFLICT,
seeing that MSVC already defines __TEXT.
Sat Oct 24 15:21:32 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.h (ACE_TEXT): Changed the macro __TEXT to ACE_TEXT to
avoid conflicting with OS/390. __TEXT is still available for
backward compatibility unless ACE_HAS_TEXT_MACRO_CONFLICT is
defined. However, using ACE_TEXT is prefered for obvious
reason. Thanks to Paul K. Fisher <pfisher@plexware.com> for
reporting this.
* ace/README: Added documentation for ACE_HAS_TEXT_MACRO_CONFLICT.
* *.cpp: Replaced a bunch of __TEXT to ACE_TEXT.
Sat Oct 24 08:34:08 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/OS.i: Updated the fstat() and stat() calls to work properly
on the Solaris for Intel platform, which does weird things to
the fstat() and stat() functions to handle 32 and 64 bit file
offsets. Thanks to Daniel Nieten <dnieten@bellsouth.net> for
reporting this.
Sat Oct 24 02:13:11 1998 Detlef Backer <Detlef.Becker@med.siemens.de>
* ace/OS.cpp (invoke): ACE_Thread_Adapter::invoke() swapped the
nesting level of __except() and __finally() because if the
selector returns EXCEPTION_EXECUTE_HANDLER a global unwind takes
place, activating nested __finally blocks and in this case
terminating the thread before having a chance to execute the
handler. After reversing the logic, now the exception handler
gets called first before the termination handler is invoked.
Furthermore I added the call to GetExceptionInformation(),
passing the result as a void* into the selector function. This
allows a case sensitive handling startegy of the exception in
the selector function.
(inherit_log_msg): In ACE_Thread_Adapter::inherit_log_msg() I
moved the copy operation from the selector and handler
attributes outside of the "if (this->ostream_)" condition,
because I don't think this condition is related to the SEH.
(thr_create): In ACE_OS::thr_create() I "inherit" the current
selector handler into the newly created ACE_Thread_Adapter in
case that the caller did not specify one at invocation.
* ace/Thread_Manager.cpp (spawn_i): In
ACE_Thread_Manager::spawn_i() I added the initialization of
selector and handler at the creation time of
ACE_Thread_Adapter.
Fri Oct 23 21:11:03 1998 Douglas C. Schmidt <schmidt@mambo.cs.wustl.edu>
* ace/OS.h: Changed a comment to be consistent. Thanks to Serge
Kolgan <skolgan@cisco.com> for reporting this.
Fri Oct 23 20:39:00 1998 Chris Gill <cdgill@cs.wustl.edu>
* Paul Christopher Gill was born Friday October 23, 1998, at
20:39 CDT, weighing 6 lbs. 7 oz., at 19 3/4 inches in length.
A true hacker in the making, Paul decided to work through the
evening even though it was a Friday night. ;-)
Fri Oct 23 11:37:38 1998 Steve Huston <shuston@riverace.com>
* include/makeinclude/platform_aix4.2.GNU: Removed -qinitauto=5F from
DCFLAGS - with it, Process_Strategy_Test was going CPU bound in an
ostream operation.
Fri Oct 23 00:27:11 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.63 released.
Thu Oct 22 21:32:14 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* ACE-INSTALL.html: Since we've been successfully using MSVC 6.0
for a while, might as well mention it here in the documentation.
Thu Oct 22 19:48:20 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/index.html
Reformatted it via emacs to make it more readable when editing.
Added a comment pointing to Bob McWhirter's original FMM document
to make it easier to update the repository in the future.
* docs/tutorials/015/Client.h
* docs/tutorials/015/Client.cpp
* docs/tutorials/015/Server.h
* docs/tutorials/015/Server.cpp
Since Windows just *pretends* to have mixed-case names the cpp
files conflict with client.cpp and server.cpp. I renamed these
files to:
* docs/tutorials/015/Client_i.h
* docs/tutorials/015/Client_i.cpp
* docs/tutorials/015/Server_i.h
* docs/tutorials/015/Server_i.cpp
Which necessitated changes to
* docs/tutorials/015/client.cpp
* docs/tutorials/015/server.cpp
* docs/tutorials/015/Makefile.client
* docs/tutorials/015/Makefile.server
* docs/tutorials/015/Makefile
* docs/tutorials/015/combine.shar
* docs/tutorials/015/*.html
Thanks to Darrell Brunsch for catching this.
Thu Oct 22 16:52:21 1998 Steve Huston <shuston@riverace.com>
* tests/Thread_Pool_Reactor_Test.(cpp h): Adjusted debug output to
learn more about what's happening; added a check to be sure that
the correct number of messages are processed by each Svc_Handler.
Thu Oct 22 15:46:42 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.cpp (ACE_TSS_Emulation::tss_base): if storage for
the TSS data must be allocated off the heap, zero all of it.
This avoids problems after fork in the child process on
LynxOS.
Wed Oct 21 22:23:06 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.62 released.
Wed Oct 21 21:19:53 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Service_Config.cpp (process_directives): Replaced a
return -1 with a result = -1 and a break to avoid a
memory leak. Thanks to David for pointing this out.
Wed Oct 21 20:00:51 1998 Nagarajan Surendran <naga@cs.wustl.edu>
* tests/Timer_Queue_Test.cpp :
* tests/Map_Manager_Test.cpp:
* tests/Dynamic_Priority_Test.cpp:
Replaced double with ACE_timer_t everywhere so that it works on
platforms like Chorus.
Wed Oct 21 18:44:26 1998 Nagarajan Surendran <naga@cs.wustl.edu>
* tests/run_tests.sh: Changed egrep Chorus to CHORUS to identify a
Chorus vme board.
Wed Oct 21 17:51:52 1998 Steve Huston <shuston@riverace.com>
* ace/ACE.cpp (get_ip_interfaces): If compiling on Win32 w/ Winsock 2,
use WSAIoctl(SIO_GET_INTERFACE_LIST) to get the interfaces from the
kernel rather than trying to fish through the registry. This should
help TAO's naming service be somewhat more reliable on Win32, as
well as solve some other nasties that plagued this thing.
* ace/ws2tcpip.h: Filled out necessary pieces for the above change.
Wed Oct 21 14:19:11 EDT 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/007/thread_pool.cpp
* docs/tutorials/007/thread_pool.h
Alison Greig's question caused me to look back at these and
I find that an older g++ is unhappy about the close() methods.
It seems to confuse the baseclass 'close(u_long flags=0)' with
my derived 'close(void)' even though I also have 'close(u_long)'.
Anyway, I removed my 'close(void)' and now do all of my work in
the other method.
* docs/tutorials/007/client_handler.cpp:handle_input()
Now using ACE_OS::thr_equal() instead of operator==()
This fixes Alison's problem. (Thanks for the solution David!)
Wed Oct 21 07:12:32 1998 David L. Levine <levine@cs.wustl.edu>
* tests/Thread_Pool_Reactor_Test.cpp: moved #include of
tests/Thread_Pool_Reactor_Test.h inside of ACE_HAS_THREADS
protection, so that it will compile without thread support.
Thanks to Jan Perman <Jan.Perman@osd.uab.ericsson.se> for
reporting this.
* tests/MT_Reactor_Timer_Test.cpp: moved "the_reactor" declaration
outside of ACE_HAS_THREADS protection, so that it will compile
without thread support. Thanks to Jan Perman
<Jan.Perman@osd.uab.ericsson.se> for reporting this.
* bin/g++dep: added -DACE_LACKS_PRAGMA_ONCE to keep it
quiet when the config.h doesn't #define it. Thanks to
Naga for reporting this.
* ace/config-g++-common.h: protected #define of ACE_LACKS_PRAGMA_ONCE,
because g++dep now defines it with a -D.
* ACE-INSTALL.html: updated Linux and LynxOS version status,
and egcs --enable-shared discussion.
* ace/Hash_Map_Manager.cpp (operator *): only declare local "result"
without ACE_NDEBUG, to avoid compile warning with debug=0.
* ace/Synch.cpp (ACE_Recursive_Thread_Mutex::release): only
declare local "t_id" without ACE_NDEBUG, to avoid compile warning
with debug=0.
* ace/Timer_Heap_T.cpp (reschedule): only declare local "timerID"
without ACE_NDEBUG, to avoid compile warning with debug=0.
* ace/SV_Message_Queue.h: fixed #ifndef protection to use
ACE_SV_MESSAGE_QUEUE_H instead of ACE_MESSAGE_QUEUE_H, to
prevent collision with the Message_Queue.h's protection.
Thanks to Rainer Blome <rainer_blome@de.ibm.com> for
reporting this.
* ace/Object_Manager.cpp: removed some old, unused printouts.
Tue Oct 20 19:40:41 1998 Steve Huston <shuston@riverace.com>
* include/makeinclude/platform_hpux_aCC.GNU: Added
-DACE_LACKS_PRAGMA_ONCE - aCC on both 10.20 and 11.00 complain about
#pragma once. Added it here rather than in config.h because (1) it
can be set in one file, not two, (2) in case a #pragma gets in before
config.h is included somehow.
* include/makeinclude/platform_aix4.2.GNU: Revised flags passed to
xlC_r - remove -qextchk because it's the cause of the mismatched
type errors building netsvcs/lib (IBM reports this is fixed in
compiler version 3.6.4). Removed -M - it's not needed and wastes
disk space. Moved -qcheck to DCFLAGS and added -qinitauto=5F to
DCFLAGS.
* include/makeinclude/rules.local.GNU: Added SHLIBA to the files that
get 'realclean'ed - this covers libACEshr.a on AIX.
* netsvcs/lib/Makefile:
* netsvcs/clients/Naming/Client/Makefile: Added ACELIB to LIBS to
insure libACE is linked in.
Tue Oct 20 19:37:42 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/014/*.html:
* docs/tutorials/014/Makefile:
* docs/tutorials/014/combine.shar:
Colorized using the new and improved 'combine' script. Also
modified the Makefile so that the HTML sources won't get destroyed
if the shar operation failed.
* docs/tutorials/015/Makefile:
Added the same Makefile modification to prevent loss of HTML sources
Tue Oct 20 16:28:12 1998 David L. Levine <levine@cs.wustl.edu>
* ACE-INSTALL.html: added recommended DU CXX version info.
Thanks to Susan Liebeskind <shl@janis.gtri.gatech.edu>
for suggesting this.
* ACE-INSTALL.html: added AIX 4.2.1 xlC V3.1 patch info.
Thanks to Susan Liebeskind <shl@janis.gtri.gatech.edu>
for supplying it, in ready-to-use form.
* tests/Thread_Manager._Test.cpp (main): changed debug messages
for suspend_grp/resume_grp with Pthreads, which fail due to
ENOTSUP. The resume_grp message was wrong (copy and paste
error). In addition, I reworded the messages to that
run_tests.check won't catch them. They don't indicate a
problem, just that Pthreads doesn't support those operations;
see Steve's Thu Oct 15 16:40:41 1998 entry.
Tue Oct 20 14:31:37 EDT 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/001/Makefile
* docs/tutorials/002/Makefile
* docs/tutorials/003/Makefile
* docs/tutorials/005/Makefile
* docs/tutorials/006/Makefile
* docs/tutorials/007/Makefile
* docs/tutorials/008/Makefile
* docs/tutorials/009/Makefile
* docs/tutorials/010/Makefile
* docs/tutorials/011/Makefile
* docs/tutorials/012/Makefile
* docs/tutorials/013/Makefile
* docs/tutorials/012a/Makefile
* docs/tutorials/Makefile
Updated these makefiles to remove rules.lib.GNU
Added the "top-level" makefile to allow building
of all tutorials in one step.
Tue Oct 20 12:54:39 1998 David L. Levine <levine@cs.wustl.edu>
* ACE version 4.5.61 released.
Tue Oct 20 07:43:56 1998 David L. Levine <levine@cs.wustl.edu>
* include/makeinclude/platform_irix6.x_g++.GNU: added
LIBS += -lpthread. Thanks to Peter Nordlund <petern@nada.kth.se>
for reporting that it is needed.
* ace/config-irix6.x-sgic++-nothreads.h,config-irix6.x-common.h:
moved ACE_HAS_GPERF from SGI C++ config to common SGI C++/g++
config. Thanks to Peter Nordlund <petern@nada.kth.se> for
recommending this.
* ace/config-aix-4.1.x.h,config-dgux-4.11-epc.h,config-dgux-4.x-ghs.h,
config-irix5.2.h,config-irix5.3-g++.h,config-irix5.3-sgic++.h,
config-m88k.h,config-tandem.h,config-osf1-3.2.h,
config-sunos5.4-centerline-2.x.h,config-sunos5.4-g++.h,
config-sunos5.4-sunc++-4.x-orbix.h,config-sunos5.4-sunc++-4.x.h,
config-sunos5.5.h,config-unixware-2.01-g++.h,
config-unixware-2.1.2-g++.h,config-irix6.x-common.h,README:
removed ACE_HAS_SVR4_TIME because it is no longer used.
Thanks to Peter Nordlund <petern@nada.kth.se> for
reporting this.
* tests/MT_Reactor_Timer_Test.cpp (handle_exception,
handle_timeout): added ACE_UNUSED_ARG's.
* netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp:
added #include of ace/streams.h, because the dump ()
method uses ofstream.
* examples/Connection/non_blocking/CPP-acceptor.cpp (handle_close):
added ACE_UNUSED_ARG's.
* ace/config-sunos5.5-sunc++-4.x.h,config-sunos5.5-g++.h:
removed, because config-sunos5.5.h should be used instead.
* performance-tests/Misc/basic_perf.cpp (iteration_time):
added static cast 0 to ACE_hrtime_t to please g++
on VxWorks (which uses ACE_U_LongLong for ACE_hrtime_t).
* ace/config-cygwin32-common.h: removed msg_accrights{,len}
defines, because they were commented out.
* OS.h,config-aix-4.1.x.h,config-linux-common.h,README:
added ACE_LACKS_MSG_ACCRIGHTS support. This consolidates
code that was in both of the config files. Thanks to
Ossama for suggesting it.
* include/makeinclude/platform_vxworks*.GNU: moved our
wind installation from /project/doc/wind to /project/doc/pkg/wind.
Tue Oct 20 07:09:31 1998 Steve Huston <shuston@riverace.com>
* ace/config-aix-4.2.x.h: Added ACE_HAS_GPERF.
* tests/tests.(mak mdp): Fixed to build clean; Added:
DLList_Test, High_Res_Timer_Test, Dynamic_Priority_Test,
Thread_Pool_Reactor_Test, Upgradable_RW_Test, MT_Reactor_Timer_Test.
Mon Oct 19 21:40:56 1998 David L. Levine <levine@cs.wustl.edu>
* *.h: changed include protection from #if !defined to ifndef.
Added #pragma once, if possible, i.e., after #include of
an ace/ header. It can only be done after ace/config.h
is included, because some platforms don't allow #pragma once.
* include/makeinclude/wrapper_macros.GNU: removed -DACE_LACKS_PRAGMA
for g++ because it's now in config-g++-common.h.
Mon Oct 19 20:44:33 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/015:
Once again I've modified just about every file. Finally though
Tutorial 015: Protocol Stream is done!
* docs/tutorials/combine
Get rid of that silly "links" file and add "bodies". The new file
is an ordered list of files to use when assembling the HTML
pages. This makes it easier to stuff source code into the pages.
* docs/tutorials/index.html
I could have sworn that I linked in 014 many moons ago.
Appologies to Bob McWhirter for leaving this out for so long!
Mon Oct 19 17:00:52 EDT 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/015:
Just about everything in this directory has been touched. I'm
in the middle of documenting it and need a checkpoint so nothing
gets lost! ETA for completion is later tonight or sometime tomorrow.
Mon Oct 19 11:47:20 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.cpp (readPPCTimeBase): wrapped each line in "".
Otherwise, the C++ compiler on MVS complains unterminated
strings. Even though it isn't supposed to see this code :-/
Thanks to Chuck Gehr <GehrCR@louisville.stortek.com> for
reporting this.
* ace/config-g++-common.h: added ACE_LACKS_PRAGMA_ONCE.
g++ doesn't need it, because it optimizes includes if the #ifndef
header protection convention is followed. And, it
complains about #pragma once.
* ace/config-win32-common.h: added ACE_LACKS_PRAGMA_ONCE,
unless _MSC_VER < 1000.
Mon Oct 19 11:13:00 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/Message_Block.h: Added title and description comments to
deadline and laxity message priority strategy classes.
Sun Oct 18 17:22:00 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/014/combine.shar:
* docs/tutorials/015/combine.shar:
The additional input files to the combine script. A shell archive
seems to be the most economical way to keep their history.
Individual files just create clutter and a tar.gz wouldn't be
diff-able in the repository.
* docs/tutorials/014/Makefile:
* docs/tutorials/015/Makefile:
Adjusted to create the HTML and combine.shar files.
Sun Oct 18 16:51:43 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/combine: A perl script for combining several
"source" files into an HTML. It was designed to combine comment
files with .cpp and .h files in the creation of tutorials. The
HTML output is commited to the repository, I haven't decided yet
if it's worth saving the input.
* docs/tutorials/fix.Makefile: This was pulled out of one of the
old tutorials and made a bit more useful. It's purpose is to pull
dependency information out of a Makefile and create a .depend file
instead. This keeps makfiles cleaner and less confusing.
* docs/tutorials/014/Makefile
* docs/tutorials/014/Task.cpp
Minor changes. I attempted to add THR_JOINABLE to the activate()
call but that resulted in a permanent hangup on Linux when trying
to exit the application
* docs/tutorials/015/Client.cpp
* docs/tutorials/015/Client.h
* docs/tutorials/015/Compressor.cpp
* docs/tutorials/015/Compressor.h
* docs/tutorials/015/Crypt.cpp
* docs/tutorials/015/Crypt.h
* docs/tutorials/015/Handler.cpp
* docs/tutorials/015/Handler.h
* docs/tutorials/015/Makefile
* docs/tutorials/015/Makefile.client
* docs/tutorials/015/Makefile.server
* docs/tutorials/015/Protocol_Stream.cpp
* docs/tutorials/015/Protocol_Stream.h
* docs/tutorials/015/Protocol_Task.cpp
* docs/tutorials/015/Protocol_Task.h
* docs/tutorials/015/Recv.cpp
* docs/tutorials/015/Recv.h
* docs/tutorials/015/Server.cpp
* docs/tutorials/015/Server.h
* docs/tutorials/015/Xmit.cpp
* docs/tutorials/015/Xmit.h
* docs/tutorials/015/client.cpp
* docs/tutorials/015/page01.html
* docs/tutorials/015/page02.html
* docs/tutorials/015/page03.html
* docs/tutorials/015/page04.html
* docs/tutorials/015/page05.html
* docs/tutorials/015/page06.html
* docs/tutorials/015/server.cpp
The beginnings of a protocol stream tutorial. The code is done but
the tutorializing (eg -- HTML and comments) isn't complete.
Sat Oct 17 21:20:44 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.i (gethrtime): updated comments on Alpha rpcc
instruction. Only 32 bits of high-res tick count are
available, even the 64 bits are read by the rpcc instruction.
The high 32 bits are for implementation-specific use, such
as a virtual tick counter.
Sat Oct 17 13:41:57 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* test/Future_Test.cpp: Added more comments so that the structure
and participants in the Active Object pattern would be more
obvious.
* ace/Message_Block: Added a priority parameter, which defaults to
0, to one of the constructor for ACE_Message_Block so that it
simplifies the new Method_Request semantics.
* ace/Method_Request.h: Added priority() accessor/mutator methods
so that we can control where a Method_Request is placed in the
Activation_Queue, which is just a Facade for an
ACE_Message_Queue.
* ace: Renamed ACE_Method_Object to ACE_Method_Request to
correspond to the new version of the Active Object pattern at
http://www.cs.wustl.edu/~schmidt/Act-Obj.ps.gz. This change
involved renaming the Method_Object.h and Method_Object.cpp
files to Method_Request.h and Method_Request.cpp, respectively.
For backwards compatibility, I kept the Method_Object.h file,
which now just includes Method_Request.h and adds a typedef of
ACE_Method_Request to ACE_Method_Object so no applications
should break. New applications should use the new names,
however.
* ace/Acceptor.h: Moved the
ACE_Oneshot_Acceptor::register_handler() method into the private
part of the class so that users won't be tempted to call it!
Thanks to Larry <larry@paradigmsim.com> for reporting this.
* examples/Connection/non_blocking/CPP-acceptor: Fixed a bug that
occurred when timers were used in conjunction with the
ACE_Oneshot_Acceptor and handle_close().
* ace/Acceptor: Cleaned up the ACE_Oneshot_Acceptor comments.
Boy, this was confusing ;-). Thanks to Larry
<larry@paradigmsim.com> for reporting this.
Sat Oct 17 12:54:17 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.60 released.
Sat Oct 17 12:50:44 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* Fixed a number of warnings that crept into the release
yesterday. Thanks to David Levine and DEC C++ for
reporting these.
Sat Oct 17 00:35:21 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.59 released.
Sat Oct 17 00:29:37 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Service_Config.cpp (process_directives): Only warn about a
missing svc.conf file if we're debugging.
Fri Oct 16 23:16:30 1998 David L. Levine <levine@cs.wustl.edu>
* docs/ACE-guidelines.html: 1) use complete sentences for
comments and 2) use prefix operators where possible, such
as on an iteration loop index.
Fri Oct 16 15:45:08 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Service_Config: Added a new method called
init_svc_conf_file_queue() that will properly initialize the new
queue containing the list of svc.conf files.
* ace/Service_Config: Added a return value to parse_args() to make
sure we do a sanity check...
* ace: Replaced all #if !defined (ACE_FOO_H) with #ifndef
ACE_FOO_H since many C++ preprocessors can recognize this idiom
and optimize for it.
* ace/Service_Config.cpp (parse_args): Modified the -S option to
enqueue the directives in FIFO order rather than in LIFO order.
It's more intuitive to process them in the order they are
received!
* ace/Service_Config: It's now possible to give multiple -f
options to the Service Configurator and it will open multiple
files and process each one in the order specified in argv. This
is useful if svc.conf are generated by automatic tools, e.g.,
Wizards, that are operating independently. Thanks to David
O'Farrell <dave.ofarrell@aersoft.ie> for suggesting this.
* tests/Upgradable_RW_Test.cpp: Revised the programming style ;-).
* tests/Map_Manager_Test.cpp: Replaced all uses of postfix ++
operators with prefix ++ operators because they are faster when
iterating over the various Maps.
* ace/[Hash_]Map_Manager: Today we decided to remove the use of
locking for the ACE[_Hash]_Map_Manager Iterators. The original
scheme acquired the mutex of the [Hash_]Map_Manager on every
++operator++/--operator-- call. Not only was this very
inefficient, but it was also essentially useless since it
doesn't protect against arbitrary insertions/deletions in the
underlying map during the iteration.
Our first thought was to put an ACE_Read_Guard into the iterator
itself and acquire this for the duration of the iteration.
However, this approach is totally broken when using STL-style
iterators since the postfix ++ and -- operators return a copy of
the iterator, which easily causes deadlocks if non-recursive
mutexes are used.
After much discussion, we decided it's better to let users
figure out their own locking usecase, rather than have the
iterators guess wrong and either screw up their code or yield
substantial inefficiencies. Therefore, the right approach is to
do something like this:
typedef ACE_Map_Manager <TYPE1, TYPE2, ACE_Thread_Mutex> MAP_MANAGER;
typedef ACE_Map_Iterator <TYPE1, TYPE2, ACE_Thread_Mutex> ITERATOR;
typedef ACE_Map_Entry <TYPE1, TYPE2> ENTRY;
void
foo (MAP_MANAGER &map)
{
// ...
{
// Explicitly grab the lock and hold it for the duration of
// the iteration.
ACE_READ_GUARD (ACE_Thread_Mutex, ace_mon, map.mutex ());
ITERATOR end = map.end ();
for (ITERATOR iter = map.begin ();
iter != end;
++iter)
{
ENTRY &entry = *iter;
++i;
}
// ...
}
Note that as a general rule, it's better to use ++i rather than
i++ to avoid unnecessary copies.
Fri Oct 16 14:57:58 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Hash_Map_Manager and Map_Manager: Fixed the operator++ and
operator--. Also, moved the guard from the individual methods
to the iterator. Now, the read guard is held for the life time
of the iterator.
Fri Oct 16 14:51:57 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.cpp (thr_create): Made sure if users don't specify
whether to spawn threads detached or joinable, we'd change the
creation flag for them so that they are always joinable (not
detached.) This is important for unify the thread behavior on
different platforms that have various default thread creation
policies. Thanks to Susan Liebeskind
<shl@janis.gtri.gatech.edu> for motivating the change.
Fri Oct 16 01:28:17 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.58 released.
Thu Oct 15 23:50:41 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.57 released.
Thu Oct 15 22:05:02 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/ACE.cpp (unique_name): Moved the arguments around in the
sprintf() in order to generate a better "unique name". Thanks
to Bob McWhirter for suggesting this.
Thu Oct 15 21:20:36 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Hash_Map_Manager.cpp (operator-- and operator++):
* ace/Map_Manager.cpp (operator-- and operator++):
Fixed by value and by reference return values.
Thu Oct 15 20:16:46 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/ACE-FMM.html: Updated with Bob McWhirter's latest changes.
Discussion of race conditions when spawning threads from within a constructor.
Thu Oct 15 18:30:58 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/OS.h: Added ACE_HTONS(x) macros to complement ACE_HTONL(x)
macros. Thanks to Balaji Srinivasan <balaji@cplane.com>
for reporting this.
* ace/[Hash_]Map_Manager.cpp: Postfix and prefix were inverted.
They are correct now. Thanks to Balaji Srinivasan
<balaji@cplane.com> for reporting this.
Thu Oct 15 18:02:51 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* ace/config-win32.h: For non-winnt systems, define
ACE_LACKS_RECVMSG and ACE_LACKS_SENDMSG. Thanks to Bill Hall
<hts@gte.net> for pointing this out.
[BTW, Bill was the 400th individual to contribute an ACE/TAO
bug report, thanks to everyone for all their help over the years!]
Thu Oct 15 16:50:09 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/SOCK_Dgram_Mcast.i (set_option): Need to convert the
<optval> from char to int for Win32 because the shortest length
of <optval> must be at least sizeof (int) on Win32. Thanks
to Johan Lundin <johan@lundin.com> for reporting this.
Thu Oct 15 16:40:41 1998 Steve Huston <shuston@riverace.com>
* tests/Thread_Manager_Test.cpp: Allow suspend/resume to be tried on
pthreads, but don't allow any error other than ENOTSUP. This
catches a bug in Thread_Manager that lost the error values on an
error.
* ace/Thread_Manager.cpp (ACE_THR_OP macro): Don't remove a thread
from the active threads list if an operation fails with ENOTSUP.
This was causing calls to suspend_grp/resume_grp to erase the list
of threads in a group on pthreads, then wait_grp didn't wait because
it thought there weren't any more threads.
Thu Oct 15 12:43:46 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Task.cpp (activate): Changed to activate new active objects
using the same grp_id if this task has been activated before and
no new grp_id is specified in activate method. Also, the task's
grp_id will only get updated if it has never been updated even
if <force_active> is set. This prevent the original <grp_id_>
get lost but the consequence if that if users select to
force_activate new tasks with a different grp_id, the new grp_id
will get lost and the only way to wait for these threads is to
either perform a wait for all threads, or wait for each
individual thread by waiting on the thread handles returned by
the activate method. Thanks to Bob McWhirter
<bob@netwrench.com> for motivating this change.
(ACE_Task_Base): Changed to initialize <grp_id_> to -1.
Thu Oct 15 10:07:13 1998 David L. Levine <levine@cs.wustl.edu>
* ACE version 4.5.56 released.
Thu Oct 15 09:54:07 1998 David L. Levine <levine@cs.wustl.edu>
* tests/run_tests.sh: commented out MT_Reactor_Timer_Test because
it doesn't halt on g++/Solaris or DU 4.0.
* include/makeinclude/wrapper_macros.GNU: for g++, added
-DACE_LACKS_PRAGMA_ONCE to CCFLAGS. Thanks to Kirk Ellet
<kellet@mdc.com> for pointing out that is has to be done
in CCFLAGS rather than as a #define in OS.h, because
ace/Synch_T.h uses the pragma before config.h is #included.
Wed Oct 14 23:20:45 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.55 released.
Wed Oct 14 22:17:31 1998 David L. Levine <levine@cs.wustl.edu>
* docs/ACE-guidelines.html: added guideline for protection of
header files against multiple inclusion. Thanks to
Eric C. Newton <ecn@smart.net> for pointing out the construct
used by gcc/g++ to minimize unnecessary file inclusion.
Fortunately, other compilers use the same method. And,
thanks to Susan Liebeskind <shl@cc.gatech.edu> for being
the last ACE user to suggest something like this, and to
Pat McNerthney <pat@cartia.com> for spurring the search for
such an optimization.
Wed Oct 14 12:36:00 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* tests/run_tests.sh: Added the MT_Reactor_Timer_Test.
* tests/MT_Reactor_Timer_Test.cpp: Fixed a number of bugs with
this test. It seems to work fine on Solaris now.
* tests/MT_Reactor_Timer_Test.cpp (main): Added a test to make
sure that the ACE_Reactor::handle_events() method properly
counts the number of expired timers.
* ace/Select_Reactor_T: Updated the various methods so that
handle_events() now works as advertised, i.e., it actually
returns the number of event handlers it dispatched.
* ace: Added
#if !defined (ACE_LACKS_PRAGMA_ONCE)
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
To all the header files in ACE. This should speed up
compilation time on platforms whose C++ compilers support
#pragma once. Thanks to Patrick J. McNerthney <pat@cartia.com>
for suggesting this.
* ace/Functor.h: Moved the definitions of the constructor and
destructor of ACE_Command_Base into the *.i file.
* ace/Select_Reactor_T: Enhanced dispatch_timer_handlers() so that
it passes the number of timers dispatched as an out parameter to
avoid any ambiguity.
Wed Oct 14 15:30:42 1998 Steve Huston <shuston@riverace.com>
* ace/Message_Block_T.h: Removed ACE_Export from definition of template
class ACE_Locked_Data_Block.
Wed Oct 14 12:36:00 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/config-cygwin32-common.h,
ace/config-cygwin32.h,
ace/OS.h:
Added support for Cygwin32. Thanks to Phil Feairheller
<Phil.Feairheller@emax.com> for contributing this.
* ace/config-vxworks5.x.h,
ace/config-chorus.h,
ace/config-psos*.h,
ace/config-cygwin32-common.h,
ace/OS.i:
Added and used the new ACE_LACKS_MKFIFO macro. Thanks to Phil
Feairheller <Phil.Feairheller@emax.com> for reporting this.
Wed Oct 14 11:03:45 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.54 released.
Wed Oct 14 00:28:10 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.53 released.
1998-10-14 Nagarajan Surendran <naga@tango.cs.wustl.edu>
* ace/Synch_T.cpp : Changed ACE_mutex_t to ACE_cond_t for CHORUS
in ACE_Condition constructor.
1998-10-13 Nagarajan Surendran <naga@tango.cs.wustl.edu>
* ace/Synch.i (ACE_Mutex::remove): Added a #else for non-chorus
cases instead of #endif to call ACE_OS::mutex_destroy.
* ace/OS.cpp : Added static member definition
KnCap ACE_OS::actorcaps_[ACE_CHORUS_MAX_ACTORS]
for CHORUS.
* ace/config-chorus.h: Added ACE_HAS_TSS_EMULATION.
Tue Oct 13 22:40:40 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Makefile:
* ace/Message_Block.h:
* ace/Message_Block.i:
* ace/Message_Block.cpp:
* ace/Message_Block_T.h:
* ace/Message_Block_T.i:
* ace/Message_Block_T.cpp:
Added a new variant of the ACE_Data_Block class that holds an
instance of its locking strategy, this is useful because in some
cases the lifetime of the lock is tied to the lifetime of the
Data_Block itself. The Message_Block class was carefullly
modified to support this new feature, i.e. it does not hold a
lock while removing the data block because the hold may be part
of the data block itself. Still all the features in the
Message_Blocks are supported, for instance, a complete
Message_Block chain ca be destroyed while holding a single lock,
shared by all the Data_Blocks in the chain.
Tue Oct 13 22:39:42 1998 David L. Levine <levine@cs.wustl.edu>
* tests/MM_Shared_Memory_Test.cpp (client): added an
ACE_ASSERT to check that shm is non-zero.
* ace/OS.h,config-chorus.h,README: added
ACE_HAS_PTHREAD_PROCESS_ENUM support. Thanks to
Alberto Villarica <Alberto.Villarica.rav@nt.com> and Naga
for tracking the problem with Semaphore_Test hanging.
* ace/OS.h: changed default PTHREAD_PROCESS_SHARED from 0 to 1.
That way, it's different than PHTREAD_PROCESS_PRIVATE.
Tue Oct 13 22:09:12 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Mem_Map.cpp (map_it): One more try to get this right ;)
Thanks to Jonathan Reis <reis@minniemouse.cemax.com> for the bug
reports, suggested fixes, and test program.
Tue Oct 13 21:17:37 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/Asynch_IO.cpp:
* ace/Proactor.cpp: Fixed the problem with POSIX4 implementation
of Asynch_Transmit_File. Thanks to James Hu and Irfan for
reporting this problem and helped me on the fixes.
Tue Oct 13 18:07:21 1998 Steve Huston <shuston@riverace.com>
* ace/config-aix-4.2.x.h: Set up so it should work with gcc as well
as xlC. Rearranged defs and removed some duplicates.
Enabled ACE_HAS_4_4BSD_SENDMSG_RECVMSG and removed the redefs
of msgbuf fields.
* tests/Thread_Pool_Reactor_Test.cpp: Moved the definition of
Acceptor_Handler to a new file, Thread_Pool_Reactor_Test.h to
satisfy AIX xlC's template instantiation.
Tue Oct 13 15:56:09 1998 Nagarajan Surendran <naga@cs.wustl.edu>
* ace/OS.i: Fixed a few errors on CHORUS.
Tue Oct 13 08:48:36 EDT 1998 James CE Johnson <jcej@lads.com>
* docs/ACE-tutorials.html
* docs/ACE-FMM.html
Added Bob McWhirter's <bob@netwrench.com> "Frequently Made
Mistakes" list.
Tue Oct 13 07:28:38 1998 David L. Levine <levine@cs.wustl.edu>
* ace/High_Res_Timer.cpp (dump): replaced ACE_static_casts with
ACE_CU64_TO_CU32, because the method is const. Thanks to Doug
for reporting this.
* ace/Thread_Manager.cpp (join): replaced __xlC__ test with
_AIX. That way, g++ and xlC will both use the three-arg
join call on AIX. Thanks to Ian Wright <I.Wright@elsevier.co.uk>
for reporting this.
* ace/Makefile,examples/Bounded_Packet_Relay/Makefile:
updated dependencies.
* ace/OS.[hi],config-fsu-pthread.h,config-aix-4.[12].x.h,
config-mit-pthread.h,config-hpux-10.x.h,config-hpux11.h,
config-irix6.x-{g++,sgic++}.h,config-mvs.h,config-tandem.h,
config-osf1-3.2.h,config-osf1-4.0.h,config-sco-5.0.0-mit-pthread.h,
config-irix6.x-common.h,README:
removed ACE_HAS_TID_T and ACE_HAS_PTHREAD_T support. ACE_hthread_t
is now a simple typedef of pthread_t. It was before, also, but not
so simple :-) Before, it was a typedef of tid_t on platforms
that had ACE_HAS_TID_T but not ACE_HAS_PTHREAD_T. There were
no such platforms; so, it was pthread_t on all PTHREADS platforms.
Thanks to Ossama, Arturo, and Steve for sorting all this out.
We ended up with just a single typedef, so it was worth it.
* ace/OS.i (thr_cmp): use pthread_equal with PTHREADS, same as
in ACE_OS::thr_equal (). Thanks to Ossama for pointing out that
they were different, but shouldn't have been.
* ace/config-aix-4.2.x.h,config-fsu-pthread.h,config-hpux-10.x.h,
config-hpux11.h,config-irix6.x-{g++,sgic++}.h,config-mit-pthread.h,
config-mvs.h,config-osf1-3.2.h,config-osf1-4.0.h,
config-sco-5.0.0-mit-pthread.hconfig-tandem.h,README:
removed ACE_HAS_PTHREAD_EQUAL because it's no longer used. Thanks
to Ossama for motivating the above change to thr_cmp, which had
been the only use of ACE_HAS_PTHREAD_EQUAL.
* ace/Log_Record.h,OS.h: changed C++-style comments to C-style
comments in preprocessor directives. Thanks to
Fernando D. Mato Mira <matomira@acm.org> for reporting these.
Tue Oct 13 00:19:42 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/OS.i (sema_destroy): I believe I've fixed the rats nest of
#ifdefs to get semaphores to work correctly on Chorus again.
Thanks to Naga for tracking this down!
* ace/High_Res_Timer.cpp: Temporarily commented out the
ACE_static_casts so that this will compile with CC.
* ace/Hash_Map_Manager,
ace/Map_Manager:
Added a public mutex() accessor that allows us to return a
reference to the lock_. This is useful for cases where we're
using ACE_Process_Mutex and need to call remove(). Thanks to
Bob McWhirter <bob@netwrench.com> for this suggestion.
Mon Oct 12 23:03:26 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Mem_Map.cpp (map_it): Added a minor fix to handle the fact
that Chorus doesn't support filesize() on a shared memory
segment. Thanks to Alberto Villarica
<Alberto.Villarica.rav@nt.com> for reporting this.
Mon Oct 12 22:18:03 1998 David L. Levine <levine@cs.wustl.edu>
* ace/High_Res_Timer.cpp (dump): cleaned up output so that it
works and is consistent across all platforms. (long long
printing is not portable: some platforms use %llu and
others use %Lu).
Mon Oct 12 18:39:09 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Mem_Map.cpp: Revised the code to take the offset into
account when deciding whether to grow the backing store.
Also, ACE_Mem_Map was trying to be too clever when it tries to
make sure that your offset is a multiple of the allocation
granularity. It ends up messing up user offset and length
calculations. Therefore, I have taken this out of ACE_Mem_Map
code. Users is still welcome to use
ACE_OS::allocation_granularity and
ACE::round_to_allocation_granularity by themselves.
Mon Oct 12 14:39:15 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Parse_Node.cpp: Added some ACE_const_casts to cleanup the
casting going on here.
* examples/ASX/CCM_App/CCM_App.cpp: We need to make sure and use
the ACE_SVC_FACTORY_* macros so that the gobbler will be set
correctly. Purify rules!
* ace/Makefile: Make sure to add the // $ Id: $ CVS string when
recreating Svc_Conf_Tokens.h.
* ace/Svc_Conf.y: Just to be paranoid, make sure to set the
gobbler function to 0. At least this way we'll get crashes
rather than bizarre errors if users don't use the ACE_*FACTORY*
macros.
Mon Oct 12 19:19:27 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/ACE-tutorials.html:
Added a link to Bob McWhirter's Frequently Made Mistakes page.
* docs/tutorials/014/Makefile
* docs/tutorials/014/Task.{cpp|h}
* docs/tutorials/014/EndTask.h
* docs/tutorials/014/stream.cpp
* docs/tutorials/014/page0[123456].html
A slightly modified version of Bob McWhirter's ACE_Stream tutorial.
Mon Oct 12 15:59:00 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Message_Block.cpp (size): removed unused local "old_base".
Mon Oct 12 11:24:45 PDT 1998 James Hu <jxh@entera.com>
* Asynch_IO.cpp: Minor changes to deal with FMR error.
* Message_Block.{cpp,i,h}: Changed rd_ptr_ and wr_ptr_ to be
byte offsets from base (). This allows one to resize a
duplicate without trashing other Message_Blocks that may be
referring to the same data block.
* Proactor.cpp: Made the message block 64 bytes bigger to make
purify happier.
Mon Oct 12 12:14:45 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Parse_Node.cpp (ACE_Stream_Node): In error cases, the strops
parameter can be NULL. Therefore, we need to protect against
this case. Thanks to David O'Farrell <dave@virgo.aersoft.ie>
for reporting this.
Mon Oct 12 10:43:09 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/Asynch_IO.cpp (ACE_Asynch_Result): Fixed a double deletion
problem. Thanks to James Hu for reporting this.
Mon Oct 12 09:43:07 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Containers_T.h:
* ace/Containers_T.cpp:
Added a new method to modify the size of an ACE_Array.
Mon Oct 12 09:23:49 1998 David L. Levine <levine@cs.wustl.edu>
* netsvcs/lib/Name_Handler.cpp (lists_entries): one more try
to fix the egcs 1.1b bug: removed the ptmf temporary entirely.
Sun Oct 11 17:33:22 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Synch.cpp: Fixed a typo, s/lock_/process_lock_/. Thanks to
Naga for noticing this.
Sun Oct 11 08:19:33 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-linux-common.h: re-enabled msg_* undefs and defines,
but for libc5 (non-glibc) only. Thanks to JM Strauss
<jms97@club-internet.fr> for verifying that they're needed.
* netsvcs/lib/Name_Handler.cpp (lists_entries): replaced
switch statement with a multi-branch if statement, to
avoid Internal compiler error 980331 with egcs 1.1b (2.91.57)
(on Linux/alpha).
Sat Oct 10 18:30:02 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Synch_T: Added a process condition abstraction for Chorus
that is based on a condition variable stored in shared memory.
Thanks Alberto Villarica <Alberto.Villarica.rav@nt.com> for
this.
* ace/Synch: Added a process mutex abstraction for Chorus that is
based on a mutex stored in shared memory. Thanks Alberto
Villarica <Alberto.Villarica.rav@nt.com> for this.
* ace/config-chorus.h: Updated the config file for Chorus. Thanks
Alberto Villarica <Alberto.Villarica.rav@nt.com> for this.
* ace/OS.i: Added rudimentary flock support for Chorus. Thanks
Alberto Villarica <Alberto.Villarica.rav@nt.com> for this.
* ace/OS.i: Added exec*() support for Chorus. Thanks Alberto
Villarica <Alberto.Villarica.rav@nt.com> for this.
* ace/config-chorus.h: Added #include of file <am/wait.h>.
* ace/Local_Name_Space_T.cpp (create_manager_i): Added a special
case for CHORUS so that we use a base address of 0. Thanks to
Alberto Villarica <Alberto.Villarica.rav@nt.com> for reporting
this.
* ace/Local_Name_Space_T.cpp (create_manager_i): Don't use
ACE_OS::access() if the platform lacks it. Thanks to Alberto
Villarica <Alberto.Villarica.rav@nt.com> for reporting this.
Sat Oct 10 18:33:06 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* tests/Aio_Platform_Test.cpp: Comments.
Sat Oct 10 17:42:18 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.52 released.
Sat Oct 10 16:44:24 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Service_Repository.cpp: Improved the documentation and added
some new ACE_const_casts. Thanks to Eric Palantir
<palantir@net56.net> for motivating this.
* ace/Service_Config.cpp (open): The logger key should be set to
the static logger key only if the key supplied is EQUAL with the
default logger key. Thanks to Eric Palantir
<palantir@net56.net> for reporting this.
Sat Oct 10 16:28:00 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Synch.h:
* ace/Synch.i:
* ace/Synch.cpp:
The ACE_Process_Mutex class was allocating one of its members
from the heap, thus it could not be placed in shared memory.
The problem was that the member required the creation of a
unique name if the user did not provide one; making the buffer
for this unique name a member of ACE_Process_Mutex allowed us to
initialize the lock_ member while still allocating it as a
member of the class. Thanks to Bob McWhirter
<bob@netwrench.com> for helping to track this down.
Sat Oct 10 12:45:31 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Malloc_T.h: Added a documentation entry for class
ACE_Cached_Allocator. Thanks to Erik Koerber
<erik.koerber@siemens.at> for reporting this.
Sat Oct 10 00:40:05 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.51 released.
Fri Oct 09 23:47:42 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Mem_Map.cpp (map_it): Fixed the setting of length_ again.
Hopefully, it will be right this time.
Fri Oct 9 15:37:26 PDT 1998 James Hu <jxh@entera.com>
* ace/Mem_Map.cpp: Protect against assigning 0 to length_. This
was causing JAWS to fail.
Fri Oct 9 16:59:26 1998 Nagarajan Surendran <naga@cs.wustl.edu>
* examples/IPC_SAP/SOCK_SAP/run_test:
* examples/IPC_SAP/SOCK_SAP/summarize:
Fixed the scripts to print the results correctly.Fixed
comments and usage.
Fri Oct 09 16:35:00 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/Timer_Queue_Adapters.cpp
ace/ace_dll.dsp
examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{cpp, h}:
Fixes for deferred callbacks in the BPR example on NT.
Fri Oct 09 11:59:26 1998 David L. Levine <levine@cs.wustl.edu>
* include/makeinclude/wrapper_macros.GNU: removed RM override
because it's not necessary. Thanks to
Tres Seaver <tseaver@palladion.com> for this suggestion.
* include/makeinclude/platform_chorus_ghs.GNU,
platform_irix6.x-sgic++.GNU,platform_osf1_3.2.GNU,
platform_osf1_4.0.GNU,platform_osf1_4.0_rcc.GNU,
platform_sunos5_sunc++.GNU:
replaced hard-coded /bin/rm -f with $(RM). Thanks to
Tres Seaver <tseaver@palladion.com> for this suggestion.
* ace/Containers_T.{h,cpp}: removed unecessary (and impolite)
argument name.
Fri Oct 09 00:44:21 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/OS.i (mmap): CreateFileMapping must be created with a length
of 0 (which will get translated to the size of the file). This
must not be <len> since <len> only deals with the mapping of the
view and not with the file mapping object. It is ok to use 0
since we are trying to emulate UNIX's mmap.
* ace/ACE.cpp (round_to_allocation_granularity):
ace/OS.i (allocation_granularity):
New methods. We need allocation granularity when rounding off
the offset in mmap and not the page size. Only on Win32,
allocation granularity is different from pagesize.
* ace/High_Res_Timer.cpp: Added the inclusion of Object_Manager.h.
Otherwise, NT was picking up the definition of
ACE_Static_Object_Lock.
* ace/Mem_Map.cpp (map_it): Fixed the problem where a requested
length of less than the filesize was being ignored. Also,
changed round_to_pagesize() to round_to_allocation_granularity().
Thanks to Jonathan Reis <reis@minniemouse.cemax.com> for
pointing this bug out.
Fri Oct 09 00:02:01 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/Asynch_IO.cpp: The YET another problem with doing multiple
Asynch_Accepts have been fixed. Thanks very much James Hu for
reporting this. I was calling reactor's resume_handlers and
suspend_handlers instead of only for one handle. Thanks very
much Irfan! for pointing this out.
Thu Oct 08 23:06:20 1998 David L. Levine <levine@cs.wustl.edu>
* config-linux-common.h: on Alpha only, added ACE_POLL_IS_BROKEN.
High_Res_Timer_Test revealed that it's necessary with
glibc 2.0.7-13. I don't think that its necessary on
Pentiums, but maybe it depends on glibc version.
* OS.i (gethrtime),High_Res_Timer.cpp OS.i,README:
added ACE_HAS_ALPHA_TIMER support. See the comment
in ACE_OS::gethrtime about it being limited to 32 bits.
I don't know why, but that severely limits the range
of high res times. Therefore, it's not enabled by default
in any config files.
Thu Oct 08 15:22:22 1998 Arturo Montes <mitosys@colomsat.com.co>
* ace/OS.{i,cpp}: Reverted FSU thread changes for now.
Thu Oct 08 15:11:34 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ACE-INSTALL.html: Updated document about spawning new thread
when ACE_HAS_MFC is defined. CWinBeginThread is not used
automatically. Users have to explicitly ask for this.
Thu Oct 8 12:11:08 1998 Nagarajan Surendran <naga@cs.wustl.edu>
* examples/IPC_SAP/SOCK_SAP/run_test:
* examples/IPC_SAP/SOCK_SAP/summarize:
Added these scripts to run the test and summarize the
results. These scripts are modelled similar to the
$TAO_ROOT/performance-tests/Cubit/TAO/MT_Cubit scripts.
Thanks to David for the scripts.
Thu Oct 08 08:23:09 1998 David L. Levine <levine@cs.wustl.edu>
* ace/High_Res_Timer.cpp (get_registry_scale_factor):
default global_scale_factor to 1000 instead of 1,
because ACE_OS::gethrtime () defaults to nanoseconds.
Thanks to Peter Nordlund <petern@nada.kth.se> for
reporting that High_Res_Timer_Test failed on Irix without
this fix.
* ace/Makefile (Svc_Conf_l.cpp): use Doug's flex to generate
this file, if running on a DOC group machine, instead of
using whatever flex is first on the users path.
* etc/README: fixed typo.
* ace/Svc_Conf_l.cpp,etc/Svc_Conf_l.cpp.diff (ACE_YY_DECL):
initialize ace_yy_cp and ace_yy_bp to 0 to avoid egcs 1.1
warning about possible use before initialization.
Wed Oct 7 23:47:29 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/Asynch_IO.cpp:
* ace/Proactor.cpp : Fixed the problem with doing multiple
Asynch_Accepts. Thanks to James Hu for reporting this
problem. Thanks very much Irfan!!!, for helping me a lot in fixing
this one.
Wed Oct 07 23:14:36 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.50 released.
Wed Oct 7 21:44:20 1998 Douglas C. Schmidt <schmidt@lambada.cs.wustl.edu>
* ace/Stream.h: Added a default value of 0 for both put() and
get(), which is more consistent with the underlying putq() and
getq() methods on ACE_Task. Thanks to Bob McWhirter
<bob@netwrench.com> for this suggestion.
Wed Oct 7 18:18:14 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* README:
* ace/config-irix6.x-g++.h:
* ace/config-irix6.x-common.h:
* ace/config-irix6.x-sgic++-nothreads.h:
Peter Nordlund <petern@nada.kth.se> kindly submitted a common
configuration file for IRIX 6.X that works with both g++ and SGI
MIPSPro 7.X
Wed Oct 7 17:21:17 1998 Arturo Montes <mitosys@colomsat.com.co>
* ace/OS.{i,cpp}: FSU pthreads is draft6, but FSU in SCO is an
special port. The API is draft6 but return values is DRAFT7
(really I am moving to STD).
Wed Oct 07 09:30:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/Functor.{cpp, h, i}
ace/Functor_T.{cpp, h, i}
ace/Makefile:
Added ACE_Command_Base abstract base class and derived class
template ACE_Command_Callback to ACE to support the GOF Command
design pattern.
* ace/Timer_Queue_Adapters.{cpp, h}:
Added registration and deferred executiton of ACE_Command_Base
objects to ACE_Thread_Timer_Queue_Adapter. This is conditionally
compiled if the ACE_HAS_DEFERRED_TIMER_COMMANDS symbol is defined.
* examples/Bounded_Packet_Relay/BPR_Drivers.{cpp, h}
examples/Bounded_Packet_Relay/BPR_Drivers_T.{cpp, h}
examples/Bounded_Packet_Relay/Makefile
examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{cpp, h}
examples/Bounded_Packet_Relay/bpr_thread.cpp:
Changed example to use ACE_Command_Callback objects, modified event
handlers to register ACE_Command_Callback objects for deferred
excecution of timer cancellations and registrations.
Wed Oct 07 02:37:58 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.49 released.
Wed Oct 7 00:11:33 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ACE-INSTALL.html: Added more information on using MFC with ACE,
some explanations about using run-time libraries and information
about VC6.
* tests/version_tests/version_tests.dsw: Removed
MsgQueue_Notifications_Test.dsp and added
Message_Queue_Notifications_Test.
* tests/*.dsp: Changed to use DLL version of run-time libraries
for static builds. Notice that user libraries are still linked
in statically. Only the run-time libraries are effected.
* ace/README: Added information for ACE_USES_STATIC_MFC.
* ace/config-win32-common.h: Re-structured MFC related macros
(_AFXDLL and _WINDLL) so that it allows us to use MFC in static
ACE libraries and the setting of MFC can propagate to
applications. By default, ACE uses MFC DLL if ACE_HAS_MFC=1.
If you want to use MFC as a static library, besides
ACE_HAS_MFC=1, also define ACE_USES_STATIC_MFC. Thanks to Jason
Milley <Jason.Milley.jcmilley@nt.com> for noticing the problem
of compiling static ACE library with MFC.
Tue Oct 6 15:06:21 1998 Steve Huston <shuston@riverace.com>
* ace/Asynch_IO.cpp (ACE_Asynch_Accept_Handler): Removed the
version of the ctor with no args - it's equivalent to the one
with all defaulted args, and HP aCC complained.
* ace/NT_Service.{h cpp i}: New class, ACE_NT_Service. This provides
a class and supporting macros to integrate NT Services into the
ACE framework at run-time. I'll work on getting an example into
the kit soon.
* ace/ACE_Library.{mak mdp}:
ace/ace_dll.dsp, ace_lib.dsp: Added NT_Service files.
Tue Oct 6 12:49:37 EDT 1998 James CE Johnson <jcej@lads.com>
* docs/tutorials/006/client_handler.cpp
* docs/tutorials/006/page05.html
Susan Liebeskind discovered that invoking the baseclass
close() after handle_close() in Client_Handler::close()
causes the object to be destructed twice. I've removed
the call to the baseclass close(). She reports success
on Solaris, Dec and AIX. I've verified that Linux also
works fine with this fix.
Tue Oct 06 09:53:22 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-fsu-pthread.h,config-mit-pthread.h,config-mvs.h,
config-sco-5.0.0-mit-pthread.h,config-tandem.h,README:
removed ACE_HAS_YIELD_VOID_PTR because it's no longer used.
Thanks to Ossama for reporting this.
* config-dgux-4.x-ghs.h,config-hpux-10.x.h,config-mit-pthread.h,
config-mvs.h,config-sco-5.0.0-mit-pthread.h,config-tandem.h,README:
removed ACE_LACKS_KEYDELETE because it's no longer used. Thanks to
Ossama for reporting this.
Tue Oct 06 03:36:22 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.48 released.
Tue Oct 06 02:53:28 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.47 released.
Tue Oct 6 02:16:01 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/Asynch_Acceptor.cpp:
* ace/Asynch_IO.cpp (handle_input):
* ace/Proactor.cpp:
In POSIX implementation of Asynch_Accept, We dont have to read
initial data to read on to the Message Block given to the
Asynch_Accept. So we dont use it at all. We get local and peer
address from using socket and pass back to the application.
Mon Oct 05 23:58:16 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.46 released.
Mon Oct 5 23:19:30 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.cpp (fork): Changed to use fork1 when ACE_HAS_STHREAD is
defined. Otherwise, file descriptors get messed up and socket
connections get lost after exec'ing a new program. Generally
speaking, you should not simply fork a multi-threaded program
without calling exec (). On pthread compliant platform, fork
does what fork1 does on solaris thread.
Mon Oct 05 21:21:42 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.45 released.
Mon Oct 05 15:59:55 1998 David L. Levine <levine@cs.wustl.edu>
* ACE version 4.5.44 released.
Mon Oct 05 15:23:04 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.43 released.
Mon Oct 5 15:34:41 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/002/handler.h: Added includes for INET_Addr.h,
SOCK_Stream.h and Reactor.h. Susan Liebeskind pointed out that
AIX gets confused in processing templates if these aren't present.
Mon Oct 05 10:02:37 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-chorus.h: added ACE_LACKS_TRUNCATE. Thanks
to Steve Kay <slk1@icore.ih.lucent.com> for reporting this.
* tests/Semaphore_Test.cpp: added some ifdefs so that it
builds cleanly with ACE_HAS_POSIX_SEM.
Sun Oct 05 03:49:09 PDT 1998 James Hu <jxh@entera.com>
* ace/Asynch_Accept.*
* ace/Asynch_IO.*
Made some small modifications to support passing in and
retrieving an ACT when performing asynchronous accept.
Sun Oct 04 22:07:09 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-fsu-pthread.h,config-hpux-10.x.h,config-lynxos.h,
config-mit-pthread.h,config-mvs.h,config-osf1-3.2.h,
config-osf1-4.0.h,config-sco-5.0.0-mit-pthread.h,config-tandem.h,
README: removed ACE_HAS_PTHREAD_GETSPECIFIC_DATAPTR, because it's
no longer used. Thanks to Ossama for reporting this.
* ace/config-tandem.h,README: removed ACE_HAS_PTHREAD_YIELD_VOIDPTR,
because it's no longer used. It was commented out in
config-tandem.h, anyways. Thanks to Ossama for reporting this.
Sun Oct 4 20:00:44 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* bin/auto_compile:
Fixed the regular expression to detect compile errors.
The user can pass extra arguments to GNU make, the arguments are
given as the script is invoked.
Sun Oct 4 14:30:03 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/TP_Reactor.cpp (handle_events): Made sure we never suspend
the <notify_handler_> without holding the <token_>. Otherwise,
depend on how an OS schedules ready threads, we may have a
Reactor that could never be woken up. This leads to a very
delicate race condition when other threads which need to modify
Reactor's state get block on the token (because they couldn't
wake up the reactor). These threads later block the
nofify_handler thread when it's ready to resume
<notify_handler_.>
(notify_handle): Since we don't suspend the <notify_handler_>,
there's no need to resume it here.
Sat Oct 3 13:11:48 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* bin/auto_compile:
Removed some of the tests, they were crashing more often than
not.
Sat Oct 3 09:36:09 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* examples/Reactor/Proactor/test_proactor.cpp: Comments.
Sat Oct 03 09:24:45 1998 Susan Liebeskind <shl@cc.gatech.edu>
* ace/Task.h,Thread.h,Thread_Manager.h,Timer_Queue_Adapters.h
(activate,spawn,spawn_n): added THR_JOINABLE to THR_NEW_LWP
default flags.
On the boxes which implement POSIX 1003.1.b (Solaris, Digital Unix)
threads spawned using default flags provided by those methods were,
and still are, created *joinable*.
On the box which implements Draft 7 (AIX), the spawned threads were
*detached*. With this change, they'll be created *joinable*,
instead.
This change ensures consistent behavior across all platforms.
Sat Oct 03 09:04:44 1998 David L. Levine <levine@cs.wustl.edu>
* ace/ACE.cpp (set_handle_limit): wrapped the final
return statement with #ifdef __sgi. Irix complains without
this return statement. DEC cxx (correctly) says that it's not
reachable. ACE_NOTREACHED won't work here, because it handles
both platforms the same.
* include/makeinclude/wrapper_macros.GNU: with quantify=1
on sparcs, add -record-register-window-traps to $(PRELINK).
Thanks to Andy for discovering this Quantify option, for sparcs.
Fri Oct 2 23:43:51 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/config-irix6.x-g++.h:
* ace/config-irix6.x-sgic++-nothreads.h:
* ace/OS.h:
IRIX puts <xti.h> in <sys/xti.h> header of IRIX, it is only
relevant for the autoconf project.
* ace/ACE.cpp:
Added an extra return to make IRIX compiler happy.
Fri Oct 2 21:48:18 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/Thread_Pool_Reactor_Test.cpp: Send the message length
before each message so we don't need to use time delay to
separate consecutive requests.
Fri Oct 02 16:27:07 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Thread_Manager.cpp: ACEified some code.
(terminate): Do not register a thread as being terminated if it
is being joined by another thread. Just remove it from
Thread_Manager's thr_list_.
Fri Oct 2 00:19:04 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/Thread_Pool_Reactor_Test.cpp: Fixed explicit template
instantiation.
* ace/Strategies_T.{h,i,cpp}: Removed classes
ACE_Thread_Pool_Strategy and ACE_Svc_Handler_Pool_Strategy.
* tests/run_tests.{sh,bat}: Added Thread_Pool_Reactor_Test into
one-buttoned test scripts.
Thu Oct 01 12:04:30 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/Thread_Pool_Reactor_Test.cpp: Added a command line argument
parser.
Thu Oct 1 08:51:00 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* tests/Thread_Pool_Reactor_Test.cpp: Reformatted the
code a bit.
* ace/ACE.cpp (max_handles): Added yet another fix for AIX.
Thanks to Chris Lahey for this.
Thu Oct 01 01:05:49 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/tests.dsw:
* tests/version_tests/version_tests.dsw:
* tests/Thread_Pool_Reactor_Test.{cpp,dsp}: Added a new test that
torture tests the new ACE_TP_Reactor.
Thu Oct 01 00:09:35 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/ACE.cpp: Fixed max_handles().
* tests/Conn_Test: Removed template specialization for
INET_Addr.hash().
* ace/Addr.i (hash):
* ace/INET_Addr.i (hash):
Finally gave up with template specialization hell and freak'in
broken compilers and simply added a hash() method to ACE_Addr
and ACE_INET_Addr. ACE_Addr::hash() simply return 0 and should
be overwritten by subclasses that can provide better hashing.
Wed Sep 30 10:16:56 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/ACE.cpp: Modified max_handles() so that it goes the right
thing on platforms like AIX that don't have any predefined limit
on the number of handles. Thanks to Chris Lahey
<CLahey@cccis.com> for reporting this.
Wed Sep 30 01:56:54 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Strategies_T:
- ACE_Refcounted_Hash_Recyclable::operator==(const T &rhs):
Added new method to prevent implicit type conversions.
- Changed ACE_Hash_Addr::hash_i to return u_long instead of
size_t. This makes it similar to the return value from
hash().
- Added hash caching ability to ACE_Hashable.
- Removed the use of ACE_Hash_Addr inside the
ACE_Cached_Connect_Strategy. This allows us to reduce
implicit type conversions inside connect_svc_handler().
Users are now required to specialize
ACE_Refcounted_Hash_Recyclable<ACE_INET_Addr>::hash_i (void) instead
of ACE_Hash_Addr<ACE_INET_Addr>::hash_i(const ACE_INET_Addr&addr)
* tests/Conn_Test.cpp: Changed template specialization of
ACE_Hash_Addr<ACE_INET_Addr>::hash_i(const ACE_INET_Addr&addr)
to ACE_Refcounted_Hash_Recyclable<ACE_INET_Addr>::hash_i (void).
* ace/OS.cpp (open): Fixed a couple of things that were broken
with respect to when the SetFilePointer was called and when lock
was released. Also fixed the UNICODE version of open(). BTW,
these functions had to be moved from OS.i to OS.cpp since the
ACE_Managed_Object is not visible from OS.i.
Wed Sep 30 02:29:48 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* performance-tests/TTCP/ACE-C++/Makefile:
* performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp:
Hacked so it would compile, don't know anything further than
that.
Tue Sep 29 21:55:52 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/ace.dsw: Removed Connector.cpp from the compile list since
it is a files with template classes only.
Tue Sep 29 21:14:02 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.i (open): Grab a lock from the Object_Manager when
O_APPEND is defined to simulate atomic behavior on most UNIX
platforms. Thanks to Irfan.
Tue Sep 29 19:16:57 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/007/thread_pool.h
* docs/tutorials/007/thread_pool.cpp
Added virtual methods for open() and close() that match the
baseclass. This will keep some compilers from complaining about a
partial-overload attempt. Thanks to Bob McWhirter for catching this.
Tue Sep 29 16:13:10 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Strategies_T:
* ace/Connector:
Added accessors for the strategy.
Tue Sep 29 14:04:49 EDT 1998 James CE Johnson <jcej@lads.com>
* docs/tutorials/013/page08.html: Removed link to message_queue.
Thanks to Jeff Hellzen for pointing this out.
Tue Sep 29 11:05:04 1998 David L. Levine <levine@cs.wustl.edu>
* ace/README: removed ACE_HAS_ONLY_TWO_PARAMS_FOR_ASCTIME_R_AND_CTIME_R
because it is no longer used. Thanks to Ossama for reporting this.
* ace/config-fsu-pthread.h,config-mit-pthread.h,config-mvs.h,
config-sco-5.0.0-mit-pthread.h,config-tandem.h,README:
removed ACE_HAS_PTHREAD_DSTATE_PTR because it is no longer used.
Thanks to Ossama for reporting this.
Mon Sep 28 20:35:49 1998 Sergio Flores <sergio@tango.cs.wustl.edu>
* ace/Containers_T.h:
* ace/Containers_T.cpp: Added begin () and end () to
ACE_Unbounded_Queue.
Mon Sep 28 16:06:05 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.*,Object_Manager.{h,cpp}: removed ACE_HAS_TSS_EMULATION's
support for ACE_HAS_NATIVE_KEYS. Now, if ACE_HAS_TSS_EMULATION
is used and ACE_HAS_THREAD_SPECIFIC_STORAGE is #defined, then
the ACE TSS emulation will use one native TSS key.
ACE_TSS_EMULATION may be useful even on platforms that
have native thread specific storage. It offers these
advantages:
1) ACE's TSS emulation offers a configurable number of TSS
keys, via ACE_DEFAULT_THREAD_KEYS. Most (all?) native TSS
implementations have a fixed number of keys. LynxOS 3.0.0,
for example, only has three keys available to applications.
ACE_DEFAULT_THREAD_KEYS defaults to 64, to match the
number of native keys on Windows NT.
2) ACE's TSS emulation recycles deleted keys. Some native TSS
implementations, such as POSIX Draft 4, POSIX Draft 6, and
Solaris, do not allow deletion of TSS keys. Therefore,
unused keys cannot be recycled.
3) ACE's TSS emulation calls destructors on TSS objects in the
main thread. Solaris' native TSS, for example, does not.
There is one known drawback to using ACE's TSS emulation: it is
slower than using native TSS. The performance penalty is
probably negligible for most applications, however. It involves
just an additional function call, an array index, and three numeric
comparisons beyond the native TSS call. The function call is
_not_ a virtual function call. (On MVS, there's an additional
memcpy of the TSS key with TSS emulation.)
TSS emulation is enabled by default in the ACE configurations
for VxWorks, pSOS, and LynxOS.
Many thanks to Arturo Montes <mitosys@colomsat.net.co> for
expanding TSS emulation to platform that have native TSS.
Sun Sep 27 20:12:13 EDT 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/index.html: Linked in Tutorial 13
Sun Sep 27 18:53:25 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* tests/Map_Manager_Test.cpp:
Instead of clearing the capacity and size in the
free_search_structure() method we do it on the close()
method. The first method is also used in other places...
Sun Sep 27 18:25:57 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.i (readdir_r): added __USE_POSIX test for three-arg
::readdir_r (). Thanks to james@tsunami.com for providing
the patch.
Sun Sep 27 09:35:04 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/013/*
Completed Tutorial 013! The code is up to date and compilable on
RedHat Linux with egcs 1.1. It may need some template help on other
platforms. The HTML is done and in synch with the code.
Sun Sep 27 01:52:36 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/INET_Addr.cpp:
The get_host_name() method was returning the first name, and not
looking up in the alias list for the right match with the
address.
Sun Sep 27 00:18:48 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Makefile: Updated dependency.
* ace/OS.cpp (invoke):
* ace/Thread_Manager.cpp (ace_thread_manager_adapter):
(ACE_Thread_Exit::instance): Removed conditional macro
ACE_HAS_PTHREAD_SIGMASK so the Thread_Exit instance can be place
in TSS. This was guarded by ACE_HAS_PTHERAD_1003_DOT_3 which
later merged with ACE_HAS_PTHERAD_SIGMASK. However, the
origianl intension of this condition was to fix a bug in Xavier
pthread implementation. The effect of merging the two macros
forces ACE_Thread_Exit be allocated from stacks which, in turn,
prevent threads from exiting properly when pthread_cancel is
used.
Linux is the only platform that I know which uses Xavier thread
library. The bug has apparently been fixed. If your platform
segfaults while spawning threads, please let me know. Thanks to
Chris Gill for noticing the abnormal behavior when calling
ACE_Thread::thr_cancel.
Sat Sep 26 23:20:52 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/Proactor.cpp: Fixed the g++ warnings.
Fri Sep 25 23:19:52 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Sched_Params.cpp: use both ACE_HAS_STHREADS and
ACE_HAS_PRIOCNTL. With just ACE_HAS_PRIOCNTL, the
min/max priority values weren't right on DU 4.0. With
this change, we're back to the strict POSIX interface
on DU 4.0, and SunOS if ACE_HAS_STHREADS is not #defined.
Fri Sep 25 21:58:35 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/ACE.cpp (set_handle_limit): Added appropriate return value.
Fri Sep 25 22:10:38 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Map_Manager.cpp:
Map_Manager::close() did not reset the capacity or current size
of the map.
Fri Sep 25 18:24:17 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* ace/Proactor.{h,cpp}: Had to allow the definition of
POSIX_COMPLETION_STRATEGY for the do-nothing constructor on
NT.
Fri Sep 25 18:07:19 EDT 1998 James CE Johnson <jcej@lads.com>
* A few more minor changes to docs/tutorials/013. With luck, the
HTML part will be done this weekend!
Fri Sep 25 14:51:54 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/Asynch_IO.h:
* ace/Asynch_IO.cpp:
* ace/Proactor.h:
* ace/Proactor.cpp:
Implemented Asynch_Accept to work for AIO_CONTROL_BLOCKS strategy of
completion notification.
Defined an auxillary Accept_Handler called ACE_AIO_Accept_Handler in
addition to the ACE_Asynch_Accept_Handler. ACE_AIO_Accept_Handler
holds the notification pipe and does a read on it to handle the
<ACE_Asynch_Accept::Result> coming from Asynch_Accept_handler.
THANKS to Doug and Irfan for suggesting this 'notification pipe' based
implementation for AIO_CONTROL_BLOCKS strategy, so that Proactor will
work on platforms where POSIX4 RT_Signals are broken (Solaris 2.6 !)
Note : Proactor uses AIO_CONTROL_BLOACKS strategy by default on
POSIX4 platforms. Call the constructor with RT_SIGNALS to enable
Real Time singal implementation.
This should become very easier when we finish organizing these
files according to the Bridge pattern.
Fri Sep 25 12:40:45 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-sunos5.{5,6}.h: removed #define/#undef of
ACE_THR_PRI_FIFO_DEF. They're no longer needed with the
hard-coded ACE_THR_PRI_* values for Solaris in ace/OS.h.
* ace/OS.i: removed carriage returns. Thanks to Darrell
for noticing it.
* tests/Handle_Set_Test.cpp: removed ACE_Node<ACE_HANDLE>
template instantiation because it conflicted with the
ACE_Node<ACE_INT32> instantiation in ace/Stats.cpp.
* docs/ACE-porting.html: updated "auto configure" link. Thanks
to Ossama for reporting this.
* ace/ACE.cpp (set_handle_limit): on platforms with
ACE_LACKS_RLIMIT or ! RLIMIT_NOFILE, don't use
ACE_NOTSUP_RETURN if the new_limit is <= the cur_limit.
On those platforms, the limit can't be changed anyways,
and the request was _not_ to increase the limit. So,
it's a no-op; just return 0.
Fri Sep 25 12:15:00 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace: The following ACE_TRACE calls being made during the
creation of the ACE_Log_Msg instance. The ACE_TRACE calls then
try to create the ACE_Log_Msg instance which then ends up
executing the ACE_TRACE's. Etc, etc, etc...
Here are the methods with the ACE_TRACEs that I commented out to
get ACE to run:
ACE_IPC_SAP::~ACE_IPC_SAP
ACE_SOCK::ACE_SOCK
ACE_SOCK::~ACE_SOCK
ACE_SOCK_IO::ACE_SOCK_IO
ACE_SOCK_IO::~ACE_SOCK_IO
ACE_SOCK_Stream::ACE_SOCK_Stream
ACE_SOCK_Stream::~ACE_SOCK_Stream
ACE_Thread::keycreate
ACE_Thread::setspecific
ACE_Thread::getspecific
Thanks to "Patrick J. McNerthney" <pat@cartia.com> for this bug
report.
Fri Sep 25 10:10:12 1998 Steve Huston <shuston@riverace.com>
* ace/OS.i (cond_timedwait): Add EINTR to the list of errno values
that get changed to ETIME on wait timeout. EINTR is from LynxOS.
Thanks to David Levine for this fix.
* tests/Semaphore_Test.cpp: Remove the assertion that a timed out
semaphore will return EINTR for ACE_HAS_PTHREADS_DRAFT4. All
platforms expect ETIME, which is normalized in
ACE_OS::cond_timedwait.
Thu Sep 24 22:31:30 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.h: hard-coded the ACE_THR_PRI_* values on suns.
SunOS 5.6 could use sched_get_priority_min/max () for FIFO
and RR. But for OTHER, it returns negative values, which
can't be used. And, sched_get_priority_min/max () aren't
supported in SunOS 5.5.1. It would really be helpful
if SunOS defined PRI_FIFO_MIN, etc., in sched.h, but
it doesn't, probably because its process scheduling is
so flexible. Thanks to Russ Noseworthy
<rnosewor@objectsciences.com> for helping to figure this
out.
Thu Sep 24 17:54:26 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Asynch_IO.cpp:
Removed duplicate instantiation of a template, IRIX does not
like this. Thanks to Ossama Othman
<othman@astrosun.tn.cornell.edu> because his configure script
detected the Asynch I/O calls on IRIX and enabled this ACE
code.
Thu Sep 24 16:28:32 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/config-win32-common.h: ACE_HAS_TEMPLATE_TYPEDEFS was defined
for VC4.1 and VC4.2. Template typedefs in Strategies_T.cpp
broke the VC4.2 compiler. Therefore, ACE_HAS_TEMPLATE_TYPEDEFS
was deprecated for VC4.1 and VC4.2. I also checked VC5.0 and it
didn't work. Therefore, for the time being, none of the VC
compilers support ACE_HAS_TEMPLATE_TYPEDEFS. I didn't try
VC6.0.
* ace/Strategies_T.cpp (check_hint_i ): Changed the signature so
that it is identical to find_or_create_svc_handler_i(). For
some strange freakin reason, the VC4.2 could not gork
check_hint_i() but was able to gork
find_or_create_svc_handler_i.
* ace/ACE_Library.mdp: Added Select_Reactor_Base.cpp and
Container.cpp to make ACE build with VC4.2.
Thu Sep 24 13:30:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu>
* examples/Bounded_Packet_Relay/README
examples/Bounded_Packet_Relay/Bounded_Packet_Relay.{dsp,dsw}
Updated README, added in MSVC++ project, workspace files.
Thu Sep 24 12:48:58 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Containers_T.cpp (ACE_{Bounded,Fixed}_Set_Iterator::done),
ace/Map_Manager.cpp (ACE_Map_Iterator_Base::done):
added ACE_CAST_CONST to the static cast. Thanks to Ossama for
reporting a compilation failure on Sun C++ 4.2/Solaris 2.6
without it.
* ace/High_Res_Timer.cpp (global_scale_factor): on Linux,
only use BogoMips if the CPU is an alpha. It would also
work directly on Pentium Pro, but not other Pentiums. With
a little effort, it could be made to work there, see the
BogoMips mini-HOWTO. Thanks to Ossama for enlightening me
on this corner of Linux.
* tests/Upgradable_RW_Test.cpp (main): delete dynamically
allocated reader_tasks and writer_tasks, and arrays, at end of test.
Thu Sep 24 09:17:32 1998 Steve Huston <shuston@riverace.com>
* ace/Containers_T.h: Added #include "ace/Containers.h" - AIX xlC
needs this when instantiating templates.
* ace/Dirent.cpp: Do the HP check using only compiler-defined
preprocessor macros since config.h isn't included.
* ace/OS.i: Fixed comments that referenced DCE threads.
Changed readdir_r #ifdefs to handle pthreads drafts 4 and 6
the same, and split HP-UX 10.x off as a non-conformant player.
Thanks to David Levine for sorting this out with LynxOS.
* ace/Thread_Manager.cpp: Changed occurrences of
ACE_HAS_DCE_DRAFT4_THREADS to ACE_HAS_PTHREADS_DRAFT4. Corrected
a call to pthread_detach. Changed a couple of calls to
pthread_detach on HP-UX 10.x to duplicate the thread handle before
the call because pthread_detach on HP-UX 10.x clears the handle
and it was still needed.
On AIX, xlC doesn't match the call to
ACE_Thread::join(ACE_hthread_t, void ** = 0) correctly when the
second arg is specified. So call the 3-arg variety on AIX, knowing
that the second arg is ignored underneath on pthreads.
Wed Sep 23 22:13:04 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/006/server.cpp:
Wrapped !defined(ACE_HAS_GNU_REPO) around the explicit template
instantiation.
* docs/tutorials/005/client_handler.cpp (handle_input):
* docs/tutorials/006/client_handler.cpp (svc):
* docs/tutorials/006/client_handler.cpp (handle_input):
* docs/tutorials/007/client_handler.cpp (svc):
* docs/tutorials/007/client_handler.cpp (handle_input):
Use ACE_OS::memset() instead of direct call to memset()
* docs/tutorials/005/Makefile:
* docs/tutorials/007/Makefile:
Touch .depend if it does not exist.
Wed Sep 23 22:03:19 1998 Arturo Montes <mitosys@colomsat.net.co>
* ace/config-sco-5.0.0.h: added ACE_LACKS_READDIR_R.
Wed Sep 23 14:26:44 EDT 1998 James CE Johnson <jcej@lads.com>
* docs/tutorials/005/server.cpp
docs/tutorials/006/server.cpp
docs/tutorials/007/server.cpp
docs/tutorials/008/Makefile
docs/tutorials/009/Makefile
docs/tutorials/013/Makefile
docs/tutorials/013/block.cpp
docs/tutorials/013/block.h
docs/tutorials/013/data.h
docs/tutorials/013/message_queue.cpp
docs/tutorials/013/mld.cpp
docs/tutorials/013/mld.h
docs/tutorials/013/page01.html
docs/tutorials/013/page02.html
docs/tutorials/013/page03.html
docs/tutorials/013/page04.html
docs/tutorials/013/task.cpp
docs/tutorials/013/task.h
docs/tutorials/013/work.cpp
docs/tutorials/013/work.h
Fixed explicit template instantiaions in
tutorials 5, 6, 7.
Fixed a nasty bug in 9's Makefile (and removed
similar comment in 8's Makefile)
Preliminary version of 013 committed. The code
worked before I began "optimizing" and should work
again in a couple of days. The HTML is not yet
done but will be by the weekend (I hope).
Wed Sep 23 12:15:21 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Stats.*: modified standard deviation calculation to
help avoid overflow. Instead of keep running totals of
the sum and sum of squares, it stores each sample in an
dynamic structure. Then, to calculate the standard
deviation, each sample is compared with the mean.
* ace/Sched_Params.cpp: replace ACE_HAS_STHREADS with
ACE_HAS_PRIOCNTL. Thanks to Ossama for pointing this out.
* ace/Synch.h: replaced #endif /* ACE_HAS_STHREADS */ with
#endif /* 0 */.
* performance-tests/TTCP/{ACE-C++,C,Orbix}/Makefile: removed
old Quantify LINK_COMMANDs. They don't look like they're used
anywhere.
* include/makeinclude/wrapper_macros.GNU: removed -DACE_QUANTIFY
and -Dquantify, with quantify=1, because they're no longer used.
* ace/OS.h,README: added ACE_LACKS_CMSG_DATA_{MACRO/MEMBER} support.
It will be used by autoconf, for Linux libc5 (pre-libc). Thanks
to Ossama for supplying it.
* ace/config-g++-common.h: disable ACE_HAS_TEMPLATE_SPECIALIZATION
with g++ 2.9. Thanks to Andrew G. Harvey <agh@cisco.com> for a
problem with compiling ace/Filecache.cpp with g++ 2.9 on SunOS 5.5.1.
* tests/Upgradeable_RW_Test.h: replaced ACE_Thread_Mutex with
ACE_SYNCH_MUTEX. Thanks to Ossama for reporting this.
* ace/config-linux-common.h: commented out the msg_accrights(len)
#defines. Thanks to Ossama for noticing that they just don't
look right. They no longer appear to be necessary on Linux.
Wed Sep 23 11:30:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu>
* examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp}
examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp}
examples/Bounded_Packet_Relay/BPR_Drivers_T.{h,cpp}
Fixed memory leaks uncovered by Purify, added large high water mark
for packet relay's underlying message queue.
Wed Sep 23 11:28:13 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* bin/Process_Unix.pm:
If the exec() call fails we report the name and the arguments of
the program.
Wed Sep 23 09:27:21 1998 Steve Huston <shuston@riverace.com>
* ace/Dirent.cpp: Fixed aCC workaround from 22-Sep so that only
non-g++ compilers on HP-UX see it.
Wed Sep 23 02:21:24 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.42 released.
Tue Sep 22 21:34:31 1998 Steve Huston <shuston@riverace.com>
* ace/Dirent.cpp: Make aCC quit yacking about an empty translation
unit.
* ace/OS.i: Fix up the conditions for readdir_r on differing pthreads
drafts.
* ace/config-aix-4.2.x.h: Added ACE_HAS_DIRENT.
Tue Sep 22 21:00:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu>
* examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp}
examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp}
examples/Bounded_Packet_Relay/BPR_Drivers_T.{h,cpp}
examples/Bounded_Packet_Relay/bpr_thread.cpp:
More fixes from testing on NT, added more logging features.
Tue Sep 22 17:07:17 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/Message_Queue_Notifications_Test.cpp (Watermark_Test):
Repositioned a comma so it compiles on non-threaded platforms.
Thankd to Ossama for noticing this.
Tue Sep 22 17:20:53 1998 James Hu <jxh@entera.com>
* ace/Containers_T.{h,i}:
Added a remove method to the ACE_DLList_Iterator. This is
needed since ACE_DLList is actually an abstraction over
ACE_Double_Linked_List, so the user of ACE_DLList does not hold
the address of the "real" node that ACE_Double_Linked_List is
managing.
Tue Sep 22 16:07:53 1998 Steve Huston <shuston@riverace.com>
* bin/Makefile: Will now only build envinfo if make is invoked
with "envinfo=1". The difference is needed to allow clone to be
built before ACE has been built.
Tue Sep 22 13:58:06 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/config-irix6.x-g++.h:
Added some missing defines, thanks to JM Strauss
<jms97@club-internet.fr> for pointing them out. Also fixed a
test for the N32 ABI, it said _NABI32 and should be _ABIN32.
Tue Sep 22 11:42:17 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-lynxos.h: added ACE_HAS_POWERPC_TIMER with
__powerpc__, but commented it out because it requires an OS patch.
* ace/OS.i (fstat): put a :: in front of the call to the
system fstat if it's not defined as a macro. Thanks to
Ossama for reporting that MM_Shared_Memory_Test failed
otherwise.
Tue Sep 22 10:58:04 1998 Ossama Othman <othman@astrosun.tn.cornell.edu>
* ace/OS.i (ACE_cond_t::waiters): only define this function if
ACE_HAS_THREADS.
Testing the autoconf integration on a Linux libc5 system w/o
threads caused me problems since ACE_LACKS_COND_T gets
defined by the configure script automatically since no
condition variable support was found. The ACE_cond_t class
appears to only get defined if ACE_HAS_THREADS is defined,
otherwise ACE_cond_t is typedefed to an int. For
this reason, I thought that it would be a good idea to make
the above modification to prevent compile time errors on
platforms without threads and when ACE_LACKS_COND_T is
defined on those platforms.
Tue Sep 22 03:09:07 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.41 released.
Tue Sep 22 00:31:26 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Log_Record.cpp (print): Make sure that the process id and
timestamp are fixed width. Thanks to Valery Arkhangorodsky
<avalery@geocities.com> for this fix.
Mon Sep 21 22:54:44 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Bounded_Packet_Relay: Removed a gratuitous
parameterized type which was causing problems for SunC++.
Mon Sep 21 21:47:12 1998 David L. Levine <levine@cs.wustl.edu>
* ace/README: added ACE_HAS_PURIFY and ACE_HAS_QUANTIFY.
* include/makeinclude/wrapper_macros.GNU: added ACE_HAS_PURIFY
and ACE_HAS_QUANTIFY support. We should use these consistently.
In addition, added -I support for Purify and Quantify.
This support should no longer appear in individual Makefiles.
* ACE-INSTALL.html: added paragraph on Purify/Quantify support
details, i.e., they must be on your PATH, and ACE puts the
instrumented libraries below /tmp by default.
Mon Sep 21 20:46:00 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Containers_T.cpp (ACE_Double_Linked_List): Changed
dynamic_cast to static_cast.
Mon Sep 21 18:35:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu>
* examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp}
examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp}
examples/Bounded_Packet_Relay/BPR_Drivers_T.{h,cpp} (new)
examples/Bounded_Packet_Relay/bpr_thread.cpp:
Factored out templates into separate files, fixed initialization,
concurrency, and deadlock problems found in NT testing.
Mon Sep 21 18:27:19 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* tests/Conn_Test.cpp: g++ cannot gork templates typedefs.
Mon Sep 21 15:48:34 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Acceptor: It's now possible to select if you want to reuse
the PEER_ACCEPTOR addr. Thanks to Chuck Gehr for suggesting
this.
Mon Sep 21 15:00:34 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Thread_Manager.{h,cpp} (join): Allow passing back of thread's
exit status of the thread being joined.
Mon Sep 21 11:24:33 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* docs/ACE-categories.html (HREF): Updated the links to ace/ and
man/ since we moved the file around. Thanks to Byron Harris for
reporting this.
Mon Sep 21 10:22:17 1998 Steve Huston <shuston@riverace.com>
* ace/Select_Reactor_T.cpp (handle_error): Check handles for all
errors (not just EBADF) on Win32, in addition to MVS. Thanks
to Xu Yifeng <xuyifeng@www.kali.com.cn> for this fix.
Mon Sep 21 01:27:19 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Strategies_T.cpp (find_or_create_svc_handler_i): g++ cannot
gork templates...
* tests/Conn_Test.cpp: Fixed template instantiations.
* ace/Strategies_T.cpp (ACE_Cached_Connect_Strategy): New methods
find_or_create_svc_handler_i and check_hint_i to simplify
connect_svc_handler. Also added _i methods to implement
non-locking versions.
* ace/Strategies.h (ACE_Connection_Recycling_Strategy):
New methods: mark_as_close and cleanup_hint.
* ace/Strategies: Added three new classes: ACE_Recyclable,
ACE_Hashable, and ACE_Refcountable. Also added
ACE_Refcounted_Hash_Recyclable. Deprecated ACE_Recyclable<T> and
ACE_Hash_Recyclable<T>
* ace/Svc_Handler.h (cleanup_hint): Added new method. This can be
used by users when they are through with using the svc_handler
as a hint.
Mon Sep 21 00:40:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu>
* examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp}
examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp}
examples/Bounded_Packet_Relay/bpr_thread.cpp
examples/Bounded_Packet_Relay/README:
Reorganized construction of input and output device objects
and the relay object, cleaned up readme file.
Sun Sep 20 22:01:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu>
* examples/Bounded_Packet_Relay/BPR_Drivers.h:
Made Bounded_Packet_Relay_Driver::display_menu (void) pure virtual:
now it all compiles *and* links.
Sun Sep 20 21:49:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu>
* examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp}
examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp}
Fourth checkin of bounded packet relay example: compiles.
Sun Sep 20 20:41:29 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Acceptor.{h,cpp}: Added an extra argument to constructors of
ACE_Strategy_Acceptor and open method so that we can accept only
one connection request every time handle_input is called.
Sun Sep 20 20:30:36 1998 Marina Igorevna Spivak <marina@mambo.cs.wustl.edu>
* ace/OS.h : added ACE_GUARD_THROW, ACE_GUARD_THROW_RETURN,
ACE_NEW_TRY_THROW, ACE_NEW_TRY_THROW_RETURN macros to utilize
new exceptions macros.
Sun Sep 20 19:18:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu>
* examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp}
examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp}
examples/Bounded_Packet_Relay/README
Third checkin of bounded packet relay example,
addressed remaining coding style issues.
(very rough, still does not compile)
Sun Sep 20 16:38:17 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Thread_Manager.i (get_next): Changed to use static_cast.
* ace/Thread_Manager.cpp: Shielded off terminated_thr_list_ from
compilation on VxWorks. Thanks to David for noticing this.
Sun Sep 20 12:17:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu>
* examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp}
examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp}
Second checkin of bounded packet relay example,
addressed several coding style issues.
(very rough, still does not compile)
Sun Sep 20 11:25:52 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.h: with ACE_HAS_TSS_EMULATION, use u_long instead of
u_int for ACE_thread_key_t. This avoids overload ambiguity
on platforms that typedef pthread_key_t to u_int. We'll be
in trouble if we try on one that uses u_long. In that case,
we could try u_short, or added an ACE_HAS.
* ace/Thread_Manager.i (register_as_terminated): neutered on VxWorks,
so that it will compiled.
* tests/SOCK_Connector_Test.cpp (host_is_up): don't define
this function ifdef ACE_LACKS_GETHOSTENT, because it isn't
used in that case.
Sat Sep 19 14:29:56 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/OS.i (fstat): Removed the "::" in front of the fstat() call
since it's implemented as a macro on some platforms. Thanks to
Frank Adcock <frank@bushlife.com.au> for reporting this.
* examples/Bounded_Packet_Relay: Updated the coding style.
Sat Sep 19 14:06:52 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* apps/JAWS/PROTOTYPE/JAWS/IO.cpp: Fixed typo.
* apps/JAWS/PROTOTYPE/JAWS/jaws.dsp:
* apps/gperf/src/gperf.dsp:
* ace/ace_dll.dsp:
* netsvcs/clients/Naming/Client/Client_Test.dsp:
* netsvcs/lib/netsvcs.dsp:
Changed behavior of all DLL projects and utilities (like
gperf) to put the dll and executables in $ACE_ROOT/bin.
* ace/config-win32.h: ACE_HAS_GPERF is back.
* ACE-INSTALL.html: On NT, $ACE_ROOT/bin should now be in
your path instead of $ACE_ROOT/ace.
Sat Sep 19 12:27:31 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Asynch_IO.cpp: thread_function() is only for UNIX.
Sat Sep 19 10:43:41 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/Asynch_IO.cpp (open): Fixed the build errors with WIN32.
Sat Sep 19 09:02:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu>
* examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp}
examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp}
examples/Bounded_Packet_Relay/bpr_thread.cpp
examples/Bounded_Packet_Relay/Makefile
examples/Bounded_Packet_Relay/README:
First checkin of bounded packet relay example
(very rough, does not even compile yet)
Sat Sep 19 00:42:53 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/Asynch_IO.cpp: Fixed NT warnings (hopefully :-)
Fri Sep 18 22:50:21 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Thread_Manager.{h,i,cpp}: Added a join method to reclaim
OS/ACE resources that are used to managed thread object. I
encourage all ACE programmers to use ACE_Thread_Manager::join to
wait for threads spawned by ACE_Thread_Manager. It is more
portable than ACE_Thread (most significantly, wrt resource
management.)
(wait_grp,wait_task): Improved and corrected the
implementations. These two methods now also clean up resources
used by threads that has already terminated when the calls get
invoked.
Changed the terminated_thr_queue_ to terminated_thr_list_ which
is now a double-linked list. This change allows us to
gather/cleanup infomation of threads belong to same group/task
in one pass.
ACE_Thread_Manager::exit now tests the thread status to see if
ACE_THR_JOINING is set or not. If set, it means the thread is
being joined by join/wait_grp/wait_task and avoid double
removing the thread resources from OS.
* ace/OS.h (ACE_Thread_State): Added ACE_THR_JOINING to identify
threads that are being joined by the Thread Manager.
* ace/Container_T.{h,cpp} (ACE_Double_Linked_List): Added several
dynamic_cast in several places so we can generate code for both
base class and derived class.
(ACE_Double_Linked_List_Iterator): Added a method
"advance_and_delete" to allow removing double-linked list
element while iterating thru the list. The design is very
intrusive and you should know what you are doing before using
the method. Notice that ACE_Double_Linked_List is _not_ a
general purpose Container class.
* tests/run_tests.bat: Added DLList_Test.
Fri Sep 18 18:06:19 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/Asynch_IO.h:
* ace/Asynch_IO.cpp:
* examples/Reactor/Proactor/test_proactor.cpp:
Implemented Asynch_Accept for POSIX4 systems, by having only one
thread doing <handle_events>. Asynch_Accept_Handler has been
changed to act as Event Handler now. No problem of having threads
blocking on the <accept> now. Thanks to Irfan for this idea.
Fri Sep 18 13:26:50 1998 David L. Levine <levine@cs.wustl.edu>
* tests/High_Res_Timer_Test.cpp (check): raised success
threshold from 10 to 25 percent. Ossama saw just over
10 percent on an Linux box, not surprising. Thanks to
him for reporting it.
* ace/SOCK_Dgram_Mcast.cpp (unsubscribe): on other than ACE_WIN32,
added ACE_UNUSED_ARGs for protocol_family and protocol. Thanks
to Peter Liqun Na <liqunna@cs.sunysb.edu> for reporting this.
* ace/OS.cpp (ACE_TSS_Emulation_cleanup): added ACE_UNUSED_ARG (ptr).
* bin/make-release: enter version number(s) into BUG-REPORT-FORM.
Thanks to Steve for this suggestion.
Fri Sep 18 01:53:38 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.40 released.
Fri Sep 18 01:51:46 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/ACE (open_temp_file): Changed the signature of this method
to take a const char * rather than a char *.
Fri Sep 18 00:07:31 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/ACE.h (ACE):
* ace/ACE.cpp (open_temp_file): Added this method to do open for
the temp files, so that they will get deleted when they are
closed.
Thanks to Nanbor and Carlos.
Thu Sep 17 23:01:50 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Containers.i: resurrected the file properly.
* ace/Containers.i (~ACE_DLList_Node): removed extraneous ;
following function definition.
Thu Sep 17 22:44:17 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp: If the client
doesn't connect to the server, make sure to shut down the test
gracefully, rather than getting a segfault. Thanks to
Margherita Vittone Wiersma <vittone@fndaub.fnal.gov> for
reporting this.
Thu Sep 17 22:33:00 1998 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/index.html
docs/tutorials/templates.html
Added templates.html to discuss issues surrounding manual vs
automatic template instantiation.
Thu Sep 17 20:01:33 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/tests.dsw:
* tests/version_tests.dsw:
* tests/[version_tests/]High_Res_Timer_Test.dsp:
* tests/[version_tests/]DLList_Test.dsp: Added new project files.
Thu Sep 17 19:27:11 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.cpp (TSS_base,some ACE_PSOS_Time_t functions):
removed ACE_INLINE.
* examples/Shared_Malloc/test_malloc.cpp (gen_size): cast
&seed to unsigned long first, to avoid warning about
narrowing on Alphas (cxx/DU 4.0).
Thu Sep 17 18:51:08 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* examples/Reactor/Multicast/server.cpp:
* examples/Reactor/Multicast/Log_Wrapper.cpp:
* examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp:
Revert back to iovec instead of ACE_IO_Vector.
Thu Sep 17 18:33:19 EDT 1998 James CE Johnson <jcej@lads.com>
* docs/tutorials/002/server.pp
Added necessary templates for explicit instantiation.
Thanks to Krishna Padmasola for providing the proper code
and to Clinton Carr for reminding me to do it!
Thu Sep 17 16:30:00 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* This comments were lost in a previous commit.
* ace/OS.h:
* ace/OS.i:
* ace/ACE.cpp:
* ace/ACE.h:
* ace/DEV_IO.cpp:
* ace/DEV_IO.h:
* ace/DEV_IO.i:
* ace/FIFO_Send_Msg.cpp:
* ace/FILE_IO.cpp:
* ace/FILE_IO.h:
* ace/FILE_IO.i:
* ace/LSOCK.cpp:
* ace/LSOCK_Stream.cpp:
* ace/LSOCK_Stream.h:
* ace/SOCK_Dgram.cpp:
* ace/SOCK_Dgram.h:
* ace/SOCK_Dgram_Bcast.cpp:
* ace/SOCK_Dgram_Bcast.h:
* ace/SOCK_Dgram_Mcast.h:
* ace/SOCK_Dgram_Mcast.i:
* ace/SOCK_IO.cpp:
* ace/SOCK_IO.h:
* ace/SOCK_IO.i:
* ace/SPIPE_Stream.cpp:
* ace/SPIPE_Stream.h:
* ace/SPIPE_Stream.i:
Moved back to iovec instead of ACE_IO_Vector. Since this
structure is defined by ACE we can make it binary compatible
with the WSABUF structure (yet preserve the names of the UNIX
iovec struct). This allow us to simply pass arrays of iovec to
routines expecting WSABUF*.
But Win32 does not provide any functions to go scatter-gather
over files, so this is only used for sockets, new methods:
ACE_OS::sendv() and ACE_OS::recvv() were added for this
purpose, the old emulation is used for the other classes. Users
writing to higher-level components (such as ACE_SOCK or
ACE_SOCK_Dgram) will benefit from this without any changes to
their code.
* ace/SOCK_Dgram.cpp:
* ace/SOCK_Dgram.h:
* ace/SOCK_Dgram_Bcast.cpp:
* ace/SOCK_Dgram_Bcast.h:
* ace/SOCK_Dgram_Mcast.h:
* ace/SOCK_Dgram_Mcast.i:
Added the implementation for some send() variants that were
declared but not implemented.
* ace/OS.h:
* ace/OS.i:
* ace/config-win32-common.h:
Added support for sendmsg() and recvmsg() on NT, emulated over
WSASendTo() and WSARecvFrom(), do data copies are made.
* ace/Containers.cpp:
* ace/Containers.h:
* ace/Containers_T.h:
* ace/Containers_T.i:
Moved the non-templated code back to Containers.{h,i,cpp}, added
the infamous ACE_Export macro.
* ace/ace_dll.dsp:
Added Containers.cpp to the project.
Thu Sep 17 11:23:49 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/OS: Modified ACE_THR_FUNC so that its signature is always
void *(*)(void *). We now have a new type called
ACE_THR_FUNC_INTERNAL that is defined for each different OS
platform, e.g., VxWorks, pSoS, et al.
* examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp (run_server): Oops,
we can't use ACE_THR_FUNC here since that has a different
signature on VxWorks. So we'll just expand this a bit. Thanks
to Raja Ati <rati@jupiter.montereynets.com> for reporting this.
Thu Sep 17 09:54:56 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Svc_Handler.cpp (new): cleaned up the ACE_ASSERT check
for ACE_Dynamic::instance () not being null.
* docs/ACE-guidelines.html: added guideline to define ACE_
typedefs to reduce the number of #ifdefs. Thanks to
Carlos and Doug for this suggestion, and Chris for the
example :-).
* examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp (run_event_loop):
added casts to ACE_THR_FUNC to please VxWorks. Thanks to
Raja Ati <rati@montereynets.com> for reporting this problem.
It would probably be better to change the definition of
ACE_THR_FUNC on VxWorks (and PSOS) to be the same as on
other platforms. That will require other changes, though.
* examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp:
removed trailing ; from instantiation #pragma.
* ace/config-lynxos.h: added ACE_HAS_TSS_EMULATION.
Thu Sep 17 09:23:01 1998 Carlos O'Ryan <coryan@JIG>
* ace/FIFO_Send_Msg.cpp:
Fixed variable declaration, "struct ACE_IO_Vector_Base" is not
the same as "ACE_IO_Vector_Base".
* ace/OS.i:
Fixed the ACE_OS::rand_r() signature for Win32.
* ace/SOCK_Dgram_Mcast.cpp:
Fixed some problems with the Win32 implementation of
unsubscribe().
Thu Sep 17 08:41:14 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* examples/Shared_Malloc/test_malloc.cpp:
Fixed some problems with my changes to rand_r()
* ace/Containers.i:
Resurrected this file to avoid problems with dependencies in
TAO.
Thu Sep 17 08:41:24 1998 Steve Huston <shuston@riverace.com>
* include/makeinclude/platform_hpux_gcc.GNU: Added -L. to LDFLAGS.
Thanks to Anne Blankert <anne@geodan.nl> for this fix.
Thu Sep 17 07:31:13 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.i (truncate): added ACE_UNUSED_ARGs for NOTSUP case.
Thu Sep 17 02:45:53 PDT 1998 James Hu <jxh@entera.com>
* ace/Containers_T.h:
* ace/Containers_T.i:
* ace/Containers_T.cpp:
Added these files so that I could include some explicit
template instantiations inside Containers.cpp. Removed
#if guards around ACE_DLList since it no longer relies
on the feature that was being guarded against.
* ace/Containers.h:
Simply #includes Containers_T.h.
* ace/Containers.cpp:
Only contains some explicit template instantiations.
* ace/Containers.i:
Removed, since it was no longer needed.
Thu Sep 17 01:20:53 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Msg_WFMO_Reactor.cpp (dispatch_window_messages): There was a
slight problem in Msg_WFMO_Reactor.cpp when ACE coexists with
MFC. Basically the dispatch_window_messages routine simply
returns -1 when the WM_QUIT message is received. However, if
the WFMO_Reactor and the MFC application run on the different
threads the main thread would never shut down since it just keep
waiting forever for the Quit message from other threads. The
easiest way to fix the above problem to call PostQuiteMessage
when WM_QUIT is received by WFMO_Reactor.
Thanks to Hongbo Xu <hxu@mas.co.nz> for fixing this.
* ace/OS.i (open): No need to find the file size since
SetFilePointer supports FILE_END. Also fixed the UNICODE
version of ACE_OS::open().
Wed Sep 16 22:52:44 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* examples/Reactor/Multicast/server.cpp:
* examples/Reactor/Multicast/Log_Wrapper.cpp:
* examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp:
Use ACE_IO_Vector instead of iovec because it is more portable.
Wed Sep 16 22:17:54 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/OS.h:
* ace/DEV_IO.cpp:
* ace/DEV_IO.h:
* ace/DEV_IO.i:
* ace/FIFO_Send_Msg.cpp:
* ace/FILE_IO.cpp:
* ace/FILE_IO.h:
* ace/FILE_IO.i:
* ace/LSOCK.cpp:
* ace/LSOCK_Stream.cpp:
* ace/LSOCK_Stream.h:
* ace/SOCK_Dgram.cpp:
* ace/SOCK_Dgram.h:
* ace/SOCK_Dgram_Bcast.h:
* ace/SOCK_Dgram_Mcast.cpp:
* ace/SOCK_Dgram_Mcast.h:
* ace/SOCK_Dgram_Mcast.i:
* ace/SOCK_IO.cpp:
* ace/SOCK_IO.h:
* ace/SOCK_IO.i:
* ace/SPIPE_Stream.cpp:
* ace/SPIPE_Stream.h:
* ace/SPIPE_Stream.i:
More iovec to ACE_IO_Vector_Base conversion.
* ace/Containers.i:
The ACE_DLList_Node and ACE_DLList_Iterator class are protected
by a !defined (ACE_LACKS_TEMPLATE_AS_TEMPLATE_PARAMETER), so
should be their inline methods.
* ace/SOCK_Dgram_Mcast.cpp:
* ace/SOCK_Dgram_Mcast.h:
* ace/SOCK_Dgram_Mcast.i:
Added a generic unsubscribe() method.
Wed Sep 16 21:45:48 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* ace/ACE.{h.cpp}: Changed some iovecs to ACE_IO_Vector_Base.
* ace/config-win32.h: Commented out ACE_HAS_GPERF until we get
everything working with it.
Wed Sep 16 21:43:07 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.i (open): Added SetFilePointer to move the file pointer
of the opened file to end of file if _O_APPEND is specified on
Win32.
Wed Sep 16 20:42:16 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/OS: Added a typedef for ACE_IO_Vector_Base so that it will
shield the differences between Win32 and UNIX.
Wed Sep 16 20:09:01 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/OS.h:
* ace/OS.i:
ACE_OS::rand_r() is easier to use now. Just define a variable of
that type and invoke ACE_OS::rand_r() with it, it even works on
broken platforms that define it as a non-pointer.
This is a brief example on how to use it:
ACE_RANDR_TYPE seed;
int r1 = ACE_OS::rand_r (seed);
int r2 = ACE_OS::rand_r (seed);
Wed Sep 16 17:46:23 PDT 1998 James Hu <jxh@entera.com>
* ace/Containers.{h,i}: Added comments to DLList as per Doug's
request.
Wed Sep 16 19:23:21 1998 Steve Huston <shuston@riverace.com>
* ace/config-hpux-11.x-hpc++.h: Moved ACE_HAS_DIRENT to config-hpux11.h
Wed Sep 16 18:21:45 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Containers.h: Reformatted the ACE_DLList* classes to conform
to ACE programming conventions.
* ace/config-hpux-11.x-hpc++.h: Added ACE_HAS_DIRENT and
ACE_HAS_GPERF to appease John Mulhern.
* ace/Asynch_Acceptor.cpp: Added ACE_reinterpret_cast()s to the
sockaddr *'s to appease aCC on HP/UX 11. Thanks to John Mulhern
for reporting this.
Wed Sep 16 17:16:51 EDT 1998 James CE Johnson <jcej@lads.com>
* docs/tutorials/012/Makefile
docs/tutorials/012/data.h
docs/tutorials/012/message_queue.cpp
docs/tutorials/012/page01.html
docs/tutorials/012/page02.html
docs/tutorials/012/page03.html
docs/tutorials/012/page04.html
docs/tutorials/012/page05.html
docs/tutorials/012/page06.html
docs/tutorials/012/task.cpp
docs/tutorials/012/task.h
docs/tutorials/index.html
Tutorial 12. This corrects some of the nastyness
in number 11 by specializing the ACE_Message_Block
to carry around the data.
Wed Sep 16 16:01:53 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Select_Reactor_T.{h,i,cpp}: Disable inlining in
Select_Reactor_T.i and always include them in .cpp file. The
latest version of SunCC can't grok this particular file and we
just turn it off here. We shall turn it back on once the
problem gets fixed. Thanks to Keith Brown
<kalbrown@ix.netcom.com> for providing this temporary fix.
Wed Sep 16 13:41:50 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/OS.h: Added more protection for the semun definition, i.e.,
(defined (__GLIBC__) && defined (_SEM_SEMUN_UNDEFINED)). This
fixes problems with Linux, GLIBC 2.1, and PGCC. Thanks to
Marc Lehmann <pcg@goof.com> for reporting this.
Wed Sep 16 11:41:57 1998 David L. Levine <levine@cs.wustl.edu>
* ace/High_Res_Timer.cpp: added ACE_HAS_POWERPC_TIMER support.
* tests/High_Res_Timer_Test.cpp: added this new test.
* tests/Makefile,run_tests.{bat,psosim,sh,vxworks}:
added High_Res_Timer_Test.
* ace/OS.* (readPPCTimer): unlined readPPCTimer for
PowerPC. If it was called more than once in a
compilation unit, when inlined, the assembler complained
about multiple definitions of the aclock symbol.
* ace/Malloc_T.cpp (dump): fixed typo, cb_ptr instead of
cp_ptr. Thanks to Umar Syyid <usyyid@hns.com> for reporting this.
* tests/TSS_Test.cpp (worker): allow second group of TSS keys to
be allocated, with TSS emulation.
* ace/Svc_Handler.cpp (new): added check that
ACE_Dynamic::instance () is non-null before dereferencing it.
ACE_ASSERT/return 0 if it is null.
Wed Sep 16 11:28:47 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp: In
general, using iostreams in ACE causes more problems for us than
it is worth since some systems do not support iostreams. I have
rewritten this file to not use iostreams but use
ACE_DEBUG/ACE_ERROR instead.
Wed Sep 16 10:49:34 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* bin/auto_compile: Updated to the new directory hierarchy in TAO.
Wed Sep 16 09:46:31 1998 Steve Huston <shuston@riverace.com>
* ace/config-hpux-10.x.h: Added ACE_HAS_DIRENT.
Tue Sep 15 20:25:23 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* tests/test_config.h: Always #undef ACE_NLOGGING so the tests
will produce output! Thanks to Chuck Gehr for reporting this.
* ace/OS.i: Added a new ACE_LACKS_TRUNCATE flag to work around
platforms that lack the truncate() call. Thanks to
Sergio for reporting this.
Tue Sep 15 17:57:26 1998 Sergio Flores <sergio@tango.cs.wustl.edu>
* ace/config-vxworks5.x.h: Added ACE_LACKS_TRUNCATE to VxWorks
configuration.
Tue Sep 15 16:58:18 1998 Nagarajan Surendran <naga@cs.wustl.edu>
* include/makeinclude/platform_chorus_ghs.GNU: Changed the
MVME_DIR to /project/doc/mvme/mvme177.
* ace/ARGV.cpp (ACE_ARGV::argv_to_string): Fixed the problem where
we were allocating space only for the length of the string whereas
strecpy was inserting the extra '\0' leading to Array bounds write.
Tue Sep 15 16:34:47 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.i (gethrtime): added high-res timer support with
g++ and ACE_HAS_POWERPC_TIMER.
* ace/OS.{h,cpp},config-vxworks5.x.h,README: changed ACE_HAS_POWERPC
to ACE_HAS_POWERPC_TIMER.
* ace/config-lynxos.h: added ACE_HAS_PENTIUM, to provide
high-res timer support on LynxOS.
Tue Sep 15 13:33:26 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/config-{WinCE,g++-common}.h:
* ace/OS.{h,i,cpp}: Deprecated ACE_LACKS_GETS and ACE_OS::gets (void).
* apps/gperf/src/gperf_lib.dsp: Enabled c++ exception handling to
avoid warning when compiling with standard c++ libraries.
Tue Sep 15 11:22:53 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com>
* ace/OS.{h, i}:
Added definition for the "stat" data structure. Also added the
definition for the "truncate" function.
Mon Sep 14 23:28:24 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.39 released.
Mon Sep 14 21:46:36 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Containers.h: added "class" to several ACE_DLList friend
declarations.
Mon Sep 14 21:02:30 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Mem_Map.cpp (map_it): Removed the code for
!ACE_HAS_P_READ_WRITE since we cover it in ACE_OS::pwrite.
* ace/Filecache.cpp (ACE_Filecache_Object): Changed the
lseek/write combo to pwrite.
Mon Sep 14 17:09:04 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/config-win32-common.h,OS.h,README: Removed all mention of
ACE_LACKS_FIFO, which was no longer necessary. Thanks to Ossama
Othman <othman@astrosun.tn.cornell.edu> for suggesting this.
* ace/ACE.cpp (bind_port): Renamed sin to sock_addr to make the
autoconf script happier. Thanks to Ossama Othman
<othman@astrosun.tn.cornell.edu> for suggesting this.
* include/makeinclude/platform_mvs.GNU: Updated the MVS platform
configuration as follows:
changed:
debug = 1
to:
debug = 0
added:
static_libs = 1
and deleted the line:
CCFLAGS += $(CFLAGS)
Thanks to Chuck Gehr <GehrCR@LOUISVILLE.STORTEK.COM> for these
changes.
Mon Sep 14 14:34:32 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* apps/gperf/src/gperf.dsp:
* apps/gperf/src/gperf_lib.dsp:
Fixed the project by removing new.cpp (which disappeared a
while back) and changed the code generation to DLL. Now
seems to work on NT.
* ace/config-win32.h: ACE_HAS_GPERF now on NT.
Mon Sep 14 13:41:26 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/OS: Fixed qsort() and bsearch() so they work correctly for
MVS. Thanks to Chuck Gehr for reporting this.
* ace/config-mvs.h: Added
#define ACE_HAS_DIRENT
#define ACE_LACKS_READDIR_R
so that things will work correctly for MVS. Thanks to Chuck
Gehr for reporting this.
Mon Sep 14 10:11:18 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/ace_ce_dll.dsp: Added Select_Reactor_Base.cpp and removed
Array.cpp from the project. Thanks to Paul Sexton
<pauls@ENTERPRISE.bt.co.uk> for noticing this.
* ace/config-WinCE.h: Added ACE_LACKS_BSEARCH.
* ace/OS.h: Added /**/ between #include and <ace/sys_conf.h> in
pSOS section to prevent a MSVC warning.
* ace/OS.i (bsearch): If the function is not supported by the
platform, return NULL instead of -1 so it behaves compatibly
with most common implementation.
Mon Sep 14 09:37:09 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Synch_T.h: Fixed a deadlock condition caused by acquiring
the internal lock in multiple places during the same call.
Thanks to Jorn Jensen <jornj@funcom.com> for reporting this.
Mon Sep 14 01:59:51 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Strategies_T.{h,i,cpp}: Added two new classes
ACE_Thread_Pool_Strategy and ACE_Svc_Handler_Pool_Strategy for
activating and creating Svc_Handler. They should be used with
the new TP_Reactor. More to come...
Sun Sep 13 22:31:23 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.38 released.
Sun Sep 13 18:36:11 EDT 1998 James CE Johnson <jcej@.lads.com>
* docs/tutorials/006/notify.cpp
No longer applicable. This used spawn() to create the
thread but the new version uses an ACE_Task<> derivative.
* docs/tutorials/006/Makefile
Removed dependency info.
* docs/tutorials/007/thread_pool.cpp
Removed THR_DETACHED from activate() call. I need a
better understanding of when to include this flag...
* docs/tutorials/index.html
Setting up new Message_Queue entry points.
* docs/tutorials/010/Makefile
docs/tutorials/010/block.h
docs/tutorials/010/message_queue.cpp
docs/tutorials/010/page01.html
docs/tutorials/010/page02.html
docs/tutorials/010/page03.html
docs/tutorials/010/page04.html
docs/tutorials/010/page05.html
docs/tutorials/010/page06.html
docs/tutorials/010/page07.html
docs/tutorials/010/task.cpp
docs/tutorials/010/task.h
A tutorial showing a simple use of the ACE_Message_Queue.
* docs/tutorials/011/Makefile
docs/tutorials/011/block.h
docs/tutorials/011/data.h
docs/tutorials/011/message_queue.cpp
docs/tutorials/011/page01.html
docs/tutorials/011/page02.html
docs/tutorials/011/page03.html
docs/tutorials/011/page04.html
docs/tutorials/011/page05.html
docs/tutorials/011/page06.html
docs/tutorials/011/task.cpp
docs/tutorials/011/task.h
Extension of 010 adds queue-ing of non-trivial data.
Sun Sep 13 16:29:27 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Select_Reactor_T.h:
Use the ACE_UNIMPLETED_FUNC to make the code work on older
versions of IRIX
Sat Sep 12 22:39:47 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/ACE.i: There was a bug with strecpy() -- it should return a
pointer to 1 byte PAST the '\0'...
Sat Sep 12 21:43:07 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Timer_Hash.cpp: Removed the #pragma template instantiation
for ACE_Timer_Node_T<ACE_Event_Handler *> because it is already
instantiated in Timer_Queue.cpp. Thanks to Sergio for noticing
this.
Sat Sep 12 16:30:39 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Dirent.cpp: Renamed the methods to be more "abstract" by
removing the "dir" suffixes.
* ACE-INSTALL.html: Fixed a broken link. Thanks to Tom Shields
<Shields@MarsHotel.CMPU.NET> for reporting this.
* ace/OS.h (ACE_OS): Added wrappers for the passwd iterator.
* ace/OS.h (ACE_OS): Added wrappers for qsort() and bsearch().
* ace/README: Reformatted this file and also changed
ACE_REQUIRES_FUNC_DEFINITIONS
ACE_NEEDS_READV
ACE_NEEDS_SCHED_H
ACE_NEEDS_SYSTIME_H
ACE_NEEDS_WRITEV
to
ACE_NEEDS_FUNC_DEFINITIONS
ACE_LACKS_READV
ACE_LACKS_SCHED_H
ACE_LACKS_SYSTIME_H
ACE_LACKS_WRITEV
respectively.
Sat Sep 12 19:18:18 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.i (qsort): Fixed a typo. And removed "return" for this
is a void function.
Sat Sep 12 13:13:39 EDT 1998 James CE Johnson <jcej@lads.com>
docs/tutorials/003/Makefile
Removed dependency stuff since installations may vary
docs/tutorials/003/client.cpp
docs/tutorials/003/page01.html
docs/tutorials/004/Makefile
docs/tutorials/004/client.cpp
docs/tutorials/004/page01.html
Converted to new style with embedded comments instead of
line-numbered comments.
Fri Sep 11 22:46:54 EDT 1998 James CE Johnson <jcej@lads.com>
docs/tutorials/001/Source.tgz
docs/tutorials/001/acceptor.h
docs/tutorials/001/logger.h
docs/tutorials/001/page02.html
docs/tutorials/001/page03.html
docs/tutorials/001/page04.html
docs/tutorials/001/page05.html
docs/tutorials/001/server.cpp
docs/tutorials/002/Makefile
docs/tutorials/002/handler.h
docs/tutorials/002/page01.html
docs/tutorials/002/page02.html
docs/tutorials/002/page03.html
docs/tutorials/002/page04.html
docs/tutorials/002/server.cpp
Updated to "new style". Corrected issues with Reactor
based on recent mailing list discussions.
Fri Sep 11 12:30:37 1998 Nagarajan Surendran <naga@cs.wustl.edu>
* ace/config-chorus.h: Uncommented ACE_LACKS_SYSV_SHMEM as ace
didn't compile on Chorus with that commented out.
Fri Sep 11 09:02:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/OS.{h,i}
ace/Containers.{cpp,h}
ace/config-psos-diab.h
include/makeinclude/platform_psos_diab.GNU:
Fixes to compile pSOS - added #if ! defined around new templates
as template parameters stuff in Config.* (Diab compiler can't
grok these), played with library linkage order platform macros.
Fri Sep 11 08:54:41 EDT 1998 James CE Johnson <jcej@lads.com>
* docs/tutorials/001/logger.h
Logging_Handler::open() should return 0 on success.
* docs/tutorials/002/server.cpp
docs/tutorials/002/page02.html
Provide 'g_reactor' to the acceptor's open(). If you
don't do this, the app will core dump on ^C
Thanks to Krishna Padmasola <pkrishna@cybercash.co.in> for
helping me see these.
Thu Sep 10 16:53:21 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* tests/Upgradable_RW_Test.cpp:
Some templates were instantiated twice if threads were enabled.
Thu Sep 10 13:41:53 1998 David L. Levine <levine@cs.wustl.edu>
* config-sunos4-sun3.x.h,config-tandem.h,README: removed
ACE_HAS_SYSV_SPRINTF because it's no longer used. Thanks
to Ossama for reporting this.
Thu Sep 10 10:18:29 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp (run_event_loop):
Changed to use ACE_Handle_Set instead of FD_SET. It is more
portable this way. Thanks to Andre Folkers
<folkers@informatik.mu-luebeck.de> for noticing this.
Wed Sep 09 16:29:36 1998 David L. Levine <levine@cs.wustl.edu>
* BUG-REPORT-FORM,Makefile: added BUG-REPORT-FORM. Thanks
to Susan Liebeskind <shl@cc.gatech.edu> for the form.
Wed Sep 9 13:22:11 1998 James Hu <jxh@entera.com>
* ace/Containers.h:
* ace/Containers.cpp: Added a new container class ACE_DLList.
Tue Sep 8 23:17:11 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/Thread_Mutex_Test.cpp (test):
* tests/Priority_Buffer_Test.cpp (consumer): Changed the
do-nothing if statements to ACE_UNUSED_ARG because NT doesn't
like that. Thanks to David for clarifying this.
Tue Sep 8 21:45:32 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* *.{dsp,dsw}: Updated for VC 6.
Tue Sep 8 21:31:32 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/config-irix6.x-sgic++-nothreads.h:
Added ACE_HAS_DIRENT and support for the envinfo tool.
Tue Sep 08 18:54:28 1998 Steve Huston <shuston@riverace.com>
* ace/OS.h: Removed definitions of PTHREAD_DETACHED, PTHREAD_FLOAT,
PTHREAD_INHERIT_SCHED from the ACE_HAS_PTHREADS_DRAFT6 section of
mapping draft 6 names into the pthreads standard names. The first
two aren't used anywhere and the third is already defined on the
known draft 6 platforms. Thanks to Chuck Gehr and Arturo Montes for
helping to straighten this out.
Tue Sep 8 15:10:42 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* tests/Makefile:
Updated dependencies.
Tue Sep 8 13:16:37 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/config-sco-5.0.0.h: Added ACE_HAS_GPERF at the bequest
of Arturo.
Tue Sep 08 10:25:48 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace_{dll,lib}.dsp: Changed the process type to "Blend*" which
make the project to work on any type of intel processors.
However, this disable the bug-fix to get around the infamous
Pentium floating point problem.
* netsvcs/lib/netsvcs.dsp:
* netsvcs/servers/servers.dsp: Perform VC 6 modification.
Tue Sep 08 07:28:05 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.i (readdir_r): don't use the POSIX.1c ::readdir_r on
suns without _POSIX_PTHREAD_SEMANTICS.
* include/makeinclude/wrapper_macros.GNU: added
ACE_HAS_GNUG_PRE_2_8 macro. Use it for determining
exceptions-related flags with g++. It can also be used to
suppress builds with old (pre-2.8) versions of g++; see
TAO/tests/POA/TIE/Makefile for an example.
* apps/Gateway/Gateway/File_Parser.cpp (getint):
egcs 1.1b can't handle the FP_RETURN_TYPE typedef. So,
use FP::Return_Type with __GNUG__.
* ace/config-chorus.h: added ACE_HAS_DIRENT and
ACE_LACKS_READDIR_R.
* ace/config-lynxos.h: don't use ACE_HAS_STRING_CLASS with
LynxOS >= 3.0.0. It requires that libg++ be linked in
to the IOStream tests.
* docs/ACE-guidelines.html: notify via email if a particular
individual's attention is needed to address a comment in the code.
* ace/Basic_Types.h: corrected comment: the dump method
is named output, because it takes an argument.
Mon Sep 7 22:12:02 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/config-freebsd.h: Added ACE_HAS_SIGINFO_T,
ACE_LACKS_SIGINFO_H, ACE_LACKS_UCONTEXT_H, ACE_LACKS_SI_ADDR and
ACE_HAS_DIRENT.
* ace/config-freebsd-pthread.h:
* ace/config-linux-common.h: Added ACE_HAS_DIRENT.
Mon Sep 7 12:39:10 EDT 1998 James CE Johnson <jcej@lads.com>
docs/tutorials/008/page01.html
docs/tutorials/008/page02.html
docs/tutorials/008/page03.html
docs/tutorials/008/page04.html
docs/tutorials/008/page05.html
docs/tutorials/009/Makefile
docs/tutorials/009/broadcast_client.cpp
docs/tutorials/009/directed_client.cpp
docs/tutorials/009/page01.html
docs/tutorials/009/page02.html
docs/tutorials/009/page03.html
docs/tutorials/009/page04.html
docs/tutorials/009/page05.html
docs/tutorials/009/server.cpp
Cleanup on Tutorial 008 and creation of Tutorial 009 which expands
008 by making the server more selective in who it responds to.
Mon Sep 7 10:06:54 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/ACE.h (ACE): Moved strnew (wchar_t *) into an ACE_WIN32
section to protect it properly. Thanks to David Levine for
reporting this.
* ace:config-sco-*.h: Added ACE_HAS_DIRENT on the advice of Arturo
Montes <mitosys@colomsat.com.co>.
Mon Sep 07 09:52:12 1998 David L. Levine <levine@cs.wustl.edu>
* docs/ACE-guidelines.html: added general rule to put system
call wrappers in ACE_OS, extensions in ACE.
* ace/config-osf1-4.0.h: added ACE_HAS_DIRENT and
_POSIX_PTHREAD_SEMANTICS. The latter was necessary
to tell ACE_OS::readdir_r () to use the three-arg
::readdir_r ().
* ace/config-lynxos.h: added ACE_HAS_DIRENT.
* ace/Log_Msg.cpp (log): initialized local "c" to '\0' so that
egcs 1.1b won't complain that it might be used without
initialization.
* ace/OS.i,ace/config-osf1-4.0.h (readdir_r): use
ACE_HAS_PTHREADS_STD instead of _POSIX_PTHREAD_SEMANTICS to
select the three-arg ::readdir_r ().
* ace/config-vxworks.h: added ACE_HAS_DIRENT.
* ace/OS.i,config-vxworks5.x.h (readdir_r,rewinddir,seekdir,telldir),
README:
added support for ACE_LACKS_READDIR_R, ACE_LACKS_SEEKDIR, and
ACE_LACKS_TELLDIR.
* ace/OS.i (opendir): added const_cast to remove constness
from the argument, because VxWorks' header doesn't declare
it const. This shouldn't cause a problem on other platforms.
Mon Sep 7 01:02:58 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* ace/ACE.i: Changed ACE_INLINE to ASYS_INLINE.
* ace/OS.h: Added a no-op type define for DIR and struct
dirent so compilation can continue on NT.
* ace/ace_dll.dsp:
* ace/ace_lib.dsp:
Added new dirent.* files and removed Array.{cpp,i} files.
Sun Sep 6 15:49:46 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/ACE: Added several new helper string functions, which were
mined from the drwho program.
* ace/OS: Moved strnew() into class ACE, which is where it
belongs...
* ace/Containers: Merged the ACE_Array class entirely into the
Containers files, which is more consistent with the general
design of ACE. Also, removed ace/Array.i and Array.cpp since
they are no longer needed. We'll keep Array.h around for a
while for backwards compatibility, but it just #includes
"ace/Containers.h" now...
* ace/config-sunos5*.h: Added ACE_HAS_DIRENT. We'll need help
figuring this out on the other platforms...
* ace/OS: Began adding "Dirent" support to ACE_OS. This will
provide the UNIX/POSIX directory iterator routines when the
ACE_HAS_DIRENT macro is enabled.
* ace/OS: Added fputs() to ACE_OS. I'm not sure why this was
missing...
* ace/Makefile (FILES): Moved Priority_Reactor to earlier in
the Makefile to maintain alphabetical order.
Sun Sep 6 14:06:43 1998 Douglas C. Schmidt <schmidt@cumbia.cs.wustl.edu>
* ace/OS.h: Moved the ACE_NEW_THROW macros that Matt Braun wrote
into ACE so that we can use these in all applications.
Sun Sep 06 12:28:40 1998 Fred Kuhns <fredk@arl.wustl.edu>
* Added a simple reactor/acceptor figure to the first tutorial
docs/tutorial/001/simple.*
Sun Sep 06 08:34:57 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-g++-common.h,ace/README,tests/Conn_Test.cpp:
renamed ACE_HAS_OLD_GNUG to ACE_HAS_GNUG_PRE_2_8.
Sat Sep 5 15:31:33 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace: Removed ACE_HAS_IRIX_GETTIMEOFDAY and all of its uses
throughout ACE. It was no longer necessary. Thanks to Ossama
for reporting this.
* ace/Synch.h: Added a "no-op" ACE_Barrier for cases where we
don't have ACE_HAS_THREADS enabled.
Sat Sep 5 15:25:33 EDT 1998 James CE Johnson <jcej@lads.com>
docs/tutorials/index.html
docs/tutorials/008/Makefile
docs/tutorials/008/server.cpp
docs/tutorials/008/broadcast_client.cpp
docs/tutorials/008/directed_client.cpp
docs/tutorials/008/page01.html
docs/tutorials/008/page02.html
docs/tutorials/008/page03.html
docs/tutorials/008/page04.html
docs/tutorials/008/page05.html
docs/tutorials/008/CVS/Root
docs/tutorials/008/CVS/Repository
docs/tutorials/008/CVS/Entries
docs/tutorials/009/Makefile
docs/tutorials/009/broadcast_client.cpp
docs/tutorials/009/directed_client.cpp
docs/tutorials/009/server.cpp
docs/tutorials/009/CVS/Root
docs/tutorials/009/CVS/Repository
docs/tutorials/009/CVS/Entries
Began the next set of tutorials on the topic of Datagrams.
Thanks to Jeff Hellzen for this suggestion.
Fri Sep 4 18:56:36 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Name_Proxy.cpp:
Fixed spurious double assignment (int foo = foo = bar;), thanks
to thanks to John Mulhern <9107@mn3.lawson.lawson.com> for
reporting this.
Fri Sep 04 18:54:32 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Select_Reactor_T.cpp (ACE_Select_Reactor_T): Made sure that
all references to Select_Reactor have the template argument in
them. Thanks to Chuck Gehr <GehrCR@LOUISVILLE.STORTEK.COM> for
sending the patches.
Fri Sep 4 18:29:29 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* examples/Reactor/Proactor/test_proactor.cpp: Changed to use
"test_proactor.cpp" as input file.
Fri Sep 4 17:51:17 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/Proactor.cpp:
* ace/Asynch_Acceptor.cpp:
* ace/Asynch_Acceptor.h:
* ace/Asynch_IO.cpp:
* examples/Reactor/Proactor/test_proactor.cpp:
First round of changes for ACE_Asynch_Accept. Makes use of
separate thread for each accept call, each thread blocking on the
ACE_OS::accept. Thanks to Irfan, a better implementation using
TP_Reactor is currently being done.
Fri Sep 4 16:45:36 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace: Removed all traces of ACE_HAS_MT_SAFE_SOCKETS -- this was a
vestige from Solaris 2.2! Thanks to Ossama Othman
<othman@astrosun.tn.cornell.edu> for suggesting this.
* ace/Service_Config: Changed the default value of
ACE_Service_Config::debug_ from 1 to 0. Thus, debugging is
DISABLED by default. If you want to enable debugging, pass the
-d option to the constructor of ACE_Service_Config.
* ace/Naming_Context.cpp,
ace/Service_Config.cpp,
ace/Service_Types.cpp,
ace/Service_Repository.cpp: Now we only print out service config
information if we're ACE::debug() is non-0. This is more
consistent with other parts of ACE. Thanks to XuYifeng
<xuyf@pop.zg169.net> for reporting this.
* ace/Service_Config: Moved the debug() stuff from here and put it
into class ACE so that it will be more globally visible.
Fri Sep 04 15:24:44 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/ACE.i: Here, we should use ASYS_INLINE which is always
defined as inline on most platforms.
* ace/Log_Msg.h (ACE_Log_Msg): Added a new ACE_DEBUG format
character 'A' which prints out an ACE_timer_t value. This is
most useful when you want to print out the timers in
ACE_Profile_Timer::ACE_Elapse_Time. Thanks to Naga for
providing the brilliant idea.
* tests/XtReactor_Test.cpp (main): Removed '.cpp' from
ACE_START_TEST title string. Thanks to Ossama for reporting
this.
* Makefile (CONTROLLED_FILES): Removed some documents from the
list because they are in docs/ now.
* tests/run_tests.bat: Removed trailing '.cpp' from
Message_Queue_Notifications_Test. Thanks to Jack Erickson
<JErickson@exchange.ml.com> for reporting this.
* ace/OS.i (signal): Added check for ACE_WIN32 to defeat the
effect of !defined (ACE_LACKS_UNIX_SIGNALS). Although Win32
does has ACE_LACKS_UNIX_SIGNALS defined, it also has limited
support for signals. Thanks to XuYifeng <wj@public.hz.zj.cn>
for reporting this.
Fri Sep 04 07:26:57 1998 David L. Levine <levine@cs.wustl.edu>
* include/makeinclude/rules.bin.GNU,wrapper_macros.GNU:
moved VBIN definition from rules.bin.GNU to wrapper_macros.GNU.
With this change, individual Makefiles need not define VBIN.
* tests/run_tests.sh: removed -f so that temp file removal
works properly. Don't printout ipcs output unless it
changes, for resources owned by the user.
Fri Sep 04 01:01:58 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Timeprobe.h: Disable warning of using Microsoft Extensions.
Fri Sep 04 02:12:03 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.37 released.
Fri Sep 4 00:07:18 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp (open): Added
template instantiations to make GCC happy. Thanks to David
Levine for reporting this.
Thu Sep 03 19:15:52 1998 Fred Kuhns <fredk@arl.wustl.edu>
* docs/tutorial/006/client_acceptor.cpp: added
typedef ACE_Svc_Handler <ACE_SOCK_STREAM, ACE_NULL_SYNCH > inherited;
Thu Sep 03 17:03:46 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Dynamic.cpp (instance): Removed the typedef in the header
file because some compiler was having problems with it. Thanks
to baksoo@dbserver.kaist.ac.kr for reporting this.
Thu Sep 03 16:43:34 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.cpp (thr_create): play the zero thread priority game
on Solaris if defined (sun), not if defined (ACE_HAS_STHREADS).
This allows POSIX threads to be created with a thread priority
of 0 if _POSIX_C_SOURCE=199506L and _POSIX_PTHREAD_SEMANTICS
are defined. Thanks to Russ Noseworthy
<rnosewor@objectsciences.com> for reporting this problem.
* examples/Threads/tss2.cpp: added explicit ACE_Guard <ACE_Token>
instantiation.
* tests/Dynamic_Priority_Test.cpp (main): changed "not supported"
to "not available" in printout that indicates that the
test will be run in time-sharing class, instead of
a real-time class. The test can still run in time-sharing
class. Thanks to Ossama for reporting this.
Thu Sep 03 16:14:16 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Synch.i (ACE_Process_Mutex::remove): Reset this->lock_ to 0
after removing the lock so we can avoid destroying the same
kernel object twice. Thanks to Detlef Becker
<Detlef.Becker@med.siemens.de> for reporting this.
Thu Sep 03 15:43:22 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* tests/Upgradable_RW_Test.cpp: Fixed this file so that it works
with egcs.
Thu Sep 3 14:51:06 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* docs: Moved ACE-{tutorials,guidelines,subsets,porting}.html
into the docs directory from the etc directory. This is
a more "fitting" location...
Thu Sep 3 13:23:39 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* Makefile (CONTROLLED_FILES): Added docs/ into CONTROLLED_FILES.
Thu Sep 03 09:24:20 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Message_Block.cpp: added ACE_Guard <ACE_Lock> instantiation.
* ace/SPIPE_Stream.i (recv_handle): replaced "recvfd = recvfd" with
ACE_UNUSED_ARG (recvfd) to avoid egcs 1.1 warning about a
statement with no effect.
Thu Sep 03 00:26:23 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Time_Request_Reply.cpp (ACE_Time_Request): The second
parameter should be of type ACE_UINT32.
Wed Sep 2 22:52:32 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* netsvcs/lib/Name_Handler.cpp,
* ace/Time_Request_Reply.cpp: Fixed up yet another
minor mismatch caused by the ACE_SUCCESS/ACE_FAILURE fixes...
Thanks to David Levine for tracking these down.
Wed Sep 02 20:55:18 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.36 released.
Wed Sep 2 19:21:25 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Name_Request_Reply.cpp: Continued to cleanup the residue of
the ACE_SUCCESS and ACE_FAILURE changes. Thanks to David Levine
for reporting this.
Wed Sep 02 19:08:29 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Template_Instatiations.cpp: commented text following
an #endif.
Wed Sep 02 16:46:45 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.35 released. BTW, these releases were aborted
due to CVS hiccups. We've got to figure out a better way to
roll this stuff back...
Wed Sep 02 16:33:25 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.34 released.
Wed Sep 02 16:31:22 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.h: Make sure ACE_NO_INLINE is not defined before defining
it to avoid double defining the macro. Thanks to Ossama Othman
<othman@astrosun.tn.cornell.edu> for suggesting this.
Wed Sep 2 11:10:08 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Task.cpp (activate): Remmber to decrement the thr_count_ if
spawn_n() fails. Thanks to Russ Noseworthy
<rnosewor@objectsciences.com> for reporting this fix.
* examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp: Fixed another
void * -> char * problem. Now this stuff all seems to build
fine.
Wed Sep 02 10:07:15 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Name_Request_Reply.{h,cpp}: reverted ACE_SUCCESS to SUCCESS
because other ACE code depended on it.
* ace/Object_Manager.cpp (~ACE_Object_Manager_Base): moved
internal_lock_ deletion inside ACE_MT_SAFE protection. Thanks
to Dongwook Kim <baksoo@dbserver.kaist.ac.kr> for reporting this.
* include/makeinclude/platform_sunos5_sunc++.GNU: updated comments
to recommend not using Sun C++ 4.1.
Wed Sep 02 09:34:32 1998 Oliver M. Kellogg <Oliver.Kellogg@vs.dasa.de>
* ace/OS.i (sigwait): use __sigwaitd10 with g++ on DU 4.0.
Tue Sep 1 20:44:15 PDT 1998 James C. Hu <jxh@entera.com>
* ace/Filecache.cpp:
* ace/UPIPE_Stream.cpp: I guess nobody uses GCC anymore. Fixed
some template instantiation problems in Filecache.cpp and
UPIPE_Stream.cpp. I guess, eventually all of this will be moved
into the Template_Instantiations.cpp file, but until then...
Tue Sep 01 20:59:11 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.i (ts_object): commented test appearing after the #endif.
* ace/OS.i (rw_trywrlock_upgrade): expanded/added comment to
clarify the with/without ACE_LACKS_RWLOCK_T distinction.
* ace/OS.i (sigwait): fixed indentation.
* ace/ACE.cpp (get_ip_interfaces): removed trailing } after comment
following #endif.
* etc/ACE-guidelines.html: added section on scripts. Added rule
to prefix constants and enum values with ACE_ or TAO_.
Tue Sep 1 19:05:05 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* tests/XtReactor_Test.cpp: Added a new version that should work
on Linux. Thanks to Eric Newton for this fix.
Tue Sep 1 19:40:03 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* tests/XtReactor_Test.cpp:
If ACE_LACKS_MOTIF is defined the test can use Athena
Widgets. Thanks to Eric C. Newton <ecn@smart.net> for
contributing this example.
Tue Sep 1 19:05:05 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Shared_Malloc/test_malloc.cpp (spawn): Fixed a minor
problem with conversions from const char * literals to char *'s.
Thanks to John Mulhern for reporting this problem.
* examples/IPC_SAP/SOCK_SAP/CPP-in{server,client}.cpp: Fixed all
uses of void *request with char *request to stop ANSI C++
compilers from complaining. Thanks to John Mulhern for
reporting this problem.
Tue Sep 01 16:22:06 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Filecache.cpp (init and ~ACE_Filecache_Object): Changed
SUCCESS to ACE_SUCCESS.
Tue Sep 1 13:54:10 PDT 1998 James C. Hu <jxh@entera.com>
* ace/Message_Block.h:
* ace/Message_Block.i: Added a space () method that reports
the amount of space remaining in the message block.
Tue Sep 1 3:50:39 US/Central 1998 James CE Johnson <jcej@lads.com>
* etc/tutorials/006/client_handler.cpp
etc/tutorials/006/client_handler.h
etc/tutorials/006/page04.html
etc/tutorials/006/page05.html
Added a close() method to Client_Handler so that it will be closed
properly when the svc() method exits.
* etc/tutorials/007/client_handler.cpp
etc/tutorials/007/client_handler.h
etc/tutorials/007/page05.html
etc/tutorials/007/page06.html
etc/tutorials/007/page09.html
Added Client_Handler::close() that will be called when
Client_Handler::svc() exits in the thread-per-connection model.
Thread_Pool::svc() now calls the handler's handle_close() method
to properly shut down the handler if handle_input() fails.
Tue Sep 01 12:58:02 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/ACE.cpp
ace/Basic_Types.cp
ace/Containers.{cpp, h}
ace/Filecache.{cpp, h}
ace/Hash_Map_Manager.{cpp, h}
ace/INET_Addr.cpp
ace/Local_Tokens.cpp
ace/Log_Record.cpp
ace/Map_Manager.{cpp, h}
ace/Message_Block.cpp
ace/Name_Request_Reply.{cpp, h}
ace/OS.{cpp, h, i}
ace/Object_Manager.h
ace/Process.cpp
ace/Remote_Name_Space.cpp
ace/SOCK_Dgram_Mcast.{cpp, h}
ace/Service_Types.cpp
ace/Signal.cpp
ace/Synch_T.{cpp, h, i}
ace/Time_Hash.cpp
ace/Token_Request_Reply.h
ace/UPIPE_Stream.cpp
ace/config-psos-diab.h
ace/config-psos-tm.h:
pSOS port of ACE for the Diab 4.2 and Trimedia cross compilers.
Thanks to Jin Lu of Philips Research for completing the ACE pSOS
port on the Trimedia cross compiler and contributing the changes
back to the ACE distribution.
Tue Sep 1 10:43:24 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/config-linux-common.h,
ace/config-sco-5.0.0-mit-pthread.h,
ace/config-sco-5.0.0.h,
ace/README:
ACE_HAS_LONG_FDMASK macro has been changed to
ACE_HAS_BIG_FD_SET. Therefore, I updated these files. Thanks
to Ossama Othman <othman@astrosun.tn.cornell.edu> for reporting
this.
Tue Sep 01 10:21:49 1998 David L. Levine <levine@cs.wustl.edu>
* tests/TSS_Test.cpp (cleanup, worker): with ACE_HAS_PTHREADS_DRAFT4,
delete the tss instances in cleanup instead of worker. This gets
rid of the memory leaks on those platforms.
* include/makeinclude/platform_osf1_4.0.GNU: added
-hidden [...] -non_hidden magic. See comments in the file;
this solves a problem with mutiply defined symbols between
shared libraries and DEC's libcxxstd.a. It only affected
tests/IO_Stream_Test.
Tue Sep 01 10:03:55 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.33 released.
Tue Sep 01 03:46:21 1998 Steve Huston <shuston@riverace.com>
* ace/Asynch_Acceptor.{h cpp}: Enable the contents for platforms
with ACE_HAS_AIO_CALLS, not just ACE_WIN32. Thanks to John
Mulhern for these fixes.
* examples/Reactor/Proactor/Makefile: Removed include of
platform_macros.GNU. Thanks to John Mulhern for this one too.
Mon Aug 31 16:38:03 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/config-kcc-common.h: Added ACE_HAS_CPLUSPLUS_HEADERS to
prevent warnings/errors. Thanks to Ben Eng <ben@jetpen.com> and
Todd Pack <todd@rwii.com> for reporting this.
* Added a bunch of patches so that ACE compiles and passes its
tests on Chorus with gcc. Thanks to Alberto Villarica"
<Alberto.Villarica.rav@nt.com> for reporting this.
Mon Aug 31 14:02:34 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* ace/ace.dsw:
* ace/ace_dll.dsp:
* ace/ace_lib.dsp:
Updated to MSVC 6, which consisted of changing the
version number insde to 6.00. This change gets it
to work in both 5 and 6, without any trouble.
Mon Aug 31 12:25:15 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Object_Manager.*: reorganized to provide the
ACE_Object_Manager_Base class. This class contains
the data structures used to support Singleton
registration for destruction.
* ace/ACE.{h,cpp}: added init () and fini (). These
currently just call the ACE_Object_Manager's init ()
and fini (). The might be useful for applications
that use ACE_HAS_NONSTATIC_OBJECT_MANAGER and
ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER, and
therefore need to explicitly initialize and finalize
the ACE_Object_Manager singleton.
* tests/Semaphore_Test.cpp (test_timeout): a timed
semaphore acquire fails on ACE_HAS_PTHREADS_DRAFT4
with EINTR instead of ETIME if it times out. That's
the way it's documented, as well as the way it behaves on LynxOS.
* tests/TSS_Test.cpp (cleanup): with DRAFT4 threads,
don't do anything in the cleanup function.
The intended use of this function doesn't apply.
With Draft 4 threads, this function is called implicitly
by pthread_setspecific whenever an old value is replaced.
This function is intended to be used with Draft 6 and later
threads, where it is called on thread termination with the
thread-specific value.
* tests/test_config.cpp: set ACE_MAX_PROCESSES to 4 on LynxOS,
so that Process_Mutex_Test will succeed.
Sun Aug 30 23:05:34 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Select_Reactor_T.cpp: Should include ace/Thread.h also.
Thanks to J. Russell Noseworthy <rnosewor@objectsciences.com>
for reporting this.
* ace/Select_Reactor.cpp: Added explicit template instantiation
for ACE_Lock_Adapter<ACE_Select_Reactor_Token_T<ACE_Noop_Token>>.
Thanks to Eric C. Newton <ecn@smart.net> for reporting this.
Sun Aug 30 07:44:54 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-sunos5.5.h,ace/README,
include/makeinclude/platform_sunos5_sunc++.GNU:
use ACE_LACKS_RTTI instead of ACE_HAS_RTTI without rtti,
with Sun CC on SunOS 5.5. That removes all use of ACE_HAS_RTTI
from ACE.
* netsvcs/lib/Name_Handler.h: added #include of ace/Singleton.h.
* tests/run_tests.vxworks: commented out Dynamic_Priority_Test.
It now causes VxWorks to go to never-never land.
* ace/config-g++-common.h,ace/README,tests/Conn_Test.cpp:
added ACE_HAS_OLD_GNUG. Thanks to Doug for this suggestion.
* ace/Token.cpp (ACE_Token_Queue_Entry ctor): added
ACE_UNUSED_ARG (m) ifdef ACE_TOKEN_USES_SEMAPHORE.
Sun Aug 30 00:14:29 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Service_Object.cpp (fini): Make sure to check the
<fini_already_called_> flag before proceeding. Also
~ACE_Service_Type() now calls this->fini().
* ace/Svc_Handler:
* ace/Dynamic:
Patrick J. McNerthney <pat@cartia.com> described this problem:
________________________________________
ACE_Svc_Handler creates an
ACE_TSS_Singleton<ACE_Dynamic,ACE_SYNCH_NULL_MUTEX> singleton
object to determine if the ACE_Svc_Handler is a dynamically
created object or not. ACE_TSS_Singleton declares the internal
single instance of the ACE_Dynamic object as a
ACE_TSS<ACE_Dynamic> data type.
The first time this object is "referenced",
ACE_TSS<ACE_Dynamic>::ts_init() is called, which in turn calls
ACE_Thread::keycreate and registers
ACE_TSS<ACE_Dynamic>::cleanup with it. Since ACE_TSS is a
template class, the vtable and the code of this object resides
in the dynamically loaded service DLL.
During termination, the Object Manager closes down the Service
Configurator, causing all services to be shutdown, and their
DLLs are unloaded.
The Object Manager then calls ACE_OS::cleanup_tss which attempts
to call the above registered ACE_TSS<ACE_Dynamic>::cleanup
method. Since the DLL has already been unloaded, the
application faults trying to access the vtable.
________________________________________
My earlier solution addressed this problem but only in
~Object_Manager(), i.e., at the end of the application, by
carefully ordering the cleanup of singletons, tss, and the
unlinking of libraries. To solve this more generically and to
address this problem when DLLs are unlinked arbitrarily (and not
only at the end of applications), I moved the typedef of
ACE_TSS_Singleton<ACE_Dynamic> from Svc_Handler.h to
Dynamic.h. Then the access to this singleton was changed from
DYNAMIC::instance() to ACE_Dynamic::instance().
This will force the generation of the code for this class to be
in the ACE library rather than in a user's DLL. Hence when TSS
cleanup hooks and Object Manager are trying to clean this object
up from ~Object_Manager, it won't crash as the code for this
class is in ACE and not in the unlinked DLL.
This issue raised a couple of interesting observations about
ACE_Singleton and ACE_TSS_Singleton and DLLs:
It is ok to use ACE_Singleton and ACE_TSS_Singleton in DLLs that
are going to be unlinked at the end of the program. For DLLs
that may get unlinked *before* the end of the program, they must
not use ACE_Singleton or ACE_TSS_Singleton. ACE_Singleton
registers with the Object_Manager for deletion and therefore is
accessed at the end of the application. ACE_TSS_Singleton is
very similar to ACE_Singleton. Moreover, it uses tss cleanup
hooks to clean up the thread specific storage. Therefore, if
the DLL lives shorter than the thread and/or the application, it
must *not* use ACE_Singleton and ACE_TSS_Singleton.
This motivates the need for ACE_DLL_Singleton<T>. As usual,
contributions to ACE are always welcome ;-) Many, many thanks to
Patrick J. McNerthney <pat@cartia.com> for all his help!
Sat Aug 29 19:22:22 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Service_Configurator/Misc/main.cpp (main): Fixed a stray
l_argv[3] = 0; I'm not sure why this was here...
Sat Aug 29 17:31:06 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
* examples/IPC_SAP/SOCK_SAP/CPP-in{client,server,server-fancy}.cpp:
Updated these tests to be more robust and better designed.
* examples/IPC_SAP/SOCK_SAP/Makefile: Added the
CPP-inserver-fancy.cpp file. I'm not sure why I'd omitted it
for so long...
* examples/IPC_SAP/SOCK_SAP/CPP-in{client,server}.cpp: Cleaned up
the code a bit to avoid warnings. Thanks to David Levine for
reporting these.
Sat Aug 29 14:11:25 1998 David L. Levine <levine@cs.wustl.edu>
* etc/ACE-guidelines.html: added rule to not for a pointer
being 0 before deleting it. It's always safe to delete a
0 pointer. Thanks to James CE Johnson <jcej@lads.com> for
pointing this out.
Fri Aug 28 23:29:51 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/IPC_SAP/SOCK_SAP/CPP-in{client,server}.cpp: Enhanced
the client and server test so that it'll be a good benchmark for
the "best case" to compare TAO against.
Fri Aug 28 21:53:13 1998 Steve Huston <shuston@riverace.com>
* ace/OS.h: Conditionalize setting of ACE_INFINITE on non-Win32
to allow the platform config to define a value.
* ace/config-hpux11.h: Define ACE_INFINITE as 10000000. This value
was empirically determined by John Mulhern. Until we know why
this had to be done, you may need to set a different value in
your own config.h file.
Fri Aug 28 13:14:34 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* examples/Service_Configurator/Misc/main.cpp: Made the file CE
friendly. Added "-y" to service configurator so we can still
test static services.
Fri Aug 28 13:45:28 1998 David L. Levine <levine@cs.wustl.edu>
* include/makeinclude/platform_lynxos.GNU: added HOST_OS
support for PowerPC target. It has a slightly different
name (sunos-xcoff-ppc) than for x86 target (sunos-coff-x86).
* ace/config-lynxos.h: there doesn't seem to be an
alloca () for PowerPC target. So, only enable
ACE_HAS_ALLOCA and ACE_HAS_ALLOCA_H ifdef __x86__.
Fri Aug 28 12:30:57 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* bin/create_ace_build:
Now it will cleanup dead links on the build directory.
Fri Aug 28 09:45:53 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Synch: Fixed the constructor of ACE_Null_Condition so that
it's consistent with ACE_Condition_Thread_Mutex. Thanks to
Mats Nilsson <mats.nilsson@xware.se> for reporting this.
Fri Aug 28 08:33:20 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/OS.h (FILE_FLAG_SEQUENTIAL_SCAN): Given null definitions for
FILE_FLAG_SEQUENTIAL_SCAN for Non Win32 platforms.
Thu Aug 27 19:40:32 1998 Steve Huston <shuston@riverace.com>
* ace/OS.i: Changed an erroneous ACE_HAS_PTHREAD_DRAFT6 to
ACE_HAS_PTHREADS_DRAFT6. Thanks to Chuck Gehr for catching this.
Thu Aug 27 15:47:34 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Proactor.cpp (handle_signal): Fixed code for looping around
handle_events(). Thanks to Marc Penner <mpenner@rst.inri.com>
for pointing out the problem.
* ace/OS.cpp (ACE_Countdown_Time::stop): Removed the setting of
errno to ETIME when we have used all of timeout. This was
necessary since this errno was interfering with errno being set
by other parts of ACE.
Thu Aug 27 13:45:31 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.h: Added /**/ between "#include" and
"<ace/sys_conf.h>". Otherwise, MSVC spits out warnings, tons of
them.
* ace/Profile_Timer.h (ACE_Profile_Timer): Remove the Win32
section. Win32 (except CE) actually uses the code in
ACE_HAS_GETRUSAGE.
Thu Aug 27 13:12:04 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* examples/Reactor/Proactor/test_proactor.cpp :
test_proactor_with_aio.cpp is removed.
test_proactor.cpp should do well on Win as well as other
POSIX4 compliant platforms (with some known bugs in Solaris2.6).
Thu Aug 27 11:35:11 1998 David L. Levine <levine@cs.wustl.edu>
* etc/ACE-guidelines.html: added rule to declare a loop index
before the loop, if it's used after the loop.
* ace/OS.h,README: added ACE_LACKS_RTTI support, for use with
ACE_HAS_ANSI_CASTS without dynamic_cast.
* ace/config-sunos5.5.h (Sun CC only), config-osf1-4.0.h:
added conditional ACE_LACKS_RTTI.
* include/makeinclude/platform_osf1_4.0.GNU: added rtti=0
support.
* ACE-INSTALL.html,include/makeinclude/wrapper_macros.GNU:
updated comments to reflect that rtti=0 is now supported on
OSF1-4.0. (It's not only supported on Sun CC/SunOS 5.)
* tests/SOCK_Connector_Test.cpp (host_is_up): broke out
the code to test whether a host exists, is reachable, and
is up into host_is_up (). Consider the host up if the
blocking connection attempt succeeds, or down if it doesn't.
Wed Aug 26 23:43:42 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.32 released.
Wed Aug 26 19:11:07 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* bin/count_lines:
A nice Perl script to count lines of code.
Wed Aug 26 17:35:43 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* tests/Reactors_Test.cpp (close): Oops, the ACE_ASSERT() was
incorrect. It should be
ACE_ASSERT (Test_Task::task_count_ >= 0);
Thanks to David Levine for reporting this.
Wed Aug 26 07:47:57 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Select_Reactor.h: Added template specialization for
ACE_Guard<ACE_Select_Reactor_Token_T<ACE_Noop_Token>> to speed
thing up when using lock-freed Select_Reactor.
* ace/Select_Reactor.cpp: Removed template instantiation for
ACE_Guard<ACE_Select_Reactor_Token_T<ACE_Noop_Token>> because
it's been specialized in .h file.
Wed Aug 26 08:51:23 1998 Steve Huston <shuston@riverace.com>
* ace/OS.cpp (thr_keycreate): On pthreads draft 6, the call is
pthread_key_create, not pthread_keycreate. Thanks to Arturo
Montes <mitosys@colomsat.com.co> for this fix.
Wed Aug 26 08:32:18 1998 David L. Levine <levine@cs.wustl.edu>
* tests/Reactor_Performance_Test.cpp (create_reactor):
wrapped block in "if" statement with {} to prevent syntax
error. Yet another example of why we should always use
{} in "if" statements :-)
Wed Aug 26 07:54:49 1998 J. Russell Noseworthy <rnosewor@objectsciences.com>
* ace/OS.{i,cpp} (rwlock_init): use native ::rwlock_init on Solaris,
even if ACE_HAS_STHREADS isn't defined. This avoids a nasty
bug on startup with only ACE_HAS_PTHREADS defined on Solaris.
The ACE_Object_Manager fails to initialize its first
preallocated object, and core dumps when trying to use
the ACE_Log_Msg lock, which hasn't been initialized yet.
Tue Aug 25 21:26:29 1998 James CE Johnson <jcej@lads.com>
* include/makeinclude/platform_linux_lxpthread.GNU:
added NO_IMPLICIT_TEMPLATES support. To disable
-fno-implicit-templates, set NO_IMPLICIT_TEMPLATES
to anything in either your environment or on the
make command line.
Tue Aug 25 20:04:09 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/config-hpux11.h: Added ACE_HAS_AIO_CALLS. Thanks to John
Mulhern for verifying this.
* etc: Began to add the ACE tutorials. Thanks to James CE Johnson
<jcej@lads.com> for contributing this stuff.
* tests/Reactor*.cpp: Fixed all the Reactor tests so that they'd
abide by the appropriate design rules. Thanks to Hans Rohnert
<rohnert@scr.siemens.com> for reporting this.
Tue Aug 25 19:31:37 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Memory_Pool.i (~ACE_Lite_MMAP_Memory_Pool,~ACE_MMAP_Memory_Pool):
swapped to avoid use of ~ACE_MMAP_Memory_Pool before its linline
definition.
Tue Aug 25 18:48:50 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Service_Config.cpp (parse_args): Changed the default for
ACE_Service_Config::no_static_svcs_ to be 1. This means that by
default static services (ACE_Naming_Context and
ACE_Service_Manager) will *not* be loaded into the Service
Repository. The -n option remains the same for backward
compatibility, i.e., it sets ACE_Service_Config::no_static_svcs_
to 1. -y is a new option that sets
ACE_Service_Config::no_static_svcs_ to 0.
The motivation for this change was to minimize the ACE
footprint, i.e., only load them if the program requires it.
Tue Aug 25 18:28:11 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.i (strdup): Changed ::strlen to ACE_OS::strlen so we can
get the actual length for UNICODE strings. Thanks to Dana
Hackman <upboms@network-one.com> for reporting this.
Also, the size of the allocated memory should be
(strlen(s)+1)*sizeof(wchar_t), not strlen(s)*sizeof(wchar_t)+1.
Tue Aug 25 14:33:46 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/XtReactor.cpp:
The lock type for the ACE_XtReactor was wrong.
Tue Aug 25 13:36:10 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* tests/Aio_Platform_Test.cpp (do_sysconf): Fixed the VxWorks
warnings.
Tue Aug 25 13:04:00 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Memory_Pool: Added virtual destructors.
Tue Aug 25 10:38:52 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* bin/auto_compile:
Added orbsvcs/test/Property/run_test.pl.
The Simple test was moved to Simple/time.
Tue Aug 25 10:45:50 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* tests/Aio_Platform_Test.cpp: Fixed the SunCC errors about
missing function prototypes. Also put the various
<sysconf> routines under "#if defined <SYMBOL>"
statements.
Tue Aug 25 07:42:40 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Memory_Pool.cpp: changed ACE_Auto_Basic_Array_Ptr<char *>
template instantiation to ACE_Auto_Basic_Array_Ptr<char>.
* examples/IPC_SAP/UPIPE_SAP/ex3.cpp (consumer): changed
ACE_Auto_Basic_Ptr <char> to ACE_Auto_Basic_Array_Ptr <char>.
* tests/Reactor_Performance_Test.cpp,
examples/IPC_SAP/UPIPE_SAP/ex{2,3}.cpp:
removed explicit ACE_Auto_Basic_Array_Ptr <char> instantiation
because it's now in libACE.
* include/makeinclude/wrapper_macros.GNU: added BUILD
definition when building static libs only. This was necessary
to allow the TAO/orbsvcs/tests/Simulator/{EventSup,DOVEMIB}
makes to work properly on both Solaris and VxWorks.
It also means that BUILD is no longer necessary in most Makefiles.
* tests/Message_Queue_Notification_Test.cpp (main): removed
trailing ".cpp" from log file name.
* ace/config-sunx86-sunc++-4.x.h: removed because it wasn't being
maintained, because config-sunos5.{5,6}.h are supported on Solaris86.
* include/makeinclude/wrapper_macros.GNU: fixed determination
of whether the g++ version supports exception handling. Assume
that it doesn't on VxWorks. Thanks to Margherita Vittone Wiersma
<vittone@fndaub.fnal.gov> for reporting this.
* include/makeinclude/platform_vxworks5.x_g++.GNU: use := instead
of += to set PATH, because += seems to insert a space.
Tue Aug 25 05:23:11 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/Message_Queue_Notifications_Test.dsp: Fixed something....
* tests/tests.dsw: Fixed a typo.
* ace/ace_{dll,lib}.dsp:
* ace/Makefile: Added Select_Reactor_T and Select_Reactor_Base.
Rebuilt file dependencies.
* ace/Select_Reactor[_Base,_T].{h,i,cpp}: Templatized
ACE_Select_Reactor and gangs. The original Select_Reactor files
are splited into three sets of files. Select_Reactor_Base
defines common components used by Select_Reactor and defines
Select_Reactor_Base class. Select_Reactor_T defines the
template classes. Select_Reactor instantiates necessary
template classes. Next step is to add template specialization
for ACE_Guard< ACE_Select_Reactor_Token_T <ACE_Noop_Token> >.
* ace/Synch.{h,i}: Added a new class ACE_Noop_Token which is a
subclass of ACE_Null_Mutex. It supports a null renew method.
This class should be called ACE_Null_Token but the name is
already used.
Tue Aug 25 01:38:40 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Threads/task_three.cpp (main): Fixed this example so
that it works portably with signals. Thanks to Susan Liebeskind
<susan.liebeskind@gtri.gatech.edu> for reporting this.
* tests/Aio_Platform_Test.cpp: Removed the forward decls
so that don't conflict with the use of "static" later on.
Thanks to David Levine for reporting this.
Mon Aug 24 22:23:33 1998 David L. Levine <levine@cs.wustl.edu>
* examples/IPC_SAP/UPIPE_SAP/ex{2,3}.cpp: removed unnecessary
includes of fstream.h.
Mon Aug 24 18:11:39 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Memory_Pool.cpp (ACE_Local_Memory_Pool::release): This
memory pool uses "new" to create memory chunks for the Malloc
class. However, since it did not keep track of this memory,
these chunks were leaked.
The solution was to keep tarck of the chunks allocated and
delete them in release().
* ace/Object_Manager.cpp (~ACE_Object_Manager): Moved TSS cleanup
*before* Service_Config::close(). We need this to happen since
DLL related TSS objects need to get cleaned up *before* the DLL
is unlinked. The only downside to this order of things is that
Log_Msg will also get cleaned up by TSS cleanup, and we need to
make sure that we do not access Log_Msg after TSS cleanup.
For this to work, we need to make sure of two things: user code
is not called and ACE does not use Log_Msg after this after TSS
resources have been cleaned up. The only major code that is
called is Service_Config::close(). Since
Service_Config::fini_svcs() has already been called,
Service_Config::close() only unlinks the DLLs and does not call
into user code.
* ace/Service_Repository.cpp (close): Don't access Log_Msg since
it has already been deleted by the time this code runs.
* ace/Service_Config.cpp (close): Don't access Log_Msg since it
has already been deleted by the time this code runs.
Mon Aug 24 18:13:58 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* tests/Aio_Platform_Test.cpp: Fixed a few problems due
to the fact that we weren't carefully guarding against platforms
that don't support AIO macros. Thanks to Dana Hackman
<upboms@network-one.com> for reporting this.
Mon Aug 24 15:18:46 1998 David L. Levine <levine@cs.wustl.edu>
* tests/run_tests.sh: run Message_Queue_Notifications_Test
instead of Message_Queue_Notifications_Test.cpp.
Mon Aug 24 13:05:03 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/config-{chorus,WinCE,vxworks5.x}.h: Added
ACE_HAS_STRDUP_EMULATION. Thanks to Chuck Gehr for this
suggestion.
* ace/OS.i (strdup): Removed complicated #ifdef and replaced it
with ACE_HAS_STRDUP_EMULATION.
Mon Aug 24 10:41:07 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/OS.h: Provided null defitions for all the <wstat> wait
status macros for ACE_WIN32 platform.
Mon Aug 24 00:11:00 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Reactor/Misc/pingpong.cpp (run_svc): Fixed a subtle
potential "order of destruction" bug with this test. Thanks to
Hans Rohnert for reporting this.
Sun Aug 23 21:09:55 1998 Arturo Montes <mitosys@colomsat.net.co>
* ace/OS.i (thr_testcancel): with ACE_HAS_PTHREAD_DRAFT6,
use ::pthread_testintr () instead of pthread_testcancel ().
Thats what FSU pthreads uses. Hopefully, MVS does also.
Sun Aug 23 16:28:10 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Process.cpp (spawn): Removed the ACE_DEBUG messages on exec
failure, etc. If apps want to know what has failed, they need
to check the return from spawn() or wait(). ACE shouldn't be
generating debugging information gratuitiously...
Sun Aug 23 15:42:48 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/Process.cpp: Put the warning on failure on exec
("ACE_Process::spawn (); exec failed: exiting!!!!\n") under
condition (ACE_Service_Config::debug_).
Sun Aug 23 11:12:46 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* tests/Makefile:
* tests/Message_Queue_Notifications_Test.cpp:
Fixed typos.
Sat Aug 22 21:52:23 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/IPC_SAP/UPIPE_SAP/ex[23].cpp: Changed the
Auto_Basic_Ptr to the Auto_Basic_Array_Ptr to avoid compilation
problems. Thanks to David Levine for reporting this.
Sat Aug 22 20:13:37 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* ACE-INSTALL.html: Added instructions for adding Alpha
configurations to MSVC 5 project files.
Sat Aug 22 13:24:00 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* tests/Message_Queue_Notifications_Test.cpp: Surrounded the
ACE_Barrier with conditional compilations for ACE_HAS_THREADS.
Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this.
* tests/Message_Queue_Notifications_Test.cpp: Cleaned up the
formatting a bit.
* tests: Renamed MsgQueue_Notifications_Test.{cpp,bpr,dsp} to
Message_Queue_Notifications_Test.{cpp,bpr,dsp} to be more
consistent with spelling.
* ace/OS.h: Moved the ACE_timer_t down a bit in the file so that
ACE_UINT is defined. Thanks to Naga for reporting this.
* ace/OS.h: Added a "no-op" typedef for ACE_Rusage for platforms
that don't support it. Thanks to David Levine for reporting
this.
Sat Aug 22 07:59:28 1998 David L. Levine <levine@cs.wustl.edu>
* tests/UPIPE_SAP_Test.cpp (main): removed unused local
variables thr_handle_acceptor and thr_handle_connector.
* tests/UPIPE_SAP_Test.cpp (connector): removed leading newline
in printout at end of thread execution.
* ACE-INSTALL.html: added egcs section. Thanks to
Ganesh Pai <gpai@voicetek.com> for a portion of it.
* examples/IPC_SAP/UPIPE_SAP/ex1.cpp (peer1); removed spurious
"new" in ACE_NEW_RETURN involcation.
* examples/IPC_SAP/UPIPE_SAP/ex{2,3}.cpp: untabified.
* examples/IPC_SAP/UPIPE_SAP/Makefile: updated dependencies
so that the module will build, now that auto_builtin_ptr.h
has been removed.
Sat Aug 22 00:27:06 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Read_Buffer.i (alloc): Added new method to get to
Read_Buffer's allocator. This is necessary because we need to
free up the memory that it allocates for us.
* ace/Service_Object.cpp (fini): New method calls fini() on
<type_> and sets the <fini_already_called_> flag. This flag is
tested in the destructor so that the <type_> is not fini'ed
twice.
* ace/Service_Repository.cpp (fini): New method to finalize (call
fini() and possibly delete) all the services.
* ace/Service_Config.cpp (fini_svcs): New method calls
ACE_Service_Repository::instance ()->fini ().
* ace/Object_Manager.cpp (~ACE_Object_Manager): Added a call
to close and possibly delete all service instances in the
Service Repository by calling ACE_Service_Config::fini_svcs.
This call is made *before* the library singletons (such as
the Reactor, Proactor, Thread_Manager, and Allocator) are
destroyed since the service instances maybe accessing these
singletons in the fini() and destructor methods. Note that
user singletons are destroyed before the services are
fini'ed or closed.
* ace/Service_Config.cpp (fini_svcs): Disable log messages when
appropriate.
Fri Aug 21 22:26:54 1998 Steve Huston <shuston@riverace.com>
* ace/OS.i (ACE_OS::gettimeofday): On Win32, instead of _ftime,
use GetSystemTimeAsFileTime. _ftime has a bug crossing from
daylight time to standard time in the US.
Fri Aug 21 22:13:51 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.i (thr_cancel, thr_setcancelstate, thr_setcanceltype,
thr_testcancel): added #else
case, with ACE_NOTSUP (-1), to the various threads
types. It catches
ACE_HAS_PTHREADS && ACE_LACKS_PTHREAD_CANCEL. Thanks
to Naga for reporting this.
* ace/OS.i (thr_setcanceltype): don't support if
ACE_LACKS_PTHREAD_CANCEL. Thanks to Naga for reporting this.
* ace/config-chorus.h: added ACE_LACKS_PTHREAD_CANCEL.
Thanks to Naga, again.
Fri Aug 21 20:23:44 1998 Douglas C. Schmidt <schmidt@cumbia.cs.wustl.edu>
* examples/IPC_SAP/UPIPE_SAP/ex[123].cpp: Updated these programs
to use the ACE_Auto_Basic_Ptr instead of the bizarre
auto_builtin_ptr.h file, which has been removed... Also
replaced the global thr_mgr with the ACE_Thread_Manager
Singleton and moved the <fstream.h> include file until AFTER the
ACE includes to avoid problems with HP/UX 11's C++ compiler.
Thanks to John Mulhern for motivating these fixes.
* ace/config-hpux-10.x.h: Added a check so that if threading is
disabled, then timespec_t does not get defined. This seems to
work around a bug with HP/UX 10.x. Thanks to Ganesh M. Pai
<gpai@voicetek.com> for reporting this.
Fri Aug 21 19:54:26 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* include/makeinclude/wrapper_macros.GNU:
The ACE_HAS_EXCEPTIONS macro definition goes into CPPFLAGS now,
so make depend can use it too.
Fri Aug 21 18:47:40 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Process.cpp (wait): Need to check if status is non-null
before accessing the exit status on NT. Thanks to Carlos for
pointing this out.
Fri Aug 21 16:40:39 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/config-irix6.x-sgic++.h:
* ace/OS.i:
Some platforms (notable IRIX 6.x) do not update the timer in
pthread_cond_timedwait(), this made the Semaphore test fail for
those platforms.
I modified the ACE_OS::sema_wait() function to obtain the
desired behavior.
Fri Aug 21 15:50:05 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* etc/ACE-porting.html: Updated some discussion on selecting
versions of STL that work with ACE and TAO. Thanks to Bob
Laferriere <robert.laferriere@gemed.med.ge.com> for reporting
this.
Fri Aug 21 14:49:31 1998 Steve Huston <shuston@riverace.com>
* include/makeinclude/platform_hpux_gcc.GNU: Changed the default
from build without threads to build with threads. Thanks to Ganesh
Pai <gpai@voicetek.com> for this change.
Fri Aug 21 09:25:21 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/OS.h: Moved several #ifdefs from Profile_Timer.h into OS.h
to clean up the code.
* ace/Profile_Timer.h: Cleaned up the class definition to make the
OSE tool happy. Thanks to Doug Anderson <doug@clark.net> for
reporting this.
* etc: Moved the ACE-subsets.html file into $ACE_ROOT/etc.
* ace/Synch_Options.h: Fixed a typo that was giving the OSE tool
fits! Thanks to Doug Anderson <doug@clark.net> for reporting
this.
Fri Aug 21 03:41:01 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* examples/OS/Process/process.cpp:
* examples/OS/Process/imore.cpp: Minor bug fixes. Print out of
child processes' exit status.
Thu Aug 20 23:33:15 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Process.cpp (wait): Allow passing back the exit status of
the child process on NT.
Thu Aug 20 19:52:21 1998 Nagarajan Surendran <naga@cs.wustl.edu>
* ace/OS.i:
ACE_INLINE int
ACE_OS::thr_getspecific (ACE_thread_key_t key, void **data)
...
#else /* this is Draft 7 or STD */
*data = pthread_getspecific (key);
changed the ::pthread_getspecific to pthread_getspecific as it
is a macro in Chorus. Thanks to David Levine for finding this.
Thu Aug 20 17:05:28 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Service_Configurator/Misc/Timer_Service.cpp: Added some
ACE_SVC_FACTORY_* macros for Timer_Service_1 so that it'll
compile and link properly. Thanks to David Levine for reporting
this.
Thu Aug 20 14:39:53 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Process.{h,cpp} (ACE_Process::wait): Added a parameter of int* to
get back the exit status of a child process.
Thu Aug 20 14:33:59 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* etc/ACE-porting.html: Generalized the discussion to cover
porting TAO, as well as to explain what C++ features must/can be
supported to port ACE/TAO to a new platform.
Thu Aug 20 05:12:24 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.31 released.
Thu Aug 20 03:10:48 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/UPIPE_SAP_Test.cpp (main): Reverted back to use
ACE_Thread. Although it's considered the "Right Thing" to spawn
threads using ACE_Thread_Manager, I'll keep this file to use
ACE_Thread to serve as an example that you can also use
ACE_Thread to do any tricks you like, and, a sanity check.
* ace/OS.cpp (ACE_Thread_Adapter::invoke): Don't create the
ACE_Thread_Exit object if we are not spawning the thread using
ACE_Thread_Manager. Otherwise, when a non-thread manager
spawned thread exits, the TSS clean up routing gets into an
infinite loop calling ~ACE_Thread_Exit recursively and
eventually the stack gets overflowed and the thread then
"appears" to exit normally. But in fact, TSS cleanup does not
complete at all.
* ace/Thread_Manager.i:
* ace/Thread_Manager.cpp (at_exit,thr_self): Moved all at_exit
methods into the .i file. All at_exit methods and thr_self
don't really need to hold Thread_Manager's lock.
Notice that after the newly spawned thread enters the
ACE_Thread_Adapter::invoke routine, we can safely manipulate its
Thread_Deacriptor because it has been registered properly. This
change should further reduce the times a thread gets started.
Wed Aug 19 20:34:25 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/README:
* ace/OS.h: Added a new macro directive
"ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER". By defining
this macro, it implicitly forces ACE to use non-static object
manager and _NOT_ instantiating ACE_Object_Manager for you and
assumes you will take the responsibility of instantiating
ACE_Object_Manager at the proper place in your programs. This
is usually used when using ACE with MFC/Windows programs.
Because the main function is defined by MFC/Windows libraries,
ACE has no way to instantiate object manager in these programs.
For programs using MFC, a good place to instantiate Object
Manger will be to define ACE_Object_Manager a member of
CApplication derived classes so it gets instantiated/destructed
properly.
* ace/config-win32.h: Revised the comment about
ACE_HAS_NONSTATIC_OBJECT_MANAGER
Wed Aug 19 17:15:00 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Service_Config.cpp: Moved the registration of the SIGHUP
signal from the constructor to the open() method since otherwise
it'll never get called in the typical usecase... Thanks to
Susan Liebeskind <susan.liebeskind@gtri.gatech.edu> for
reporting this.
Wed Aug 19 14:11:22 1998 David L. Levine <levine@cs.wustl.edu>
* ACE version 4.5.30 released.
Wed Aug 19 13:38:40 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.cpp (ACE_TSS_Cleanup::detach): only declare local
temp_key ifdef ACE_WIN32, because it's only used there.
Wed Aug 19 10:13:36 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.cpp (ACE_Thread_Cleanup::remove): Don't bother to check
the <in_use_> status when the object manager is shutting down.
Otherwise, we are creating another fresh ACE_TSS object all over
again.
(ACE_Thread_Cleanup::detach): When cleaning up a thread key, we
must first remove it from the internal table before actually
freeing the key to avoid race condition (the OS may reassigned
the key to other the_keycreate requests.)
* ace/Log_Msg.cpp (close): Removed the ACE_Thread::key_free
statement. This should be handled by TSS cleanup mechanism.
* ace/Thread_Manager.cpp (at_exit): Moved the return statement
after #endif macros to avoid the no return compiler warning.
* tests/UPIPE_SAP_Test.cpp (main): Changed to use
ACE_Thread_Manager to spawn and wait for threads so the TSS
object gets cleanup correctly. Using plain vanilla
ACE_Thread::spawn and/or ACE_OS::thr_create no longer works.
Wed Aug 19 10:06:25 1998 David L. Levine <levine@cs.wustl.edu>
* etc/ACE-guidelines.html: @added guidelines to check for
success of an attempted open of an existing file, and to not
release copyrighted, etc., material with ACE/TAO.
* tests/SOCK_Connector_Test.cpp (find_another_host): check to see
if the other host is up, by attempting a blocking connection with
it. Only return another host if the connection succeeds.
Also, cache the other host so that multiple calls will not
have to repeat the connection attempt.
Wed Aug 19 08:25:20 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Service_Configurator/Misc/Timer_Service.cpp: Changed
Timer_Service_2 to Timer_Service_1 since it was a typo. Thanks
to Irfan for reporting this.
Tue Aug 18 22:10:43 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-fsu-pthread.h,config-hpux-10.x.h,config-mit-pthread.h,
config-mvs.h,config-osf1-{3.2,4.0}.h,config-sco-5.0.0-mit-pthread.h,
config-sunos5.{5,6}.h,config-tandem.h:
removed ACE_HAS_ONEARG_SIGWAIT. It's no longer used.
Tue Aug 18 16:50:28 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Thread.i (sigsetmask): Renamed parameter name since it
conflicts with STL class name. Thanks to Kent Watsen
<kent@watsen.net> for pointing this out.
* examples/Reactor/Proactor/test_proactor.cpp (handle_write_stream):
Fixed incorrect unary minus operator application.
Tue Aug 18 16:43:00 1998 David L. Levine <levine@cs.wustl.edu>
* ACE version 4.5.29 released.
Tue Aug 18 14:15:23 1998 Steve Huston <shuston@riverace.com>
* include/makeinclude/platform_aix4.2.GNU: Don't link programs
against libACE.a - just against libACEshr.a (the shared lib).
* include/makeinclude/platform_hpux_aCC.GNU:
* include/makeinclude/platform_hpux_gcc.GNU: Switch support for threads
on and off using "make threads=0" or "make threads=1". The default
for aCC is to use threads, and for gcc is to not. I deduced the
defaults from the old lib settings. Sorry if the gcc one is wrong.
* ace/config-hpux-10.x.h: Added ACE_HAS_SIGISMEMBER_BUG, plus...
* ace/config-hpux11.h: Set threads things based on the setting
of ACE_HAS_THREADS, which gets set in platform_macros.GNU (see above)
to build with threads support.
Tue Aug 18 10:57:32 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* include/makeinclude/rules.nested.GNU:
Removed extra enter/leave messages at each directory, GNUmake
does it for you.
Tue Aug 18 08:15:30 1998 David L. Levine <levine@cs.wustl.edu>
* tests/Aio_Platform_Test.cpp (do_sysconf): on VxWorks, don't
call ACE_OS::sysconf () because it's not supported.
* bin/make_release: added -P to cvs checkout command, to ignore
empty diretories.
Mon Aug 17 22:56:17 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/version_tests/version_tests.dsw:
* tests/version_tests/Dynamic_Priority_Test.dsp: Added a new
project (as shown) into the workspace.
Mon Aug 17 17:17:52 1998 Steve Huston <shuston@riverace.com>
* ace/Makefile: Removed IO_Cntl_Msg from files to build. It's empty.
* include/makeinclude/platform_hpux_aCC.GNU: Added '302' to warnings
to suppress; changed LIBS from '=' to '+=' to work better with TAO
builds. Thanks to John Mulhern for these fixes.
Mon Aug 17 17:04:31 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/Env_Value_Test.cpp (main): Changed to use ASYS_TCHAR* for
arguments in main.
Mon Aug 17 15:51:30 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.i (thr_sigsetmask): with ACE_HAS_PTHREADS_DRAFT4 or
ACE_HAS_PTHREADS_DRAFT6, added :: in front of sigprocmask ()
call. Without it, g++ on LynxOS was warning about use of
sigprocmask () before definition.
Mon Aug 17 14:59:13 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* etc: Added a new file, ACE-porting.html, which explains how to
port ACE to new OS platforms. Thanks to Gabriel Lima
<gali@enea.se> for submitting this.
* ace/FILE_Connector.h: Changed ACE_FILE_Connector so that it no
longer inherits from ACE_FILE. This relationship is unnecessary
and was not used. Thanks to Byron Harris for reporting this.
Mon Aug 17 12:14:13 1998 Steve Huston <shuston@riverace.com>
Large number of small changes (all listed below) to begin aligning
the large number of Pthreads-related definitions around the 4 supported
drafts: 4, 6, 7, as well as the standard (also known as draft 10).
The notation for "DCE threads" is gone. DCE threads are primarily
draft 4, plus platform-specific modifications. Now all code must
declare the pthreads draft, and handle any platform/implementation
oddities as such.
As time goes on, I will remove more of the ACE_HAS_... and ACE_LACKS...
things that are actually changes with the pthreads drafts.
I tested these on Solaris 2.5.1 (CC), HP-UX 10.20 and 11.00, AIX 4.2.1,
and sanity-tested on NT/MSVC (though no changes affected the WTHREADS
parts).
* ace/README: Clarified use of Pthreads macros.
* ace/config-hpux-10.x.h:
* ace/config-lynxos.h:
* ace/config-osf1-3.2.h:
* ace/config-osf1-4.0.h:
Changed from DCE threads to ACE_HAS_PTHREADS_DRAFT4.
* ace/config-fsu-pthread.h:
* ace/config-m88k.h:
* ace/config-mvs.h: Added ACE_HAS_PTHREADS_DRAFT6.
* ace/config-aix-4.1.x.h:
* ace/config-aix-4.2.x.h: Added ACE_HAS_PTHREADS_DRAFT7.
* ace/config-chorus.h:
* ace/config-dgux-4.x-ghs.h:
* ace/config-hpux11.h:
* ace/config-irix6.x-g++.h:
* ace/config-irix6.x-sgic++.h:
* ace/config-linux-lxpthreads.h:
* ace/config-linux-pthread.h:
* ace/config-mit-pthread.h:
* ace/config-osf1-4.0.h:
* ace/config-sco-5.0.0-mit-pthread.h:
* ace/config-sunos-5.5.h: (also remove ACE_HAS_STHREADS if
_POSIX_PTHREAD_SEMANTICS is defined by user).
* ace/config-sunos5.6.h:
Changed to / added ACE_HAS_PTHREADS_STD.
* ace/config-hpux-10.x-g++.h: Changed over to use the base file
config-hpux-10.x.h.
* ace/OS.h:
* ace/OS.i:
* ace/OS.cpp:
Unified the compile ifdefs for pthreads around ACE_HAS_PTHREADS,
ACE_HAS_PTHREADS_DRAFT{4, 6, 7} and ACE_HAS_PTHREADS_STD.
Removed all use of ACE_HAS_DCETHREADS; put in platform-specific
settings where needed.
* ace/Sched_Params.cpp:
* ace/Synch.cpp: Removed the use of ACE_HAS_DCETHREADS.
Mon Aug 17 12:10:54 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/ace_{dll,lib}.dsp: Removed Message_Queue_T.cpp from and included
Message_Queue.cpp into source files that get build. Hmm, I
thought I made this change long ago.
* ace/ace_ce_dll.dsp: Changed the DLL output directories for some
configurations.
Mon Aug 17 11:25:18 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Strategies_T.h:
In some platforms we need to include "ace/Thread_Manager.h"
because its definition is used in the inline methods of some
templates, and a few platform actually check the syntax of
template code, even if the template is not used.
Mon Aug 17 10:06:01 1998 David L. Levine <levine@cs.wustl.edu>
* netsvcs/lib/Server_Logging_Handler_T.cpp: replaced
#include <string.h> with #include "ace/OS.h", so that
_REENTRANT gets defined with g++.
* apps/Gateway/Peer/Peer.{h,cpp} (Peer_Connector::open): added
(unused) arguments to this function. They are only provided to
avoid a compiler warning about hiding the virtual function
ACE_Connector<Peer_Handler, ACE_SOCK_CONNECTOR>::open (ACE_Reactor *,
int).
* tests/Dynamic_Priority_Test.cpp (run_performance_test):
added delete of time_offsets array. The test Purifies
cleanly now.
Mon Aug 17 00:05:02 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* examples/Reactor/ReactorEx/test_removals.cpp (main): Fixed
signed/unsigned mismatch.
* examples/Reactor/ReactorEx/test_talker.cpp (handle_read_stream):
Fixed incorrect unary minus operator application.
Sun Aug 16 20:57:12 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.i (dlerror): Fixed a typo. Thanks to Ossama Othman
<othman@astrosun.tn.cornell.edu> for reporting this.
Fri Aug 14 18:58:29 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* tests/Aio_Platform_Test.cpp : Changed <sysconf>'s to
ACE_OS::sysconf's.
Fri Aug 14 11:41:23 1998 Steve Huston <shuston@riverace.com>
* ace/OS.i (ACE_OS::dlclose): On HP-UX 10.x and 32-bit 11.00, do
not actually call shl_unload if the library's ref count is more than
1. If shl_unload is called, it unloads the library, regardless of
the reference count. This has the affect of never unloading a
library that's been loaded more than once, until the OS unloads it
at process run-down. Better than invalidating references to it,
though. The wonder of wrappers at work for you...
Fri Aug 14 10:01:05 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Basic_Types.h (ACE_UINT64_DBLCAST_ADAPTER): with
ACE_LACKS_LONGLONG_T, only use low 32 bits. We could devise
a conversion from ACE_U_LongLong to double that uses all
64 bits; but, it's probably easier for users to upgrade
their hardware and/or compilers to ones that support 64
bit ints :-)
Thu Aug 13 19:29:33 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Message_Queue_T.i: Changed the is_empty_i() method to check
if this->tail_ == 0 rather than this->cur_bytes_ <= 0 &&
this->cur_count_ <= 0. Thanks to Dirk Broer
<Dirk.Broer@gsfc.nasa.gov> for suggesting this.
Thu Aug 13 17:45:00 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/Basic_Types.h: added ACE_UINT64_DBLCAST_ADAPTER macro
to patch unimplemented UINT64 to double casts
Thu Aug 13 13:34:52 1998 David L. Levine <levine@cs.wustl.edu>
* os-patches/linux-patches.html: the af_inet.c patch is only
needed through Linux kernel version 2.0.34.
* tests/Conn_Test.cpp: disabled ACE_Hash_Addr template
specialization on non-egcs g++.
* tests/Process_Strategy_Test.{h,cpp} (~Process_Strategy):
added an explicit destructor. g++ 2.7.2.3 got very
confused ("Internal compiler error") without it, apparently
when generating it implicitly.
* tests/ MsgQueue_Notifications_Test.cpp (producer): removed
unused local "result".
Wed Aug 12 22:45:50 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/MsgQueue_Notifications_Test.cpp: Added an explicit
template instantiation.
Wed Aug 12 21:32:05 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Message_Block.h:
* ace/Message_Block.i:
* ace/Message_Block.cpp:
Enabled the base() method, it replaces the internal buffer and
resets the Message_Block. There were other ways to do this (like
calling data_block->base()), but some users find it convenient.
I also modified the Data_Block::base() method to release any
memory held by the class before the method is called. Thanks to
Peter.Gorgia@libnet.com for pointing this out.
Wed Aug 12 17:43:33 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/MsgQueue_Notifications_Test.cpp: The watermark test which
uses cv's signaling to notify other threads is also merged into
this file.
* tests/MsgQueue_Water_Mark_Test.{dsp,cpp}: Removed.
Wed Aug 12 17:12:57 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* APC.DSP:
* Abondoned.dsp:
* Console_Input.dsp:
* Directory_Changes.dsp:
* Exceptions.dsp:
* Multithreading.dsp:
* Network_Events.dsp:
* Prerun_State_Changes.dsp:
* Registration.dsp:
* Registry_Changes.dsp:
* Removals.dsp:
* Talker.dsp:
* Timeouts.dsp:
* Window_Messages.dsp:
* test_abandoned.cpp:
* test_apc.cpp:
* test_window_messages.cpp:
Added updated versions of project files (with correct include
directories). Also changed the <main>'s to take in argc and
argv. Thanks to Jeff Hellzen <JHellzen@hwdcsaws.cahwnet.gov>
for submitting these changes.
Wed Aug 12 16:16:38 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/MsgQueue_Notifications_Test.cpp: Since this test doesn't
use threads at all, I removed the #if ACE_HAS_THREADS macro.
Wed Aug 12 14:57:51 1998 Jonathan Biggar <jon@floorboard.com>
* ace/config-sunos5.5.h: wrapped thread-related defines with
"#ifdef _REENTRANT".
* include/makeinclude/platform_sunos5_sunc++.GNU,wrapper_macros.GNU,
ACE-INSTALL.html: added support for "threads" make option.
Wed Aug 12 02:06:02 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/test_config.h (ACE_Test_Output): It seemed like redirecting
the Log_Msg output back to stderr in close was a bit too early
and some messages popped out after some tests ran successfully.
Moved the redirecting code into the destructor.
Tue Aug 11 22:47:49 1998 David L. Levine <levine@cs.wustl.edu>
* ace/TP_Reactor.cpp (dispatch_io_set): added
ACE_UNUSED_ARG (ready_mask).
* tests/test_config.h: added
ACE_Singleton<ACE_Test_Output, ACE_Null_Mutex> template
instantiation. This shouldn't be done in a header, and
I wouldn't be surprised if it breaks somewhere. But, we
don't have any other need for a .cpp file to link into all tests.
Tue Aug 11 17:30:32 1998 Steve Huston <shuston@riverace.com>
* tests/test_config.h: Fixed ACE_Test_Output to get torn down clean
in all cases by changing it from a static to an ACE_Singleton.
Re-enabled it for Win32, non-WinCE.
Tue Aug 11 15:51:47 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/XtReactor.h (ACE_XtReactor): Changed the constructor so that
the XtAppContext can be passed later. This scheme allows for a
default constructor. Thanks to J-M Strauss
<strauss@limeil.cea.fr> for suggesting this.
Tue Aug 11 12:35:10 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.i (fopen): On WinCE, reset the handle to 0 if CreateFile
fails so we can detect errors when using the emulated FILE
pointer on CE.
* tests/test_config.h (~ACE_Test_Output): Changed !defined
(ACE_HAS_WINCE) to !defined (ACE_WIN32). When using non-static
object manager, the singleton ACE_Log_Msg may no longer exist
here and the reseting here just causes access violations. Other
platforms which use non-static might suffer the same sympton.
Tue Aug 11 12:29:03 1998 David L. Levine <levine@cs.wustl.edu>
* os-patches/linux-patches.html: the gas patch on alphas
isn't necessary with binutils-2.9.1.
Tue Aug 11 12:23:09 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/ARGV.{h,cpp}: Made a series of changes to make the file CE
friendly.
* ace/Message_Queue_T.cpp: Adjusted the indentation.
Tue Aug 11 02:06:55 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/WFMO_Reactor.cpp (dispatch_handles): Because dispatch_index
is absolute, nCount should be set to
(max_handlep1 - dispatch_index) instead of (nCount -
dispatch_index). Thanks to Alberto Villarica
<Alberto.Villarica.rav@nt.com> for pointing this out.
Mon Aug 10 20:12:21 1998 Steve Huston <shuston@riverace.com>
* ace/Log_Msg.cpp: On HP-UX 10.x, display thread's readable number
rather than an int represenation of a pointer.
* tests/test_config.h (ACE_Test_Output): When destroying
ACE_Test_Output, make sure to remove all traces of it from
ACE_Log_Msg instance.
* tests/Dynamic_Priority_Test.cpp: Don't try to set process-wide
scheduling if it's not supported on the platform.
* tests/Thread_Manager_Test.cpp: Don't do a kill on pthreads draft
4 platforms. This is a NOP for now - it will make a difference when
I check in more threads-related changes later.
Mon Aug 10 10:35:26 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* Added the ACE-subsets.html file to the ACE directory so that
we can all modify it.
Mon Aug 10 10:29:29 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.i (shm_open): There's no need to mess with the security
attribute here.
Mon Aug 10 01:09:05 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.{h,i}: Added a new function
"default_win32_security_attributes" to return the defualt
security setting of kernel objects. By default, this function
is a no-op. You must define
ACE_DEFINES_DEFAULT_WIN32_SECURITY_ATTRIBUTES for this function
to return a SECURITY_ATTRIBUTES object that has no access
restriction.
Modified all functions that use Win32 kernel objects to invoke
this new function to get the appropriate security attributes.
Thanks to Ivan Murphy <Ivan.Murphy@med.siemens.de> for
suggesting this.
Sun Aug 09 23:26:39 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.28 released.
Sun Aug 9 23:08:51 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* Checked in a bunch of files/directories that I'd neglected
to check in before.
Sun Aug 09 23:02:24 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.27 released.
Sun Aug 9 15:04:41 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* netsvcs/clients/Tokens/manual/manual.cpp: Changed all instances
of "#if (ACE_WIN32)" to "#if defined (ACE_WIN32)"
* netsvcs/netsvcs.dsw: Added this workspace which contains all the
netsvcs projects.
* netsvcs/clients/Tokens/collection/collection.dsp:
* netsvcs/clients/Tokens/collection/collection.dsw:
* netsvcs/clients/Tokens/deadlock/deadlock.dsp:
* netsvcs/clients/Tokens/deadlock/deadlock.dsw:
* netsvcs/clients/Tokens/invariant/invariant.dsp:
* netsvcs/clients/Tokens/invariant/invariant.dsw:
* netsvcs/clients/Tokens/manual/manual.dsp:
* netsvcs/clients/Tokens/manual/manual.dsw:
* netsvcs/clients/Tokens/mutex/mutex.dsp:
* netsvcs/clients/Tokens/mutex/mutex.dsw:
* netsvcs/clients/Tokens/rw_lock/rw_lock.dsp:
* netsvcs/clients/Tokens/rw_lock/rw_lock.dsw:
Added these MSVC projects and workspaces. Thanks to Jeff
Hellzen <JHellzen@hwdcsaws.cahwnet.gov> for submitting these.
* netsvcs/clients/Logger/direct_logging.dsp:
* netsvcs/clients/Logger/indirect_logging.dsp:
* netsvcs/clients/Naming/Client/Client_Test.dsp:
* netsvcs/clients/Naming/Client/main.dsp:
* netsvcs/lib/netsvcs.dsp:
* netsvcs/servers/servers.dsp:
Mainly just updated all of these and made sure that they worked.
Sun Aug 9 09:17:16 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Strategies_T.cpp (connect_svc_handler): Changed the call to
this->CONNECT_STRATEGIES::connect_svc_handler() to avoid compile
problems with GCC on LynxOS. Thanks to Sergio for reporting
this.
Sat Aug 8 09:37:27 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/INET_Addr.cpp:
Reverted the operator== optimization, it turns out that the
definition of struct in_addr is not portable after all. Maybe
there is a set of macros to make it portable?
* ace/ACE.h:
* ace/ACE.cpp:
Returning <const char* const> is unnecesary; and gives no more
guarantees that <const char*>, plus it gives warnings in
IRIX/MIPSPro compilers.
* ace/Synch.cpp:
Removed explicit instantiations of ACE_Guard<ACE_Null_Mutex>,
the class is specialized so no instantiation is necessary. Same
thing for ACE_Write_Guard and ACE_Read_Guard.
Fri Aug 7 23:18:53 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/config-sunos5.5.h:
Updated the new ACE_CC_NAME macros (and friends) so they work
with egcs (and hopefully g++).
* tests/MT_SOCK_Test.cpp:
Removed double comma in function call.
Fri Aug 7 21:39:26 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/INET_Addr.cpp:
Compare the fields of in_addr instead of calling memcmp.
* ace/Message_Block.cpp:
* ace/Message_Block.h:
* ace/Message_Block.i:
The Message_Block can receive an allocator for the data block,
so instead of creating them on the heap they can be allocated
from a TSS allocator or other memory pool. By default we use
ACE_New_Allocator.
* apps/gperf/Makefile:
The Id was wrong.
* bin/auto_compile:
Added gperf to the default list of directories.
Fri Aug 7 13:58:58 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
* bin/envinfo.cpp:
Added this program, which will print the version information for
ACE, the OS and C++ compiler. The idea is to use this when posting
to the ACE mailing list.
* ace/ACE.h:
* ace/ACE.cpp:
Added static methods to retrieve compiler information (name, major
version, minro version, beta version).
* ace/config-sunos5.5.h:
Defined the compiler information macros for this platform.
* bin/Makefile:
Modified the Makefile to support multiple binaries in the
directory (according to tests/Makefile).
* bin/clone.cpp:
Added RCS Id.
Fri Aug 7 12:46:42 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Activation_Queue.h: Updated the documentation to indicate
the need for absolute rather than relative time values. Thanks
to Johannes Gutleber <Johannes.Gutleber@cern.ch> for reporting
this.
Fri Aug 07 02:06:54 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/MsgQueue_Water_Mark_Test.{dsp,cpp}: Added a new test to
make sure the water mark stuff works. It still needs to be
clean up to compile with g++.
Fri Aug 07 01:00:55 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Strategies_T.i (operator==): Added a method to compare a
ACE_Hash_Recyclable and a ACE_Recyclable. Also inlined a shit
load of small methods.
* ace/Strategies_T.cpp (connect_svc_handler): If <sh> is not
connected to the correct address or is busy, we will not use it.
Therefore we need to set it to zero.
* ace/Synch: Added template specializations for
ACE_Guard<ACE_Null_Mutex>, ACE_Write_Guard<ACE_Null_Mutex>, and
ACE_Read_Guard<ACE_Null_Mutex>.
Thu Aug 06 14:59:22 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Thread_Manager.cpp: Updated all uses of cancel_thr for the
various apply*() methods so that they pass along the
async_cancel flag.
* ace/Thread_Manager.cpp: Added a new ARG to the ACE_EXECUTE_OP
macro. Believe it or not, this change actually reduced the
amount of special-case code because we can now treat kill_thr()
just like the other *_thr() methods. Irfan was amazed ;-).
* ace/Thread_Manager: Added a new flag called "async_cancel" to
all the Thread Manager cancel*() methods. This flag is disabled
by default (hence, there are no changes to the ACE Thread
Manager semantics). If it is enabled, however, it will attempt
to perform an asychronous thread cancellation on the
corresponding thread id(s).
Thu Aug 6 17:44:50 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* tests/Priority_Task_Test.cpp: Enhanced this test so that it runs
correctly on platforms where you must be root to muck around
with thread priorities. Thanks to John Mulhern
<9107@mn3.lawson.lawson.com> for reporting this.
* tests/MT_SOCK_Test.cpp: Reformatted the code to make it more
readable and also to remove a C-style cast.
* ace/Message_Queue_T.h: Improved the documentation of the low
water mark and high water marks. Thanks to Umar for encouraging
this.
Thu Aug 6 20:41:44 1998 James C Hu <jxh@cs.wustl.edu>
* ace/Filecache.cpp: Avoided a deadlock detected by Tom Dobridge
<dobridge@persimmon.com> (thanks!).
Thu Aug 06 14:59:22 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Strategies_T.cpp (connect_svc_handler): If <sh> is not
connected to the correct address or is busy, we will not use it.
Therefore we need to set it to zero.
* ace/Synch: Added template specializations for
ACE_Guard<ACE_Null_Mutex>, ACE_Write_Guard<ACE_Null_Mutex>, and
ACE_Read_Guard<ACE_Null_Mutex>.
Thu Aug 6 14:30:11 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/config-irix6.x-sgic++-nothreads.h:
Use template specializations instead of pragmas if the compiler
is 7.2 or better.
* ace/config-irix6.x-sgic++.h:
The <sched.h> is not necessary in IRIX 6.4
Thu Aug 06 14:11:15 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Message_Queue_T.cpp: Make sure to check if the cur_bytes_ is
<= to the low_water_mark before signaling threads trying to
enqueue a Message_Block.
* ace/Message_Queue_T.cpp: Fixed a bunch of code to use the
ACE_NEW_RETURN macro to ensure that errno is set correctly.
* ace/Message_Queue.h: Changed the DEFAULT_LWM to be the same as
the DEFAULT_HWM since that's the "Right Way"[TM] to handle
this... Thanks to Umar Syyid <usyyid@hns.com> for helping to
track this down.
* ace/Message_Queue_T.i (is_empty_i): Removed the low water mark
logic entirely because this isn't the right place to put it.
Also reverted back to using && rather than || since we need
to handle "0-sized" messages.
Thu Aug 6 09:41:22 1998 Nagarajan Surendran <naga@cs.wustl.edu>
* ace/ARGV.{h,cpp} : Added a new
ACE_ARGV(ASYS_TCHAR *first_argv,ASYS_TCHAR *second_argv,int)
which creates a new ARGV which is the concatenation of the 2 argvs.
Also added a new private method argv_to_string
which converts an argv to a string.
Thu Aug 6 08:56:02 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Module.h: Pointed out that ACE_Module should't be subclassed
-- ACE_Task should be subclasses. Thanks to Barney Dalton
<barneyd@cyllene.uwa.edu.au> for pointing this out.
Wed Aug 05 23:57:16 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Reactor.cpp (end_event_loop): Changed the code so that *all*
threads are woken up. Thanks to Olivier Lau
<olivier_lau@srtelecom.com> for pointing this bug out.
* examples/Reactor/ReactorEx/test_multithreading.cpp (main):
Changed Reactor->close() to Reactor::end_event_loop().
Wed Aug 5 23:12:54 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* include/makeinclude/wrapper_macros.GNU: Changed
PURE_CACHE_DIR = $(PURE_CACHE_BASE_DIR)-$(LOGNAME)-$(CXX)
to
PURE_CACHE_DIR = $(PURE_CACHE_BASE_DIR)-$(LOGNAME)-$(notdir $(CXX) )
Thanks to John Mulhern <9107@mn3.lawson.lawson.com> for this.
Wed Aug 05 14:53:18 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Strategies_T.cpp (connect_svc_handler): When using this
method, the user was required to pass us a zero for the
svc_handler. We would either find them a non-busy one, or will
create a new one.
Unfortunately, the svc_handler lookup was taking too long.
Therefore, the following change was made to the
connect_svc_handler algorithm: the user is now allowed to pass
in the svc_handler that they used last as a "hint". The
algorithm first checks to see if the "hint" svc_handler is
connected to the correct address and is recyclable. If it is,
then it recycles the "hint" svc_handler and gives it back to the
user. This should improve the lookups in most cases.
* ace/Svc_Handler.cpp (recycling_act): Added accessor to get the
<recycling_act_>.
* tests/Conn_Test.cpp (idle): Added method so that we can tell
when a Svc_Handler is being set to idle. Also changed the test
so that it can use the new "hint" mechanism in the cached
connector.
Wed Aug 5 16:12:34 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Log_Msg.cpp: Replaced usage of ACE_OS::thr_* with
ACE_Thread::*. Thanks to Arturo Montes
<mitosys@colomsat.net.co> for sending the patches.
Wed Aug 5 11:07:12 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Service_Manager: Cleaned up the documentation and formatting
a bit.
* ace/Message_Queue_T.i: Changed the computation of is_empty_i()
so that it's
return this->cur_bytes_ <= this->low_water_mark_ || this->cur_count_ <= 0;
i.e., we use an || rather than a &&. Thanks to Umar for
reporting this.
* ace/Message_Queue_T.i: Changed the computation of is_empty_i() so
that it doesn't consider the queue to be empty unless the
cur_bytes_ <= the low_water_mark_ (which defaults to 0 so that
no existing code is affected). This change makes it possible
for producer/consumer threading applications to avoid the "silly
window syndrome." Thanks to Umar Syyid <usyyid@hns.com> for
suggesting this.
Wed Aug 05 00:10:27 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/OS.i (strnstr (both Unicode and Multibyte versions)):
* ace/SString.cpp (strstr):
Fixed "off by one error" in searching algorithm. Thanks to
Byron Harris <harris_b@ociweb.com> for pointing this out.
* tests/SString_Test.cpp (main): Added new test cases.
Tue Aug 4 21:56:16 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/TSS_Test.cpp:
* examples/Thread/thread_specific.cpp: Replaced ACE_OS::thr_* with
ACE_Thread::*. Thanks to Arturo Montes
<mitosys@colomsat.net.co> for sending the patches.
Tue Aug 4 18:44:54 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
* ACE-INSTALL.html:
Updated the file to recommend the creation of config.h as a
regular file that includes the appropriate platform config file,
instead of setting it to be a symlink. This is more flexible and
allows the user to redefine some of the ACE configuration
parameters.
* ace/config-linux-common.h:
As an example of the above, now the user can #define
ACE_HAS_IP_MULTICAST in his config.h file to 0, and he won't be
using multicast under linux. This is clearer than having to edit
the config-linux-common.h file, which will now respect the user's
settings (if any)..
Tue Aug 4 17:39:12 1998 Steve Huston <shuston@riverace.com>
* ace/ACE_Library.{mak mdp}: Added TP_Reactor.cpp to the project.
* tests/Aio_Platform_Test.cpp: Don't try to sysconf() for the AIO
values if there's no chance of AIO on the system (_POSIX_ASYNC_IO
not defined at compile time).
* examples/OS/Process/Process.dsp: Link against ace.lib for Release,
aced.lib for Debug (these were reversed).
Tue Aug 4 12:09:51 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/OS.h: Clarified the fact that the ACE_DEFAULT_MUITCAST_ADDR
must be within the range for host group addresses: 224.0.0.0 to
239.255.255.255. Thanks to Christa Schwanninger
<christa.schwanninger@mchp.siemens.de> for reporting this.
Tue Aug 04 11:01:18 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* bin/GenExportH.BAT: Moved from TAO/TAO_IDL/.
* ace/Token.{h,cpp} (signal_all_threads): Added this method which
changes the return values of all acquire method to 2. The last
thread waiting for the token will reset the signal state
(therefore, there's NO cancel_signal_all_threads method.)
(shared_acquire): Return 2 if the token is signaled after
acquiring the token successfully.
(release): If the token is signaled and there's no other thread
waiting to acquire the token, reset the signal state.
* ace/TP_Reactor.{h,i,cpp} (wakeup_all_threads): Added
implementation for this virtual function. It "signals" the
token threads are waiting on and wake them up by notifying the
reactor.
(handle_events): Check to see if the reactor token is signaled
after acquiring it. If the the token is signaled, it will not
proceed to handle events (by calling select) but instead return
successfully. This allow the thread the chance to check if it's
time to shut down the event loop.
Mon Aug 3 17:53:48 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
* performance-tests/Makefile:
* performance-tests/Misc/basic_func.cpp:
* performance-tests/Misc/basic_perf.cpp:
* performance-tests/Misc/childbirth_time.cpp:
* performance-tests/Misc/context_switch_time.cpp:
* performance-tests/Misc/preempt.cpp:
* performance-tests/Misc/test_mutex.cpp:
* performance-tests/Misc/test_naming.cpp:
* performance-tests/Misc/test_singleton.cpp:
* performance-tests/Synch-Benchmarks/Benchmark_Base.cpp:
* performance-tests/Synch-Benchmarks/Benchmark_Performance.cpp:
* performance-tests/Synch-Benchmarks/Options.cpp:
* performance-tests/Synch-Benchmarks/Performance_Test.cpp:
* performance-tests/Synch-Benchmarks/condb_test.cpp:
* performance-tests/Synch-Benchmarks/conds_test.cpp:
* performance-tests/Synch-Benchmarks/context_test.cpp:
* performance-tests/Synch-Benchmarks/memory_test.cpp:
* performance-tests/Synch-Benchmarks/mutex_test.cpp:
* performance-tests/Synch-Benchmarks/pipe_proc_test.cpp:
* performance-tests/Synch-Benchmarks/pipe_thr_test.cpp:
* performance-tests/Synch-Benchmarks/recursive_lock_test.cpp:
* performance-tests/Synch-Benchmarks/rwrd_test.cpp:
* performance-tests/Synch-Benchmarks/rwwr_test.cpp:
* performance-tests/Synch-Benchmarks/sema_test.cpp:
* performance-tests/Synch-Benchmarks/synch_driver.cpp:
* performance-tests/Synch-Benchmarks/sysvsema_test.cpp:
* performance-tests/Synch-Benchmarks/token_test.cpp:
* performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp:
* performance-tests/TTCP/C/new-ttcp.cpp:
* performance-tests/TTCP/ORBeline/ttcp_i.cpp:
* performance-tests/TTCP/Orbix/ttcpC.cpp:
* performance-tests/TTCP/Orbix/ttcpS.cpp:
* performance-tests/TTCP/Orbix/ttcp_i.cpp:
* performance-tests/UDP/udp_test.cpp:
Added ACE_RCSID to these files.
Sun Aug 2 19:43:04 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* tests/Reactor_Performance_Test.cpp: Made a change suggested by
Irfan to allow this test to work in Windows 95.
Sat Aug 1 20:35:32 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace:
include/makeinclude:
Added new config/platform files for SCO. These files enable the
following:
- TAO_IDL work newly in SCO OpenServer.
- Fixed a compilation problem with EventService in TAO.
- Fixed a problem with ACE and TAO shared libraries.
- Some test with TSS_Emulation and recent changes in Thread_Manager.
Thanks to Arturo for these changes.
Sat Aug 01 13:34:12 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/OS.i (flock_wrlock): LockFileEx() and UnLockFileEx() are not
implemented on Win32. Therefore, the flock methods were changed
to use the non-Ex versions on Win95. Thanks to XuYifeng
<xuyf@pop.zg169.net> for pointing this out.
While making the changes, I found that there were a couple bugs
in the code: (a) the <whence> parameter was being ignored and
(b) the adjustment for <len> == 0 was incorrect. I think I have
fixed both of these also in ACE_OS::adjust_flock_params().
One last thing: I changed flock_unlock() to use UnLockFile()
instead of UnLockFileEx(). UnLockFileEx() is also not supported
on Win95. Hopefully, it is ok to lock with LockFileEx() and
unlock with UnLockFile() instead of UnLockFileEx().
* ace/OS.cpp (pread): Changed bytes_written to bytes_read.
Fri Jul 31 23:47:50 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* bin/auto_compile:
We now run several on-button tests in TAO, though it is still
hard to detect any errors.
Fri Jul 31 21:33:22 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Select_Reactor.cpp (open): Changed the code to ignore the
return value from ACE::set_handle_limit(). Thanks to Zheng Han
<zhan@glenvan.glenayre.com> for reporting this and to Arturo for
suggesting the fix.
* ace/ARGV.cpp: Enhanced the implemenation of string_to_array() so
that it should always work correctly even if there are a large
number of bytes in the original buf string.
* ace/ARGV.cpp: Renamed string_to_array() to string_to_argv(),
which is more intuitive.
* ace/OS.h: Added a new macro called ACE_DEFAULT_ARGV_BUFSIZ,
which is used as the default size of all the "argv" contents in
ACE_ARGV. This defaults to 4 kbytes.
Fri Jul 31 19:55:10 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
* netsvcs/clients/Logger/direct_logging.cpp:
* netsvcs/clients/Logger/indirect_logging.cpp:
* netsvcs/clients/Naming/Client/Client_Test.cpp:
* netsvcs/clients/Naming/Client/main.cpp:
* netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp:
* netsvcs/clients/Naming/Dump_Restore/createfile.cpp:
* netsvcs/clients/Naming/Dump_Restore/main.cpp:
* netsvcs/clients/Tokens/collection/collection.cpp:
* netsvcs/clients/Tokens/collection/rw_locks.cpp:
* netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp:
* netsvcs/clients/Tokens/invariant/invariant.cpp:
* netsvcs/clients/Tokens/manual/manual.cpp:
* netsvcs/clients/Tokens/mutex/test_mutex.cpp:
* netsvcs/clients/Tokens/rw_lock/rw_locks.cpp:
* netsvcs/lib/Base_Optimizer.cpp:
* netsvcs/lib/Client_Logging_Handler.cpp:
* netsvcs/lib/Log_Message_Receiver.cpp:
* netsvcs/lib/Logging_Strategy.cpp:
* netsvcs/lib/Name_Handler.cpp:
* netsvcs/lib/Server_Logging_Handler.cpp:
* netsvcs/lib/Server_Logging_Handler_T.cpp:
* netsvcs/lib/TS_Clerk_Handler.cpp:
* netsvcs/lib/TS_Server_Handler.cpp:
* netsvcs/lib/Token_Handler.cpp:
* netsvcs/servers/main.cpp:
Added ACE_RCSID to these files.
Fri Jul 31 19:15:58 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/OS.cpp (pwrite and pread): There were many bugs in these two
methods.
- It was assumed that it is ok to call WriteFile/ReadFile with
an OVERLAPPED structure. This is not true on Windows95.
Therefore, code had to be added to make sure that on
Windows95, WriteFile and ReadFile were called without an
OVERLAPPED struct.
- We were assuming that if we used the OVERLAPPED struct, the
file pointer would not move. It turns out that the OVERLAPPED
struct has nothing with whether the file pointer moves or not.
It has to do with whether the file was opened with
FILE_FLAG_OVERLAPPED or not. Since it is not possible to
figure whether the file handle we got was opened with this
flag or not, we have to program defensively and reset the file
pointer in any case.
- Also the !ACE_HAS_P_READ_WRITE implementation was not
restoring the file pointer to its original position. This was
also fixed.
Fri Jul 31 18:33:39 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
* apps/Gateway/Gateway/Concrete_Connection_Handlers.cpp:
* apps/Gateway/Gateway/Config_Files.cpp:
* apps/Gateway/Gateway/Connection_Handler.cpp:
* apps/Gateway/Gateway/Connection_Handler_Acceptor.cpp:
* apps/Gateway/Gateway/Connection_Handler_Connector.cpp:
* apps/Gateway/Gateway/Event_Channel.cpp:
* apps/Gateway/Gateway/Event_Forwarding_Discriminator.cpp:
* apps/Gateway/Gateway/File_Parser.cpp:
* apps/Gateway/Gateway/Gateway.cpp:
* apps/Gateway/Gateway/Options.cpp:
* apps/Gateway/Gateway/gatewayd.cpp:
* apps/Gateway/Peer/Options.cpp:
* apps/Gateway/Peer/Peer.cpp:
* apps/Gateway/Peer/peerd.cpp:
* apps/Orbix-Examples/Event_Comm/Consumer/Input_Handler.cpp:
* apps/Orbix-Examples/Event_Comm/Consumer/Notification_Receiver_Handler.cpp:
* apps/Orbix-Examples/Event_Comm/Consumer/consumer.cpp:
* apps/Orbix-Examples/Event_Comm/Supplier/Input_Handler.cpp:
* apps/Orbix-Examples/Event_Comm/Supplier/Notifier_Handler.cpp:
* apps/Orbix-Examples/Event_Comm/Supplier/supplier.cpp:
* apps/Orbix-Examples/Event_Comm/libsrc/Event_CommC.cpp:
* apps/Orbix-Examples/Event_Comm/libsrc/Event_CommS.cpp:
* apps/Orbix-Examples/Event_Comm/libsrc/Notification_Receiver_i.cpp:
* apps/Orbix-Examples/Event_Comm/libsrc/Notifier_i.cpp:
* apps/Orbix-Examples/Logger/Logger.cpp:
* apps/Orbix-Examples/Logger/client.cpp:
* apps/Orbix-Examples/Logger/loggerS.cpp:
* apps/Orbix-Examples/Logger/logger_i.cpp:
* apps/Orbix-Examples/Logger/server.cpp:
Added ACE_RCSID to these files.
Fri Jul 31 17:50:01 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
* ace/TP_Reactor.cpp:
Added ACE_RCSID to this file, and all the .cpp files in examples,
listed below.
* examples/ASX/CCM_App/CCM_App.cpp:
* examples/ASX/CCM_App/SC_Client.cpp:
* examples/ASX/CCM_App/SC_Server.cpp:
* examples/ASX/Event_Server/Event_Server/Consumer_Router.cpp:
* examples/ASX/Event_Server/Event_Server/Event_Analyzer.cpp:
* examples/ASX/Event_Server/Event_Server/Options.cpp:
* examples/ASX/Event_Server/Event_Server/Peer_Router.cpp:
* examples/ASX/Event_Server/Event_Server/Supplier_Router.cpp:
* examples/ASX/Event_Server/Event_Server/event_server.cpp:
* examples/ASX/Event_Server/Transceiver/transceiver.cpp:
* examples/ASX/Message_Queue/bounded_buffer.cpp:
* examples/ASX/Message_Queue/buffer_stream.cpp:
* examples/ASX/Message_Queue/priority_buffer.cpp:
* examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp:
* examples/ASX/UPIPE_Event_Server/Event_Analyzer.cpp:
* examples/ASX/UPIPE_Event_Server/Options.cpp:
* examples/ASX/UPIPE_Event_Server/Peer_Router.cpp:
* examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp:
* examples/ASX/UPIPE_Event_Server/event_server.cpp:
* examples/CORBA/Test_i.cpp:
* examples/CORBA/client.cpp:
* examples/CORBA/server.cpp:
* examples/Connection/blocking/SPIPE-acceptor.cpp:
* examples/Connection/blocking/SPIPE-connector.cpp:
* examples/Connection/blocking/test_spipe_acceptor.cpp:
* examples/Connection/blocking/test_spipe_connector.cpp:
* examples/Connection/misc/Connection_Handler.cpp:
* examples/Connection/misc/test_upipe.cpp:
* examples/Connection/non_blocking/CPP-acceptor.cpp:
* examples/Connection/non_blocking/CPP-connector.cpp:
* examples/Connection/non_blocking/test_lsock_acceptor.cpp:
* examples/Connection/non_blocking/test_lsock_connector.cpp:
* examples/Connection/non_blocking/test_sock_acceptor.cpp:
* examples/Connection/non_blocking/test_sock_connector.cpp:
* examples/Connection/non_blocking/test_spipe_acceptor.cpp:
* examples/Connection/non_blocking/test_spipe_connector.cpp:
* examples/Connection/non_blocking/test_tli_acceptor.cpp:
* examples/Connection/non_blocking/test_tli_connector.cpp:
* examples/IOStream/client/iostream_client.cpp:
* examples/IOStream/server/iostream_server.cpp:
* examples/IPC_SAP/DEV_SAP/reader/reader.cpp:
* examples/IPC_SAP/DEV_SAP/writer/writer.cpp:
* examples/IPC_SAP/FIFO_SAP/FIFO-Msg-client.cpp:
* examples/IPC_SAP/FIFO_SAP/FIFO-Msg-server.cpp:
* examples/IPC_SAP/FIFO_SAP/FIFO-client.cpp:
* examples/IPC_SAP/FIFO_SAP/FIFO-server.cpp:
* examples/IPC_SAP/FIFO_SAP/FIFO-test.cpp:
* examples/IPC_SAP/FILE_SAP/client.cpp:
* examples/IPC_SAP/SOCK_SAP/C-inclient.cpp:
* examples/IPC_SAP/SOCK_SAP/C-inserver.cpp:
* examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp:
* examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp:
* examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp:
* examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp:
* examples/IPC_SAP/SOCK_SAP/CPP-unclient.cpp:
* examples/IPC_SAP/SOCK_SAP/CPP-unserver.cpp:
* examples/IPC_SAP/SOCK_SAP/FD-unclient.cpp:
* examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp:
* examples/IPC_SAP/SPIPE_SAP/NPClient.cpp:
* examples/IPC_SAP/SPIPE_SAP/NPServer.cpp:
* examples/IPC_SAP/SPIPE_SAP/client.cpp:
* examples/IPC_SAP/SPIPE_SAP/consumer_msg.cpp:
* examples/IPC_SAP/SPIPE_SAP/consumer_read.cpp:
* examples/IPC_SAP/SPIPE_SAP/producer_msg.cpp:
* examples/IPC_SAP/SPIPE_SAP/producer_read.cpp:
* examples/IPC_SAP/SPIPE_SAP/server.cpp:
* examples/IPC_SAP/TLI_SAP/CPP-client.cpp:
* examples/IPC_SAP/TLI_SAP/CPP-server.cpp:
* examples/IPC_SAP/TLI_SAP/db-client.cpp:
* examples/IPC_SAP/TLI_SAP/db-server.cpp:
* examples/IPC_SAP/TLI_SAP/ftp-client.cpp:
* examples/IPC_SAP/TLI_SAP/ftp-server.cpp:
* examples/IPC_SAP/UPIPE_SAP/ex1.cpp:
* examples/IPC_SAP/UPIPE_SAP/ex2.cpp:
* examples/IPC_SAP/UPIPE_SAP/ex3.cpp:
* examples/Log_Msg/test_log_msg.cpp:
* examples/Logger/Acceptor-server/server_loggerd.cpp:
* examples/Logger/client/logging_app.cpp:
* examples/Logger/simple-server/Logging_Acceptor.cpp:
* examples/Logger/simple-server/Logging_Handler.cpp:
* examples/Logger/simple-server/server_loggerd.cpp:
* examples/Map_Manager/test_hash_map_manager.cpp:
* examples/Mem_Map/IO-tests/IO_Test.cpp:
* examples/Mem_Map/IO-tests/test_io.cpp:
* examples/Mem_Map/file-reverse/file-reverse.cpp:
* examples/Misc/test_XtReactor1.cpp:
* examples/Misc/test_XtReactor2.cpp:
* examples/Misc/test_dump.cpp:
* examples/Misc/test_get_opt.cpp:
* examples/Misc/test_profile_timer.cpp:
* examples/Misc/test_read_buffer.cpp:
* examples/Misc/test_set.cpp:
* examples/Misc/test_sstring.cpp:
* examples/Misc/test_trace.cpp:
* examples/Naming/test_multiple_contexts.cpp:
* examples/Naming/test_non_existent.cpp:
* examples/Naming/test_open.cpp:
* examples/Naming/test_writers.cpp:
* examples/OS/Process/imore.cpp:
* examples/OS/Process/process.cpp:
* examples/Reactor/Dgram/CODgram.cpp:
* examples/Reactor/Dgram/Dgram.cpp:
* examples/Reactor/FIFO/client.cpp:
* examples/Reactor/FIFO/server.cpp:
* examples/Reactor/Misc/notification.cpp:
* examples/Reactor/Misc/pingpong.cpp:
* examples/Reactor/Misc/test_demuxing.cpp:
* examples/Reactor/Misc/test_event_handler_t.cpp:
* examples/Reactor/Misc/test_reactors.cpp:
* examples/Reactor/Misc/test_signals_1.cpp:
* examples/Reactor/Misc/test_signals_2.cpp:
* examples/Reactor/Misc/test_time_value.cpp:
* examples/Reactor/Misc/test_timer_queue.cpp:
* examples/Reactor/Multicast/Log_Wrapper.cpp:
* examples/Reactor/Multicast/client.cpp:
* examples/Reactor/Multicast/server.cpp:
* examples/Reactor/Ntalker/ntalker.cpp:
* examples/Reactor/Proactor/test_multiple_loops.cpp:
* examples/Reactor/Proactor/test_proactor.cpp:
* examples/Reactor/Proactor/test_proactor_with_aio.cpp:
* examples/Reactor/Proactor/test_timeout.cpp:
* examples/Reactor/ReactorEx/test_abandoned.cpp:
* examples/Reactor/ReactorEx/test_apc.cpp:
* examples/Reactor/ReactorEx/test_console_input.cpp:
* examples/Reactor/ReactorEx/test_directory_changes.cpp:
* examples/Reactor/ReactorEx/test_exceptions.cpp:
* examples/Reactor/ReactorEx/test_multithreading.cpp:
* examples/Reactor/ReactorEx/test_network_events.cpp:
* examples/Reactor/ReactorEx/test_prerun_state_changes.cpp:
* examples/Reactor/ReactorEx/test_registration.cpp:
* examples/Reactor/ReactorEx/test_registry_changes.cpp:
* examples/Reactor/ReactorEx/test_removals.cpp:
* examples/Reactor/ReactorEx/test_talker.cpp:
* examples/Reactor/ReactorEx/test_timeouts.cpp:
* examples/Reactor/ReactorEx/test_window_messages.cpp:
* examples/Registry/test_registry_iterator.cpp:
* examples/Registry/test_registry_update.cpp:
* examples/Service_Configurator/IPC-tests/client/broadcast_client_test.cpp:
* examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp:
* examples/Service_Configurator/IPC-tests/client/local_fifo_client_test.cpp:
* examples/Service_Configurator/IPC-tests/client/local_pipe_client_test.cpp:
* examples/Service_Configurator/IPC-tests/client/local_spipe_client_test.cpp:
* examples/Service_Configurator/IPC-tests/client/local_stream_client_test.cpp:
* examples/Service_Configurator/IPC-tests/client/remote_dgram_client_test.cpp:
* examples/Service_Configurator/IPC-tests/client/remote_service_directory_test.cpp:
* examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp:
* examples/Service_Configurator/IPC-tests/client/remote_thr_stream_client_test.cpp:
* examples/Service_Configurator/IPC-tests/server/Handle_Broadcast.cpp:
* examples/Service_Configurator/IPC-tests/server/Handle_L_CODgram.cpp:
* examples/Service_Configurator/IPC-tests/server/Handle_L_Dgram.cpp:
* examples/Service_Configurator/IPC-tests/server/Handle_L_FIFO.cpp:
* examples/Service_Configurator/IPC-tests/server/Handle_L_Pipe.cpp:
* examples/Service_Configurator/IPC-tests/server/Handle_L_SPIPE.cpp:
* examples/Service_Configurator/IPC-tests/server/Handle_L_Stream.cpp:
* examples/Service_Configurator/IPC-tests/server/Handle_R_Dgram.cpp:
* examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.cpp:
* examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp:
* examples/Service_Configurator/IPC-tests/server/Handle_Timeout.cpp:
* examples/Service_Configurator/IPC-tests/server/server_test.cpp:
* examples/Service_Configurator/Misc/Timer_Service.cpp:
* examples/Service_Configurator/Misc/main.cpp:
* examples/Shared_Malloc/Malloc.cpp:
* examples/Shared_Malloc/Options.cpp:
* examples/Shared_Malloc/test_malloc.cpp:
* examples/Shared_Malloc/test_multiple_mallocs.cpp:
* examples/Shared_Malloc/test_persistence.cpp:
* examples/Shared_Memory/test_MM.cpp:
* examples/Shared_Memory/test_SV.cpp:
* examples/System_V_IPC/SV_Message_Queues/MQ_Client.cpp:
* examples/System_V_IPC/SV_Message_Queues/MQ_Server.cpp:
* examples/System_V_IPC/SV_Message_Queues/TMQ_Client.cpp:
* examples/System_V_IPC/SV_Message_Queues/TMQ_Server.cpp:
* examples/System_V_IPC/SV_Semaphores/Semaphores_1.cpp:
* examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp:
* examples/System_V_IPC/SV_Shared_Memory/SV_Shared_Memory_Test.cpp:
* examples/Threads/auto_event.cpp:
* examples/Threads/barrier1.cpp:
* examples/Threads/barrier2.cpp:
* examples/Threads/cancel.cpp:
* examples/Threads/future1.cpp:
* examples/Threads/future2.cpp:
* examples/Threads/manual_event.cpp:
* examples/Threads/process_manager.cpp:
* examples/Threads/process_mutex.cpp:
* examples/Threads/process_semaphore.cpp:
* examples/Threads/reader_writer.cpp:
* examples/Threads/recursive_mutex.cpp:
* examples/Threads/task_five.cpp:
* examples/Threads/task_four.cpp:
* examples/Threads/task_one.cpp:
* examples/Threads/task_three.cpp:
* examples/Threads/task_two.cpp:
* examples/Threads/thread_manager.cpp:
* examples/Threads/thread_pool.cpp:
* examples/Threads/thread_specific.cpp:
* examples/Threads/token.cpp:
* examples/Threads/tss1.cpp:
* examples/Threads/tss2.cpp:
* examples/Threads/wfmo.cpp:
* examples/Timer_Queue/Async_Timer_Queue_Test.cpp:
* examples/Timer_Queue/Driver.cpp:
* examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp:
* examples/Timer_Queue/Thread_Timer_Queue_Test.cpp:
* examples/Timer_Queue/main_async.cpp:
* examples/Timer_Queue/main_reactor.cpp:
* examples/Timer_Queue/main_thread.cpp:
Fri Jul 31 12:07:16 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/XtReactor.cpp (XtWaitForMultipleEvents): The first select()
is made with the correct width. In XtAppProcessEvent(), the
descriptor set may change, so the underlying handle_max may also
have changed. The second select() is made with an incorrect
value for the width. The solution is to reinitialize width
before calling select() again. Thanks to J-M Strauss
<strauss@limeil.cea.fr> for suggesting this change.
Fri Jul 31 11:18:24 1998 Steve Huston <shuston@riverace.com>
* ACE-INSTALL.html: Removed the direction to set global include/library
paths in MSVC 4.2.
Fri Jul 31 08:23:14 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Misc/test_XtReactor[12].cpp: Updated these files so
they will work correctly with the "new" Reactor structure. Boy,
it's been a long time since anyone actually tried to use this
stuff... ;-) Thanks to J-M Strauss <strauss@limeil.cea.fr> for
reporting this.
Thu Jul 30 21:25:31 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Svc_Conf_y.cpp: This file didn't get patched with our
routine patch. Applied $ACE_ROOT/Svc_Conf_y.cpp.diff manually.
This change eliminates some warnings from g++.
Thu Jul 30 19:03:12 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Timer_Queue/Thread_Timer_Queue_Test.h: Changed the type
to class Thread_Timer_Queue_Test_Driver from
Timer_Queue_Test_Driver <Thread_Timer_Queue, Input_Task,
Input_Task::ACTION> to work around a bug with MSVC++. Thanks to
Gonzo for pointing this out.
* examples/Connection/blocking/SPIPE-{connector,acceptor}.cpp:
Added #include "ace/Proactor.h". Thanks to Gonzo for reporting
this.
Thu Jul 30 17:54:14 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/test_config.h: Added /**/ between #include and <condefs.h>
to avoid MSVC warnings.
* tests/WinCE/ce_tests.dsw: Renamed project
Message_Queue_Notifications_Test to MsgQueue_Notifications_Test.
* tests/WinCE/Reactor_Performance_Test.dsp: This project file was
somehow missing.
* tests/TSS_Test.cpp:
* tests/Reader_Writer_Test.cpp:
* tests/Message_Queue_Test.cpp: Added numerous ASYS_TEXT macros to
make sure we use the right strings on CE.
Thu Jul 30 14:56:59 1998 Gonzalo A. Diethelm <gonzo@cs.wustl.edu>
* ace/ACE.h:
* ace/ACE.cpp:
* ace/Event_Handler.h:
* ace/Event_Handler.cpp:
Moved the following static functions:
register_stdin_handler
remove_stdin_handler
read_adapter
from class ACE to class ACE_Event_Handler. That breaks a
dependency from ACE to higher-level classes.
* netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp:
* netsvcs/clients/Naming/Client/Client_Test.cpp:
* examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp:
* examples/Timer_Queue/Async_Timer_Queue_Test.dsp:
* examples/Timer_Queue/Reactor_Timer_Queue_Test.dsp:
* examples/Timer_Queue/Thread_Timer_Queue_Test.dsp:
* examples/Reactor/Ntalker/ntalker.cpp:
* examples/Reactor/Misc/test_demuxing.cpp:
* examples/Reactor/Misc/notification.cpp:
* examples/Connection/blocking/SPIPE-connector.cpp:
* examples/ASX/UPIPE_Event_Server/event_server.cpp:
* examples/ASX/Event_Server/Transceiver/transceiver.cpp:
* examples/ASX/Event_Server/Event_Server/event_server.cpp:
* apps/Gateway/Peer/Peer.cpp:
* apps/Gateway/Gateway/Gateway.cpp:
All these were modified by the above change.
* ace/OS.h:
* ace/OS.i:
Added a strnew function that works as strdup but uses new instead
of malloc to allocate memory.
Thu Jul 30 16:54:20 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.26 released.
Thu Jul 30 13:01:12 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Task.h (ACE_Task_Base): Changed the spelling of
ACE_Task_Exit to ACE_Thread_Exit, which is correct.
Thanks to Daniel Winder <Daniel.Winder@cern.ch> for
reporting this.
Thu Jul 30 08:43:41 1998 Steve Huston <shuston@riverace.com>
* tests/tests.(mdp mak): Made include and library paths relative.
Thu Jul 30 02:22:49 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Synch_T.cpp (ts_init): Casted away constness of key_.
Changed to cast away constness of the pointer to once_.
Thu Jul 30 01:12:30 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/TP_Reactor.i (notify_handle): Added an ASYS_TEXT where it
was missing. Thanks to Dieter Quehl for reporting this.
* ace/Synch_T.cpp: It wasn't possible to call ts_object() to set
an initial zero pointer value. The solution is to give
ts_object() the same ability to initialize the key as ts_get().
I also factored out some common code into a new method called
ts_init(). Thanks to Bob McWhirter <bob@netwrench.com> for
reporting this.
Wed Jul 29 23:58:04 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Reactor/Ntalker: Added a README file and made some
stylistic changes to the ntalker.cpp example.
Wed Jul 29 18:38:17 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.25 released.
Wed Jul 29 17:46:21 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Task_T.h: Updated documentation to explain that
ACE_Time_Values are ABSOLUTE rather than relative. Thanks to
James Johnson for reporting this.
Wed Jul 29 16:05:16 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* bin/Process_Unix.pm:
Use SIGTERM instead of SIGHUP to kill a process, it is the Right
Thing and SIGHUP will not work in some cases because it is usual
to catch this signal.
Wed Jul 29 14:04:49 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Asynch_Acceptor.cpp (open): Added
<number_of_initial_accepts> as an extra parameter to
open(). <number_of_initial_accepts> is the number of
asynchronous accepts that are started at the end of <open>. If
<number_of_initial_accepts> is -1, then
<number_of_initial_accepts> is set to <backlog> and hence
<backlog> number of asynchronous accepts are started.
(get_handle): New method to get the underlying handle.
(set_handle): New method to set the underlying listen handle. It
is the user's responsibility to make sure that the old listen
handle has been appropriately closed and the all outstanding
asynchronous operations have either completed or have been
canceled on the old listen handle.
Wed Jul 29 12:49:09 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Makefile (FILES): Added TP_Reactor to the build list.
Updated dependency.
* ace/TP_Reactor.{h,i} (handle_events,notify_handler): Added two
dummy methods to avoid warnings from SunCC. Thanks to Carlos
for noticing this.
Wed Jul 29 09:41:23 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-linux-common.h: added #define
ACE_DEFAULT_SELECT_REACTOR_SIZE 256 so that the
ACE_Select_Reactor works with this fix:
if (size > (size_t) ACE::max_handles ())
return ACE::set_handle_limit (size);
On Linux (2.0.34), only root can set RLIMIT_NOFILE above 256.
Wed Jul 29 04:19:05 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* Integrate TP_Reactor into ACE. Major framwork designed by
Irfan. Here's his changelog:
* ace/TP_Reactor.h (ACE_TP_Reactor): One of the short comings of
the Select_Reactor in ACE was that it did not support a thread
pool based event dispatching model, similar to the one in
WFMO_Reactor. In Select_Reactor, only thread can be blocked
in handle_events() at any given time.
A new Reactor has been added to ACE that removes this
short-coming. TP_Reactor is a specialization of Select
Reactor to support thread-pool based event dispatching. This
Reactor takes advantage of the fact that events reported by
select() are persistent if not acted upon immediately. It
works by remembering the event handler that just got
activated, releasing the internal lock (so that some other
thread can start waiting in the event loop) and then
dispatching the event handler outside the context of the
Reactor lock.
This Reactor is best suited for situations when the callbacks
to event handlers can take arbitrarily long and/or a number of
threads are available to run the event loops.
Note that callback code in Event Handlers
(e.g. Event_Handler::handle_input) does not have to be
modified or made thread-safe for this Reactor. This is
because an activated Event Handler is suspended in the Reactor
before the upcall is made and resumed after the upcall
completes. Therefore, one Event Handler cannot be called by
multiple threads simultaneously.
* ace/Reactor.cpp (ACE_Reactor):
ACE_USE_TP_REACTOR_FOR_REACTOR_IMPL can be used to make the
TP_Reactor the default Reactor implementation that will be
used by ACE_Reactor.
I still need to add the reliable shutdown method and a
TP_Reactor_Test.
* ace/Select_Reactor.{h,i,cpp} (renew): Moved decision of renew
supression from ACE_Select_Reactor_Notify::handle_input to this
method, which is a more appropriate place.
* ace/Token.h (ACE_Token): Added more comprehensive comments about
the recent changes of reader/writer semantic.
Tue Jul 28 12:36:18 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Service_Config.cpp (~ACE_Service_Config): Removed the call
to ACE_Service_Config::close () from the destructor. This will
be called by the Object Manager upon destruction.
Tue Jul 28 11:34:15 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.{h,i} (strpbrk): Added a const wchar_t version of this
function. Thanks to Ivan Murphy <Ivan.Murphy@med.siemens.de>
for providing the fix.
Tue Jul 28 09:52:08 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Thread_Manager.cpp (exit): only declare local close_handle
if ACE_USE_ONE_SHOT_AT_THREAD_EXIT. (ACE_Thread_Descriptor):
reordered initializers to match declaration order.
* ace/Dynamic.cpp,Thread_Manager.cpp: moved
ACE_TSS_Singleton<ACE_Dynamic, ACE_Null_Mutex> instantiation
from Thread_Manager.cpp to Dynamic.cpp.
Mon Jul 27 16:31:27 1998 Arturo Montes <mitosys@colomsat.net.co>
* ace/Thread_Manager.{h,i,cpp}:
* ace/Log_Msg.cpp: The Thread_Manager::at_exit method now provides a
list of at_exit functions to be invoked to at thread termination
code. If you want to maintain previous compatibility use
ACE_USE_ONE_SHOT_AT_THREAD_EXIT. The new code maintaing
compatibility with the old code, ACE_Task::svc_run has not been
altered.
We resolve a problem with ACE_TSS_cleanup, some platform using
Thread_Manager could be experimenting memory corruption because
of ACE_TSS_cleanup was being invoked before Thread_Manager exit
code. Now, if ACE_TSS_cleanup is called before of Thread_Manager
exit code, ACE_TSS_cleanup delegate ACE_Log_Msg delete instance
to Thread_Descriptor.
Really, at_exit code is implemented in ACE_Thread_Descriptor, I
strongly recommend use at_exit code from Thread_Descriptor,
however in ACE_Thread_Manager we provide at_exit hook.
Use of at_exit(void* object,ACE_CLEANUP_FUNC cleanup_hook,void*
param) is deprecated. We maitain it for compatibility and it
will be forever, however if you want implement new at_exit hook,
look into Thread_Manager.h and specialize ACE_At_Thread_Exit
class for your needs.
If you want to allocate an ACE_At_Thread_Exit hook in stack, you
can do it. The at_exit code use at_exit overloading to take care
of this. Equally dynamic creation of at_exit hook is supported
too.
Mon Jul 27 14:25:15 1998 Chris Gill <cdgill@cs.wustl.edu>
* tests/Dynamic_Priority_Test.cpp: Changed C-Style casts to
ACE_static_casts, documented argument structure members
Mon Jul 27 12:23:55 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Select_Reactor.cpp (open): Changed a erroneous comparison
to
if (size > (size_t) ACE::max_handles ())
return ACE::set_handle_limit (size);
Thanks to Avi Nash <anash@RedBrick.COM> for reporting this.
Sat Jul 25 20:26:21 1998 Steve Huston <shuston@riverace.com>
* ace/SPIPE_Acceptor.(h cpp): Modified Win32 part to start the
ConnectNamedPipe at open() time, in overlapped mode. Now also
processes the timeout in accept(), if specified.
Sat Jul 25 16:18:30 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Malloc_T.i (addr):
Sun/CC does not like a reinterpret cast here, but only when T is
a char[20]. Use a couple of static casts and added a comment.
Sat Jul 25 11:34:25 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Typed_SV_Message_Queue.i (send): Fixed this call to use a
const cast AND a reinterpret cast. Thanks to David Levine for
reporting this.
Fri Jul 24 23:14:09 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Threads/thread_specific.cpp (cleanup): Added an
ACE_reinterpret_cast(). Thanks to John Mulhern
<9107@mn3.lawson.lawson.com> for this.
* ace/Typed_SV_Message_Queue.i: Added some necessary
ACE_reinterpret_cast()s. Thanks to John Mulhern
<9107@mn3.lawson.lawson.com> for this.
* ace/Malloc_T.i (addr): Changed (T *) cast to
ACE_reinterpret_cast(). Thanks to John Mulhern
<9107@mn3.lawson.lawson.com> for this.
* ace/SOCK_Dgram_Bcast.cpp: Added an ACE_reinterpret_cast() macro
to make the HP/UX 11 C++ compiler happy. Thanks to John Mulhern
<9107@mn3.lawson.lawson.com> for this.
* ace/config-hpux11.h: Added ACE_HAS_BROKEN_XTI_MACROS and
ACE_HAS_SIGISMEMBER_BUG.
* ace/OS.i (sigismember): Sigismember works correctly in most
respects but the Sigset_Ops_Test tests the sigismember function
with an out-of-range signal number expecting it to fail with a
minus one result. On HPUX 11.0 it doesn't fail; it correctly
reports that the signal is not in the sigset. This happens
because HP, bless their hearts, thought that it should only
return out of range when the signal value was greater than the
capacity of the sigset; if ACE_NSIG is forced to 257 then the
test works as expected. But the real maximum signal is 45.
Added a fix for this courtesy of John Mulhern
<9107@mn3.lawson.lawson.com>.
* ace/OS.h: Added a workaround for broken XTI header files on
HP/UX. Thanks to John Mulhern <9107@mn3.lawson.lawson.com> for
reporting this.
* tests/Dynamic_Priority_Test.cpp: Reformatted this just a bit.
Fri Jul 24 21:42:39 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.{h,cpp},Message_Block.{h,cpp}: renamed ACE_Time_Value::max
to ACE_Time_Value::max_time, because VxWorks #defines max.
* tests/Message_Queue_Test.cpp: rearranged declarations so
that the test will build on non-threaded platforms.
* tests/Dynamic_Priority_Test.cpp: changed ACE_MT_SYNCH to
ACE_SYNCH, so that we have a chance of building on non-threaded
platforms.
Fri Jul 24 15:15:28 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* Updated the manual pages to reflect recent changes.
* ace/Svc_Conf.h: Change from yyerror (char *) to yyerror (const
char *).
Fri Jul 24 14:36:30 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/OS.{cpp, h} (ACE_Time_Value): Added ACE_Time_Value::max,
for the value at the other end of the time spectrum that can
be represented as a normalized ACE_Time_Value (LONG_MAX seconds,
ACE_ONE_SEC_IN_USECS - 1 microseconds).
* ace/Message_Block.{cpp, h} (ACE_Message_Block): Changed default
parameters so message deadlines default to ACE_Time_Value::max
instead of ACE_Time_Value::zero - this ensures the assigned
static priority order is preserved in a dynamic message queue
if deadlines are not set.
* ace/Message_Queue_T.{cpp, h} (ACE_Dynamic_Message_Queue): Changed
enqueue_tail and enqueue_head to call overloaded enqueue_prio
instead of static message queue base class methods (fixes bug
EC_Multiple_Test uncovered where a tail-enqueued zero length
message is still seen in the queue by the base class, but the
derived dynamic message queue class thinks the queue is empty)
* DOC-way.html: added one on chess and sleep
Fri Jul 24 12:35:12 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Token.{h,cpp}: Fixed warnings from gcc and SunCC.
Fri Jul 24 09:05:24 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.cpp (thr_create): with ACE_HAS_DCE_DRAFT4_THREADS and
ACE_LACKS_SETDETACH (LynxOS and HP/UX 10.x), call
::pthread_detach () on the newly spawned thread. Only do
it if the THR_DETACHED flag is enabled.
* ace/Thread_Manager.cpp (join_thr,wait,wait_grp,wait_task):
with ACE_HAS_DCE_DRAFT4_THREADS and ACE_LACKS_SETDETACH
(LynxOS and HP/UX 10.x), call ::pthread_detach () on joined
threads. Only do it if the THR_DETACHED flag is not enabled.
Thanks to Dave Mayerhoefer <davem@lynx.com> for diagnosing the
lack of ::pthread_detach () calls in ACE.
Fri Jul 24 00:39:47 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/ace_dll.dsp (Message_Queue_T.cpp): This file contains
template definitions and should not be included while building
ACE library.
* ace/config-win32.h (ACE_HAS_NONSTATIC_OBJECT_MANAGER): Use
non-static object manager by default on Win32 (except CE.) This
at least fixed the problem of WSACleanup getting called too late.
To disable this, define ACE_HAS_NONSTATIC_OBJECT_MANAGER to 0.
Thu Jul 23 22:17:41 1998 Arturo Montes <mitosys@colomsat.net.co>
* ace/OS.cpp,Task.cpp,Thread_Manager.cpp: unify the Thread
Adapter use between general ACE threads and threads spawned
with a Thread_Manager.
With this patch we add a new flag: ACE_USE_THREAD_MANAGER_ADAPTER.
If you set this flag in your config file, ACE will use the
ace_thread_manager_adapter in Thread_Manager, matching the current
behaviour. If you omit this flag, ACE will use ace_thread_adapter.
This change save a lot of source code and will let in the future
incorporate ACE_Thread at_exit.
Thu Jul 23 15:30:41 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Token.{h,i,cpp}: On platforms that support timed acquire
semaphores, changed to use semaphores for signaling mechanism
for better performance.
(shared_acquire,renew): Give priority to acquire_write over
acquire_read.
Thu Jul 23 14:05:20 1998 David L. Levine <levine@cs.wustl.edu>
* performance-tests/Misc/context_switch_test.cpp:
helped yield test on VxWorks by timing each yield.
Added half-second delay between outer interations to give
LynxOS (w/ ACE_LACKS_SETDETACH) a chance to cleanup exited threads.
* ace/config-sunos5.5.h: added support for _POSIX_PTHREAD_SEMANTICS.
If it is #defined, then #define ACE_HAS_PTHREADS_1003_DOT_1C
instead of ACE_HAS_STHREADS. Thanks to Doug Anderson
<doug@clark.net> for investigating this and providing the
update.
* ace/High_Res_Timer.cpp (elapsed_time (ACE_hrtime_t &nanoseconds)):
simplified the calculation. Thanks to Tom Dobridge
<dobridge@persimmon.com> for the fix.
Wed Jul 22 19:20:43 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Proactor.h (ACE_Proactor): Since <completion_strategy> is a
valid constructor parameter for all platforms,
POSIX_COMPLETION_STRATEGY should be defined for all platforms.
* ace/Proactor.cpp (ACE_Proactor): Only use the
completion_strategy when ACE_HAS_AIO_CALLS is defined.
* ace/Asynch_IO.cpp (ACE_Asynch_Result): Only delete
this->aiocb_ptr_ when ACE_HAS_AIO_CALLS is defined.
Wed Jul 22 17:58:27 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/OS.h: Updated the comments.
Wed Jul 22 17:55:46 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* performance-tests/Synch-Benchmarks/token_test.cpp: A new test.
Wed Jul 22 17:50:58 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/OS.h: Defiend ACE_SIG_AIO to be SIGRTMIN. This is the only
signal used for all the <Asynch_Operation>s.
Wed Jul 22 17:46:45 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/Asynch_IO.h,Asynch_IO.cpp Proactor.h Proactor.cpp :
First round of changes for sigtimedwait () based approach
of completion querying.
Added one more parameter to the Proactor contructor to
decide the <aio> completion strategy for the POSIX implementation,
either <aiocb> control blocks or the RT signals. The default is RT
signals.
Fixed Transmit file. Proactor's handle_events () is done
with in the ACE_Asynch_Transmit_Handler so that control does not
return to the user's application before the whole file is
transmitted. Otherwise the user's application might start writing
to the same socket and this might change the order of the file
that is being transmitted.
Wed Jul 22 15:51:48 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* performance-tests/Synch-Benchmarks/Benchmark_Base.h
(Benchmark_Method_Base): Passing the test item into pre_run_test
so the thread can be setup correctly. Duh!
* performance-tests/Synch-Benchmarks/Performance_Test.{h,cpp}
(pre_run_test): Added code so that it iterates thru test items
in svc.conf properly. Duh**2!
Wed Jul 22 15:48:25 1998 David L. Levine <levine@cs.wustl.edu>
* ACE version 4.5.24 released.
Wed Jul 22 11:45:44 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* tests/Aio_Platform_Test.cpp: Added <aio_> calls test for
platforms with ACE_HAS_AIO_CALLS defined.
Wed Jul 22 11:32:33 1998 David L. Levine <levine@cs.wustl.edu>
* tests/Dynamic_Priority_Test.cpp: VxWorks only, fixed a few
minor things so that it builds now.
* ace/config-linux-common.h: added ACE_HAS_GPERF.
Tue Jul 21 23:09:31 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* performance-tests/Synch-Benchmarks/{Synch_Tests,synch_driver}.dsp:
Updated proejct source files and renamed debug version dll.
* performance-tests/Synch-Benchmarks/Performance_Test.cpp: Added
ACE_Svc_Export directive.
Tue Jul 21 20:17:31 1998 Steve Huston <shuston@riverace.com>
* ace/ACE_Library.{mdp mak}: Removed ..\STL from include directories.
Tue Jul 21 12:34:11 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/config-lynxos.h: Defined ACE_HAS_AIO_CALLS.
Mon Jul 20 19:35:21 1998 Steve Huston <shuston@riverace.com>
* ace/config-aix-4.1.x.h: Added ACE_LACKS_RLIMIT. Thanks to Zheng
Han <zhan@glenvan.glenayre.com> for finding this problem.
* ace/ACE_Library.{mdp mak}: Set up ".." as an include file directory
so that $ACE_ROOT doesn't have to be added to MSVC's global options.
Allows working on more than one ACE version.
* netsvcs/lib/netsvcs4.{mdp mak}: Made paths to ACE components relative
and made Debug build netsvcsd.dll - this will work with Nanbor's new
DLL search method (from 19-July).
* netsvcs/servers/servers4.{mdp mak}:
* netsvcs/clients/Logger/Logger.{mdp mak}:
Made paths to ACE components relative.
Mon Jul 20 11:12:44 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Object_Manager.{h,cpp}: added ACE_TSS_BASE_LOCK, to
support ACE_HAS_TSS_EMULATION with ACE_USE_NATIVE_KEYS.
* include/makeinclude/rules.lib.GNU: (INSTALL): use += to
define INSTALL instead of =, so that applications' INSTALL
won't be overwritten.
* ace/config-osf1-4.0.h,config-linux-common.h: added
ACE_HAS_GPERF.
Mon Jul 20 11:06:44 1998 Arturo Montes <mitosys@colomsat.net.co>
* ace/OS.*: added support for TSS emulation with Pthreads.
It uses one native TSS key for its internal implementation.
All other TSS keys, both within the ACE library and in
applications, use keys managed by ACE.
To enable, add these #defines to your config.h:
#define ACE_HAS_TSS_EMULATION
#define ACE_USE_NATIVE_KEYS
Sun Jul 19 22:21:17 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.h: added ACE_THROW_SPEC definition.
Sun Jul 19 00:48:42 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/ACE.cpp (ldfind): Re-enabled searching for *d.dll before
*.dll for debug version of ACE. There was a premature return
error in the logic. This is now the default behavior and has to
be disabled explicitly by defining ACE_DISABLE_DEBUG_DLL_CHECK.
Sat Jul 18 22:51:59 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.23 released.
Sat Jul 18 22:48:52 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* There was a typo in the Makefile where CE-status should have
been CE-status.txt. Thanks to Nanbor for fixing this.
Sat Jul 18 22:14:07 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.22 released.
Sat Jul 18 21:11:52 1998 Steve Huston <shuston@riverace.com>
* include/makeinclude/platform_hpux_aCC.GNU: Added +W829 to suppress
"string literal to char * is deprecated". I was going to fix these
in ACE, but TAO just wore me down... ;-)
Sat Jul 18 Michael Kircher <mk1@cs.wustl.edu>
* tests/Upgradable_RW_Test.cpp: Changed the time measurement
completely. Before we meassured end-to-end. Now we meassure
only the time spend in actual doing things. At the end
all the time spend is summarized.
* tests/Upgradable_RW_Test.h: Added this file, which contains
definitions for the test.
Sat Jul 18 19:47:45 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* ace/ACE.cpp: Looks like we are having some trouble with the
loading of *d.dll before *.dll on NT, so it is now disabled
by default (until the problem is solved). To enable use:
ACE_USE_DEBUG_DLL_CHECK.
Sat Jul 18 13:51:49 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* apps/Makefile: Always compile the gperf directory by default
now.
* ace/config-sunos5.5.h: Added a new flag called ACE_HAS_GPERF,
which should be enabled if the OS/compiler platform can compile
GPERF. This will determine if we can use perfect hashing in
TAO!
Sat Jul 18 10:52:49 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
* ace/Svc_Conf_l.cpp:
* ace/Svc_Conf_y.cpp:
Move the Id and added ACE_RCSID.
The #line commands changed their line numbers.
* ace/Svc_Conf.l:
* ace/Svc_Conf.y:
Added an ACE_RCSID, and erased a few white spaces at the end.
* etc/Svc_Conf_l.cpp.diff:
* etc/Svc_Conf_y.cpp.diff:
Got rid of a couple of RCS Ids that were being "replaced" by the
patches. These were probably a maintenance problem and didn't
really add much. I also cleaned up the patches: there were a
couple of useless replacements (lines with white spaces at the
ends, etc.), and some of the line offsets were wrong (but patch
could still catch them with its fuzz factors). Now the patches
apply cleanly.
Sat Jul 18 9:00:00 1998 Douglas C. Schmidt <schmidt@mambo.cs.wustl.edu>
* DCS: Born 36 years ago, at this moment. Yow, I've now become
a "perfect square" ;-)
Fri Jul 17 18:30:10 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Strategies_T.cpp (connect_svc_handler): The activation of
the newly created handler is moved outside the scope of the lock
of the cached connector. This is necessary to avoid subtle
deadlock conditions with this lock and the Reactor lock. Thanks
to Micheal for finding this race condition.
Fri Jul 17 13:53:54 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Threads/barrier2.cpp (ACE_MT_SYNCH>): Cleaned up the
coding style in this example.
* ace/TTY_IO.cpp (control): Added entries for 300 baud. Thanks to
the ever vigilant Arturo Montes <mitosys@colomsat.com.co> for
reporting this.
Fri Jul 17 14:51:55 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* Makefile (CONTROLLED_FILES): Added CE-status to distribution.
Thanks to David for reminding this.
Fri Jul 17 12:48:26 1998 Steve Huston <shuston@riverace.com>
* tests/Semaphore_Test.cpp: Removed unused variable, and disabled the
test for platforms with POSIX semaphores since POSIX semaphores
don't do timeouts (which this test stresses).
Fri Jul 17 07:32:26 1998 David L. Levine <levine@cs.wustl.edu>
* Makefile (CONTROLLED_FILES): added ACE-inheritance.{pdf,ps}.gz
to distribution. Thanks to Gabriel Lima <gali@enea.se> for
reporting their absence. Also, added COPYING to distribution.
* ace/IO_SAP.cpp (enable): removed unreachable break statement.
* ace/OS.i (sema_wait w/time): on VxWorks and pSoS, subtract
the current time from the time argument to get the relative
time that the systems calls expect. Thanks to Steve Huston
for recommending this change. Also, removed ACE_ADAPT_RETVAL
wrap so that errno isn't disturbed. On VxWorks, convert
S_objLib_OBJ_TIMEOUT errno to ETIME.
* tests/run_tests.{sh,vxworks}: added Semaphore_Test.
* ACE-INSTALL.html: updated multicast on Linux discussion.
Thu Jul 16 18:28:31 1998 Steve Huston <shuston@riverace.com>
* ace/OS.i (ACE_OS::sema_wait(ACE_sema_t*, ACE_Time_Value&)):
Changed WinCE version to use time as absolute and update it if
the semaphore is acquired. Changed Win32 version to update the
time if semaphore is acquired.
* tests/Semaphore_Test.cpp: Added sanity checks for time that the
semaphore waits take and for the updated time values on acquiring
a semaphore.
Thu Jul 16 15:41:08 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/IPC_SAP/UPIPE_SAP/ex2.cpp,
examples/Service_Configurator/IPC-tests/server/Handle_L_CODgram.i,
examples/Service_Configurator/IPC-tests/server/Handle_L_Dgram.i,
examples/Service_Configurator/IPC-tests/server/Handle_Broadcast.i,
examples/Service_Configurator/IPC-tests/server/Handle_L_Pipe.i,
examples/Service_Configurator/IPC-tests/server/Handle_L_Stream.i,
examples/Service_Configurator/IPC-tests/server/Handle_R_Dgram.i,
examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.i:
Changed all uses of SIGIO to ACE_SIGIO.
* ace/IPC_SAP: Cleaned up the enable() and disable() methods and
documentation so they correctly use the new ACE_* macros
described in the following bullet.
* ace/OS.h: Added new ACE_SIGIO, ACE_SIGURG, and ACE_CLOEXEC flags
that should be used instead of the SIGIO or SIGURG, etc., in
order to ensure uniqueness. However, legacy code will continue
to work.
* ace/IO_SAP.cpp: Added new ACE_SIGIO, ACE_SIGURG, and ACE_CLOEXEC
flags that should be used instead of the SIGIO or SIGURG, etc.,
in order to ensure uniqueness. However, legacy code will
continue to work.
Thu Jul 16 15:02:55 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Synch_T.h: Use ACE_Condition_Thread_Mutex instead of
ACE_Condition<ACE_Thread_Mutex> as the default condition
variable (ACE_SYNCH_CONDITION), this removes some headaches wrt
template instantiation.
* ace/IPC_SAP.cpp: Added support for the close-on-exec flag. We
use the new ACE_CLOEXEC macro for this.
Thu Jul 16 12:50:42 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* netsvcs/lib/netsvcs.dsp:
* netsvcs/servers/servers.dsp: Updated DLL names.
* ace/ACE.cpp (ldfind): Conventionallly, Win32 platforms
distinguish debug version DLL from release version DLLs by
suffixing debug version DLL names with 'd'. (E.g., aced.dll
v.s. ace.dll.) This was causing some problem in managing the
svc.conf files because we need to link the matching DLL with the
executables regarding of how they get compiled.
I modified the ldfind so that when a debug version ACE is
searching for a DLL file, it will first try to find the debug
version of that DLL by suffixing the name with 'd'. If it can't
be found, it then searches for the name specified. The release
version doesn't try to do this. Now, we can specify only the
"normal" dll names in svc.conf files and ACE can pick up the
right dlls for you without changing svc.conf files. However,
you need to follow the Win32 DLL naming convention as described
above.
I don't expect this feature to cause any backward compatibility
problem. However, if in the rare event, it does cause you
problem, you can disable it by defining
ACE_DISABLE_DEBUG_DLL_CHECK in your config.h file. Notice that
this change only affects Win32 platforms.
Thu Jul 16 08:55:48 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Dynamic_Service.cpp (instance): removed const-ness
from local void * obj, because the function return value
isn't const. Sun C++ caught this.
* STL,Makefile: removed STL from ACE, for good this time. There
are no more STL dependencies in TAO's AVStreams. However, if
you still want to use the version of STL that was in ACE, you
can obtain it at www.cs.wustl.edu/~schmidt/ACE_wrappers/STL.
* ACE-INSTALL.html: added note on enabling multicast on Linux for
TAO's NameService. And, added note on adding a routing table
entry to enable multicast on Linux. Thanks to Nanbor for
discovering that.
Wed Jul 15 19:00:33 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Dynamic_Service.cpp (instance): Made the error reporting
less verbose. Thanks to Darrell for suggesting this. In
addition, changed the use of (SERVICE *) to
ACE_reinterpret_cast().
Wed Jul 15 16:16:40 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/Message_Queue_T.cpp: Fixed message/byte counting bugs.
Wed Jul 15 15:42:44 1998 James C Hu <jxh@cs.wustl.edu>
* ace/OS.h: Added a copy constructor for ACE_Thread_ID.
Wed Jul 15 14:33:15 1998 Steve Huston <shuston@riverace.com>
* ace/Select_Reactor.cpp: Added some MVS-specific behavior in the
error checking/recovery code so that bad handles are properly
located and removed on MVS Open Edition. Thanks to Chuck Gehr
for his hard work in tracking these down.
Tue Jul 14 14:00:00 1998 Michael Kircher <mk1@cs.wustl.edu>
* ace/Select_Reactor.cpp: Changed the handling
of the state_changed flag. Now, it is set to "changed" (=1)
after each run of the event loop. This fixed a nested
upcalls bug, which was caused by overwriting this
flag each time entering the event loop. So that,
when poping one level of the handle_events call
stack information was lost about changes. Now, we
assume that information has changed and
propagate this knowlegde down in the call
stack. No performance overhead is caused by that.
Tue Jul 14 12:02:15 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* examples/IPC_SAP/SOCK_SAP/C-inserver.cpp:
* examples/IPC_SAP/SOCK_SAP/C-inclient.cpp:
* ace/SOCK_Dgram_Mcast.cpp:
* ace/SOCK_Acceptor.cpp:
* ace/ACE.cpp:
Use ACE_reinterpret_cast in several conversions address type
conversions (like from sockaddr* to sockaddr_in*).
Some compilers (HP/aCC) give a warning if the old C-style cast
operators are used; using the proper cast operator removes the
warning. Thanks to John Mulhern <9107@mn3.lawson.lawson.com> for
pointing out this problem.
Tue Jul 14 11:26:40 1998 David L. Levine <levine@cs.wustl.edu>
* Makefile: added STL back in, because TAO's AVStreams still uses it.
Thanks to Hans Rohnert <hans.rohnert@mchp.siemens.de> for
reporting this.
* ace/Message_Queue_T.cpp (refresh_{late,pending}_queue): removed some
breaks following ACE_ERROR_RETURNs, to avoid compiler warnings about
unreachable statements.
* tests/Dynamic_Priority_Test.cpp: commented out unused global
FIFO_receipt_order.
* ace/Basic_Types.h: added ACE_UINT64_LITERAL macro. Thanks to
Nanbor for suggesting it.
* ace/Stats.cpp: use ACE_UINT64_LITERAL to replace platform-specific
code.
Mon Jul 13 22:29:20 1998 David L. Levine <levine@cs.wustl.edu>
* tests/Dynamic_Priority_Test.cpp: swapped "const" and "static"
qualifiers so that "static" appears first.
(run_performance_test): initialized random_int to 0 to avoid
g++ warning.
* ace/Message_Queue_T.h: on VxWorks, added forward declaration
of class ACE_Message_Queue_Vx.
* ace/Message_Queue_T.cpp (create_Vx_message_queue): added
template <ACE_SYNCH_DECL>.
Mon Jul 13 16:37:07 1998 Chris D. Gill <cdgill@tango.cs.wustl.edu>
* Message_Queue_T.cpp:
refined dynamic queues based on performance test results
Mon Jul 13 16:35:50 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/Message_Block.{cpp, h, i}
ace/Message_Queue_T.{cpp, h}:
Removed automatic deletion of beyond messages, replaced this
with a remove_messages method to be called by an external
"reaper" if at all. Reorganized dynamic message queues
to remove sources of overhead, especially in checking
message status while refreshing the queue: added separate
head and tail pointers for pending, late, and beyond late
protions of queue: only move these pointers, not messages
(except at enqueue).
* tests/Dynamic_Priority_Test.cpp:
Added performance tests for static and dynamic queues
which do best case, worst case, and randomized ordering
of messages, presenting each ordering to all queues
and clocking enqueue and dequeue performance.
Mon Jul 13 11:11:56 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Svc_Handler.h (ACE_SYNCH_USE>): Changed type of member
<dynamic_> to int. Thanks to Zoran Ivanovic
<zorani@pathcom.com> for pointing this out.
Sun Jul 12 13:25:04 1998 David L. Levine <levine@cs.wustl.edu>
* ACE-INSTALL.html: Separated the Linux RedHat 5.1 and 5.0
discussions into different paragraphs.
Sat Jul 11 14:25:58 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Timer_Queue_Adapter.cpp: moved the ACE_RCSID inside the
ifndef ACE_TIMER_QUEUE_ADAPTERS_C protection, because this
file gets multiply included with g++.
* ace/config-lynxos.h: added #define ACE_USE_RCS_ID 0.
Sat Jul 11 03:44:00 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
* ace/inc_user_config.h:
Defined an ACE_RCSID macro to add RCS Id keywords to .cpp
files. Also defined an ACE_USE_RCSID macro that allows turning
this feature on and off.
* ace/config-chorus.h:
* ace/config-psosim-g++.h:
* ace/config-vxworks5.x.h:
These files have the RCS Id keywords off by default.
I hope these are all (and the only) real-time OSs that could be
impacted by the extra 40K or so of space.
* ace/ACE.cpp:
* ace/ACED.cpp:
* ace/ACER.cpp:
* ace/ARGV.cpp:
* ace/Acceptor.cpp:
* ace/Activation_Queue.cpp:
* ace/Addr.cpp:
* ace/Arg_Shifter.cpp:
* ace/Array.cpp:
* ace/Asynch_Acceptor.cpp:
* ace/Asynch_IO.cpp:
* ace/Auto_Ptr.cpp:
* ace/Basic_Types.cpp:
* ace/CORBA_Handler.cpp:
* ace/CORBA_Ref.cpp:
* ace/Connector.cpp:
* ace/Containers.cpp:
* ace/DEV.cpp:
* ace/DEV_Addr.cpp:
* ace/DEV_Connector.cpp:
* ace/DEV_IO.cpp:
* ace/Date_Time.cpp:
* ace/Dump.cpp:
* ace/Dump_T.cpp:
* ace/Dynamic.cpp:
* ace/Dynamic_Service.cpp:
* ace/Env_Value_T.cpp:
* ace/Event_Handler.cpp:
* ace/Event_Handler_T.cpp:
* ace/FIFO.cpp:
* ace/FIFO_Recv.cpp:
* ace/FIFO_Recv_Msg.cpp:
* ace/FIFO_Send.cpp:
* ace/FIFO_Send_Msg.cpp:
* ace/FILE.cpp:
* ace/FILE_Addr.cpp:
* ace/FILE_Connector.cpp:
* ace/FILE_IO.cpp:
* ace/Filecache.cpp:
* ace/Free_List.cpp:
* ace/Future.cpp:
* ace/Get_Opt.cpp:
* ace/Handle_Set.cpp:
* ace/Hash_Map_Manager.cpp:
* ace/High_Res_Timer.cpp:
* ace/INET_Addr.cpp:
* ace/IOStream.cpp:
* ace/IOStream_T.cpp:
* ace/IO_Cntl_Msg.cpp:
* ace/IO_SAP.cpp:
* ace/IPC_SAP.cpp:
* ace/LOCK_SOCK_Acceptor.cpp:
* ace/LSOCK.cpp:
* ace/LSOCK_Acceptor.cpp:
* ace/LSOCK_CODgram.cpp:
* ace/LSOCK_Connector.cpp:
* ace/LSOCK_Dgram.cpp:
* ace/LSOCK_Stream.cpp:
* ace/Local_Name_Space.cpp:
* ace/Local_Name_Space_T.cpp:
* ace/Local_Tokens.cpp:
* ace/Log_Msg.cpp:
* ace/Log_Record.cpp:
* ace/Malloc.cpp:
* ace/Malloc_T.cpp:
* ace/Managed_Object.cpp:
* ace/Map_Manager.cpp:
* ace/Mem_Map.cpp:
* ace/Memory_Pool.cpp:
* ace/Message_Block.cpp:
* ace/Message_Queue.cpp:
* ace/Message_Queue_T.cpp:
* ace/Method_Object.cpp:
* ace/Module.cpp:
* ace/Msg_WFMO_Reactor.cpp:
* ace/Multiplexor.cpp:
* ace/Name_Proxy.cpp:
* ace/Name_Request_Reply.cpp:
* ace/Name_Space.cpp:
* ace/Naming_Context.cpp:
* ace/OS.cpp:
* ace/Object_Manager.cpp:
* ace/Obstack.cpp:
* ace/Parse_Node.cpp:
* ace/Pipe.cpp:
* ace/Priority_Reactor.cpp:
* ace/Proactor.cpp:
* ace/Process.cpp:
* ace/Process_Manager.cpp:
* ace/Profile_Timer.cpp:
* ace/RB_Tree.cpp:
* ace/Reactor.cpp:
* ace/Read_Buffer.cpp:
* ace/Registry.cpp:
* ace/Registry_Name_Space.cpp:
* ace/Remote_Name_Space.cpp:
* ace/Remote_Tokens.cpp:
* ace/SOCK.cpp:
* ace/SOCK_Acceptor.cpp:
* ace/SOCK_CODgram.cpp:
* ace/SOCK_Connector.cpp:
* ace/SOCK_Dgram.cpp:
* ace/SOCK_Dgram_Bcast.cpp:
* ace/SOCK_Dgram_Mcast.cpp:
* ace/SOCK_IO.cpp:
* ace/SOCK_Stream.cpp:
* ace/SPIPE.cpp:
* ace/SPIPE_Acceptor.cpp:
* ace/SPIPE_Addr.cpp:
* ace/SPIPE_Connector.cpp:
* ace/SPIPE_Stream.cpp:
* ace/SString.cpp:
* ace/SV_Message.cpp:
* ace/SV_Message_Queue.cpp:
* ace/SV_Semaphore_Complex.cpp:
* ace/SV_Semaphore_Simple.cpp:
* ace/SV_Shared_Memory.cpp:
* ace/Sched_Params.cpp:
* ace/Select_Reactor.cpp:
* ace/Service_Config.cpp:
* ace/Service_Manager.cpp:
* ace/Service_Object.cpp:
* ace/Service_Repository.cpp:
* ace/Service_Types.cpp:
* ace/Shared_Memory.cpp:
* ace/Shared_Memory_MM.cpp:
* ace/Shared_Memory_SV.cpp:
* ace/Shared_Object.cpp:
* ace/Signal.cpp:
* ace/Singleton.cpp:
* ace/Stats.cpp:
* ace/Strategies.cpp:
* ace/Strategies_T.cpp:
* ace/Stream.cpp:
* ace/Stream_Modules.cpp:
* ace/Svc_Handler.cpp:
* ace/Synch.cpp:
* ace/Synch_Options.cpp:
* ace/Synch_T.cpp:
* ace/System_Time.cpp:
* ace/TLI.cpp:
* ace/TLI_Acceptor.cpp:
* ace/TLI_Connector.cpp:
* ace/TLI_Stream.cpp:
* ace/TTY_IO.cpp:
* ace/Task.cpp:
* ace/Task_T.cpp:
* ace/Thread.cpp:
* ace/Thread_Manager.cpp:
* ace/Time_Request_Reply.cpp:
* ace/Timeprobe.cpp:
* ace/Timeprobe_T.cpp:
* ace/Timer_Hash.cpp:
* ace/Timer_Hash_T.cpp:
* ace/Timer_Heap.cpp:
* ace/Timer_Heap_T.cpp:
* ace/Timer_List.cpp:
* ace/Timer_List_T.cpp:
* ace/Timer_Queue.cpp:
* ace/Timer_Queue_Adapters.cpp:
* ace/Timer_Queue_T.cpp:
* ace/Timer_Wheel.cpp:
* ace/Timer_Wheel_T.cpp:
* ace/Token.cpp:
* ace/Token_Collection.cpp:
* ace/Token_Invariants.cpp:
* ace/Token_Manager.cpp:
* ace/Token_Request_Reply.cpp:
* ace/Trace.cpp:
* ace/Typed_SV_Message.cpp:
* ace/Typed_SV_Message_Queue.cpp:
* ace/UNIX_Addr.cpp:
* ace/UPIPE_Acceptor.cpp:
* ace/UPIPE_Connector.cpp:
* ace/UPIPE_Stream.cpp:
* ace/WFMO_Reactor.cpp:
* ace/XtReactor.cpp:
* ace/gethrtime.cpp:
* tests/Aio_Platform_Test.cpp:
* tests/Atomic_Op_Test.cpp:
* tests/Barrier_Test.cpp:
* tests/Basic_Types_Test.cpp:
* tests/Buffer_Stream_Test.cpp:
* tests/Conn_Test.cpp:
* tests/Dynamic_Priority_Test.cpp:
* tests/Enum_Interfaces_Test.cpp:
* tests/Env_Value_Test.cpp:
* tests/Future_Test.cpp:
* tests/Handle_Set_Test.cpp:
* tests/Hash_Map_Manager_Test.cpp:
* tests/IOStream_Test.cpp:
* tests/MM_Shared_Memory_Test.cpp:
* tests/MT_Reactor_Timer_Test.cpp:
* tests/MT_SOCK_Test.cpp:
* tests/Map_Manager_Test.cpp:
* tests/Mem_Map_Test.cpp:
* tests/Message_Block_Test.cpp:
* tests/Message_Queue_Test.cpp:
* tests/MsgQueue_Notifications_Test.cpp:
* tests/Naming_Test.cpp:
* tests/Notify_Performance_Test.cpp:
* tests/OrdMultiSet_Test.cpp:
* tests/Pipe_Test.cpp:
* tests/Priority_Buffer_Test.cpp:
* tests/Priority_Reactor_Test.cpp:
* tests/Priority_Task_Test.cpp:
* tests/Process_Mutex_Test.cpp:
* tests/Process_Strategy_Test.cpp:
* tests/Reactor_Exceptions_Test.cpp:
* tests/Reactor_Notify_Test.cpp:
* tests/Reactor_Performance_Test.cpp:
* tests/Reactor_Timer_Test.cpp:
* tests/Reactors_Test.cpp:
* tests/Reader_Writer_Test.cpp:
* tests/Recursive_Mutex_Test.cpp:
* tests/SOCK_Connector_Test.cpp:
* tests/SOCK_Test.cpp:
* tests/SPIPE_Test.cpp:
* tests/SString_Test.cpp:
* tests/SV_Shared_Memory_Test.cpp:
* tests/Semaphore_Test.cpp:
* tests/Service_Config_Test.cpp:
* tests/Sigset_Ops_Test.cpp:
* tests/Simple_Message_Block_Test.cpp:
* tests/TSS_Test.cpp:
* tests/Task_Test.cpp:
* tests/Thread_Manager_Test.cpp:
* tests/Thread_Mutex_Test.cpp:
* tests/Thread_Pool_Test.cpp:
* tests/Time_Service_Test.cpp:
* tests/Time_Value_Test.cpp:
* tests/Timeprobe_Test.cpp:
* tests/Timer_Queue_Test.cpp:
* tests/Tokens_Test.cpp:
* tests/UPIPE_SAP_Test.cpp:
* tests/Upgradable_RW_Test.cpp:
* tests/XtReactor_Test.cpp:
* tests/tests_bcc.ide:
Added RCS Id keywords to all these files.
* ace/ace_bcc.ide:
Don't really know what changed here...
Fri Jul 10 23:11:36 1998 David L. Levine <levine@cs.wustl.edu>
* bin/make_release: redirect rdiff error messages to /dev/null.
Fri Jul 10 22:15:04 1998 David L. Levine <levine@cs.wustl.edu>
* ACE version 4.5.21 released.
Fri Jul 10 10:29:58 1998 David L. Levine <levine@cs.wustl.edu>
* ace/SString.h: added ACE_INLINE specifiers to operator+
declarations, to please Sun C++. Will AIX be able to cope?
Thu Jul 09 23:27:26 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
* ace/OS.h:
Corrected definitions for ACE_Export under Borland compilers.
* ace/SString.h:
Got rid of the friend operators.
* ace/Containers.cpp:
* ace/Message_Queue_T.cpp:
* ace/Stream.cpp:
* ace/Timer_Heap_T.cpp:
* tests/Buffer_Stream_Test.cpp:
* tests/Dynamic_Priority_Test.cpp:
* tests/Future_Test.cpp:
* tests/Naming_Test.cpp:
* tests/Priority_Buffer_Test.cpp:
* tests/Thread_Pool_Test.cpp:
Got rid of a few assignments to zero that cause warnings with
the Borland compiler.
* ace/ace_bcc.ide:
* tests/tests_bcc.ide:
Now Borland C++ 5.x supports building ACE as a DLL, and the tests
are linked against the Debug DLL.
* tests/tests.bpg:
* tests/Dynamic_Priority_Test.bpr:
* tests/Timeprobe_Test.bpr:
* tests/Upgradable_RW_Test.bpr:
* tests/XtReactor_Test.bpr:
Added four new tests to the project group.
* tests/Aio_Platform_Test.bpr:
* tests/Atomic_Op_Test.bpr:
* tests/Barrier_Test.bpr:
* tests/Basic_Types_Test.bpr:
* tests/Buffer_Stream_Test.bpr:
* tests/Conn_Test.bpr:
* tests/Dynamic_Priority_Test.bpr:
* tests/Enum_Interfaces_Test.bpr:
* tests/Env_Value_Test.bpr:
* tests/Future_Test.bpr:
* tests/Handle_Set_Test.bpr:
* tests/Hash_Map_Manager_Test.bpr:
* tests/IOStream_Test.bpr:
* tests/MM_Shared_Memory_Test.bpr:
* tests/MT_Reactor_Timer_Test.bpr:
* tests/MT_SOCK_Test.bpr:
* tests/Map_Manager_Test.bpr:
* tests/Mem_Map_Test.bpr:
* tests/Message_Block_Test.bpr:
* tests/Message_Queue_Test.bpr:
* tests/MsgQueue_Notifications_Test.bpr:
* tests/Naming_Test.bpr:
* tests/Notify_Performance_Test.bpr:
* tests/OrdMultiSet_Test.bpr:
* tests/Pipe_Test.bpr:
* tests/Priority_Buffer_Test.bpr:
* tests/Priority_Reactor_Test.bpr:
* tests/Priority_Task_Test.bpr:
* tests/Process_Mutex_Test.bpr:
* tests/Process_Strategy_Test.bpr:
* tests/Reactor_Exceptions_Test.bpr:
* tests/Reactor_Notify_Test.bpr:
* tests/Reactor_Performance_Test.bpr:
* tests/Reactor_Timer_Test.bpr:
* tests/Reactors_Test.bpr:
* tests/Reader_Writer_Test.bpr:
* tests/Recursive_Mutex_Test.bpr:
* tests/SOCK_Connector_Test.bpr:
* tests/SOCK_Test.bpr:
* tests/SPIPE_Test.bpr:
* tests/SString_Test.bpr:
* tests/SV_Shared_Memory_Test.bpr:
* tests/Semaphore_Test.bpr:
* tests/Service_Config_Test.bpr:
* tests/Sigset_Ops_Test.bpr:
* tests/Simple_Message_Block_Test.bpr:
* tests/TSS_Test.bpr:
* tests/Task_Test.bpr:
* tests/Thread_Manager_Test.bpr:
* tests/Thread_Mutex_Test.bpr:
* tests/Thread_Pool_Test.bpr:
* tests/Time_Service_Test.bpr:
* tests/Time_Value_Test.bpr:
* tests/Timeprobe_Test.bpr:
* tests/Timer_Queue_Test.bpr:
* tests/Tokens_Test.bpr:
* tests/UPIPE_SAP_Test.bpr:
* tests/Upgradable_RW_Test.bpr:
* tests/XtReactor_Test.bpr:
Uniform options for Borland C++ and C++ Builder.
Thu Jul 09 16:23:34 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Registry.h (ACE_Registry): Changed the Registry class so
that it does not use STL containers and the string classes
anymore. It now uses ACE containers and string classes. There
should be no dependency on STL in ACE anymore.
* STL: Removed this directory since ACE is no longer dependent on
STL. If you still need these STL files, please refer to:
http://www.rahul.net/terris/.
* examples/Registry/test_registry_{update,iterator}.cpp (main):
Updated files to work with modified Registry.
* ace/SString.cpp (ACE_WString::operator<<): Added new operator.
* Makefile: Updated Makefile so that STL is no longer released
with ACE.
Thu Jul 09 09:37:43 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Basic_Types: for LONG_LONG size determination, don't use
ULONGLONG_MAX ifdef __GNUG__. This change should fix a build
problem on g++/Irix 6.4. Thanks to Johan Lundin <johan@lundin.com>
for reporting the problem.
Wed Jul 08 17:47:48 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Strategies_T (ACE_Scheduling_Strategy,
ACE_Schedule_All_Reactive_Strategy, and
ACE_Schedule_All_Threaded_Strategy): The code in these classes
was screwed up. The base class (ACE_Scheduling_Strategy) was
keeping a pointer to the SVC_HANDLER in order to enable the
derived classes to get to the Reactor and Thread Manager. Also,
if the user did not pass in an instance of SVC_HANDLER, one was
created dynamically ;-( Another problem was that the Reactor
field was set on the SVC_HANDLER, but the SVC_HANDLER was never
registered with the Reactor. So when the SVC_HANDLER was
deleted, it tried to remove itself from a potentially
non-existent Reactor.
Solution: Removed scheduler_ as protected member of the base
class. Added thr_mgr_ to ACE_Schedule_All_Threaded_Strategy and
reactor_ to ACE_Schedule_All_Reactive_Strategy. Now these
classes do not need the scheduler_ member anymore.
Wed Jul 8 13:47:02 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-sunx86-sunc++-4.x.h: inserted note to not use this
config, but to use config-sunos5.5.h instead. After we
have installed and tested Sun C++ on Solaris86, we should
remove this config.
* ACE-INSTALL.html: added note about increasing NUM_FILES to
1000 in VxWorks kernel configuration. Thanks to
Jeff Franks <Jeffrey_Franks@i-o.com> for reminding me about
this change from the default VxWorks kernel configuration.
Tue Jul 07 14:36:56 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/ace_ce_dll.dsp: Added Stats.cpp into project.
* ace/README: Added a new directive
ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS and its documentation.
* ace/config-win32-common.h: Defined
ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS for Win32 except CE.
* ace/Log_Msg.{h,cpp}:
* ace/OS.{h,i,cpp}: Changed to use ifdef
ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS for structural exception
code.
* ace/Token.cpp:
* ace/Stats.cpp:
* ace/High_Res_Timer.cpp: Made them CE friendly.
Tue Jul 07 09:26:22 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Thread_Manager.h: updated comments that describe
ACE_thread_t * argument to spawn () family.
* ace/OS.{h,cpp},Thread_Manager.cpp: on VxWorks only, instead
of using a string to mark an ACE_thread_t as being allocated
by the ACE_Thread_Manager, use a single character (ASCII DC2).
* tests/run_tests.vxworks: added Dynamic_Priority_Test.
* apps/gperf/src/Makefile: added trailing $ to Id string.
Tue Jul 7 10:48:42 EET DST 1998 Wei Chiang <chiang@horizon.ntc.nokia.com>
* tests/CLASSIX/CLASSIX_Con_Acc_Test.cpp:
Use a counter, max. number of unread messages, instead of wait
to work around the blocking problem in ipcSend()
Mon Jul 6 22:32:19 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
* ace/ace_bcc.ide:
Updates for Borland C++ 5.x.
* ace/config-win32.h:
Made sure ACE_HAS_WINNT4 and _WIN32_WINNT are always defined if
they were not explicitly defined.
* ace/config-win32-borland.h:
* ace/config-win32-common.h:
Moved all the Borland definitions to a config-win32-borland.h
file.
* ace/OS.h (ACE_SEH_TRY):
Added correct support for Borland C++ 5.x.
* ace/OS.cpp:
Replaced the ugly hack to access wProcessorArchitecture under
Borland compilers for an even uglier hack, but that will work on
every Borland compiler, as long as the members of SYSTEM_INFO are
consistent. See the code and get sick!
* ace/LOCK_SOCK_Acceptor.h:
* ace/Array.cpp:
* ace/Arg_Shifter.cpp:
Were missing an "ace/" in some includes.
* tests/tests_bcc.ide:
Added all (well, most) of the tests to the project file.
* tests/Makefile:
* tests/Message_Queue_Notifications_Test.cpp:
* tests/Message_Queue_Notifications_Test.bpr:
* tests/Message_Queue_Notifications_Test.dsp:
* tests/MsgQueue_Notifications_Test.cpp:
* tests/MsgQueue_Notifications_Test.bpr:
* tests/MsgQueue_Notifications_Test.dsp:
* tests/run_tests.bat:
* tests/run_tests.psosim:
* tests/run_tests.sh:
* tests/run_tests.vxworks:
* tests/tests.bpg:
* tests/tests.dsw:
* tests/tests.mak:
* tests/WinCE/Message_Queue_Notifications_Test.dsp:
* tests/WinCE/MsgQueue_Notifications_Test.dsp:
* tests/version_tests/Message_Queue_Notification_Test.dsp:
* tests/version_tests/MsgQueue_Notifications_Test.dsp :
Changed name of Message_Queue_Notifications_Test to
MsgQueue_Notifications_Test, to avoid problems with Borland
compilers.
* tests/Enum_Interfaces_Test.cpp:
Added some output to test ACE_OS::uname().
* tests/Basic_Types_Test.cpp:
Changed a couple of debug lines to contain only one \n.
Mon Jul 6 14:24:11 EET DST 1998 Wei Chiang <chiang@horizon.ntc.nokia.com>
* tests/CLASSIX/CLASSIX_Con_Acc_Test.cpp:
Add a pause after each send_n()(i.e. ipcSend()) as a temporary
work around over the block problem in ipcSend() when the resources are
exhaused.
Mon Jul 6 03:56:49 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Thread_Manager.h (ACE_Thread_Manager::thr_self): Instead of
refering to ACE_Thread::thr_self, it should mention
ACE_Thread::self.
Fri Jul 03 17:02:49 1998 David L. Levine <levine@cs.wustl.edu>
* bin/make_release (create_kit): remove any existing .zip
files before trying to create new ones, because they get
in the way. Thanks to J. Russell Noseworthy
<rnosewor@objectsciences.com> for reporting the problem
with new ACE+TAO.tar.gz's not being created.
Fri Jul 3 14:24:59 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* apps/gperf/src/gperf.dsw:
* apps/gperf/src/gperf.dsp:
* apps/gperf/src/gperf_lib.dsp:
Added MSVC5 Project files
* apps/gperf/src/Key_List.cpp:
* apps/gperf/src/Options.h:
* apps/gperf/src/Options.cpp:
There was a enumeration CONST, and MSVC5 didn't like it. I
renamed it to CONSTANT.
* apps/gperf/src/new.cpp
Changed a variable from int to size_t to get rid of a MSVC
warning.
NOTE: I tried out some tests and even though gperf compiles
on NT, it doesn't seem to work correctly yet. That
will come later.
Fri Jul 03 13:47:19 1998 David L. Levine <levine@cs.wustl.edu>
* ACE version 4.5.20 released.
Fri Jul 03 08:52:13 1998 Steve Huston <shuston@riverace.com>
* netsvcs/lib/Name_Handler.{cpp h}: Moved class Naming_Context from
.cpp to .h so that AIX xlC can find it when instantiating templates.
Thu Jul 2 11:49:16 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/OS.h:
* ace/OS.i: Added ACE_OS::fseek (). NT supports this too. Just
defined SEEK_SET, SEEK_CUR etc, in case they are not defined. This
is similar to what has been done for lseek.
Thu Jul 02 10:58:00 1998 Michael Kircher <mk1@cs.wustl.edu>
* tests/Upgradable_RW_Test.cpp: Totally new version,
now we use linked lists on which we search to
spend some time.
* tests/Upgradable_RW_Test.dsp: Project file for this test.
* tests/tests.dsw: Integrated this project.
* tests/version_tests.dsw: Integrated this project.
* tests/Upgradable_RW_Test.dsp: Project file for this test.
Thu Jul 02 09:14:20 1998 David L. Levine <levine@cs.wustl.edu>
* examples/Reactor/Misc/test_timer_queue.cpp (test_functionality):
use timer_id outside of an assert, so that we don't get compile
warnings with ACE_NDEBUG about it being unused.
* ace/OS.cpp (thr_create): on VxWorks only, check if thr_id
points to a zero char *. If so, assign the VxWorks task
name pointer to it (*thr_id). Thanks to Bill Backstrom
<backstr@anubis.network.com> for this suggestion.
* ace/Thread_Manager.cpp (spawn_i): on VxWorks only, augmented
comment to explain the various cases for t_id and *t_id values.
* ace/Thread_Manager.h (spawn*): on VxWorks only, added comment
explaining use of ACE_thread_t * argument.
* tests/Barrier_Test.cpp: on VxWorks only, added test of
an ACE_thread_t that points to a 0 char *.
* tests/Barrier_Test.cpp,Thread_Manager_Test.cpp: moved
VxWorks task name and stack size tests from Barrier_Test
to Thread_Manager_Test.
* tests/run_tests.vxworks: on VxWorks only, enabled
Message_Queue_Test. It's OK to run it on VxWorks, now
that the iterator_test () is disabled in the test.
* tests/SOCK_Connector_Test.cpp (succeed_nonblocking):
if the connection completion fails, reset the status
_before_ doing the printout. The printout causes the
errno to be overwritten on LynxOS 2.5.0, for example.
* Makefile (releaseall): use $(MAKE) instead of make for
recursive make.
Wed Jul 01 21:31:40 1998 Arturo Montes <mitosys@colomsat.net.co>
* ace/IOStream_T.i (recv_n, eof): fixed calculation of
timeout_ and return value.
Wed Jul 01 08:51:33 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/Service_Types.cpp
tests/Dynamic_Priority_Test.cpp: Moved explicit template
instantiations for ACE_Dynamic_Message_Queue and
ACE_Message_Queue_Factory from the test into the ACE library
(next to where the ACE_Message_Queue instantiations resided).
Wed Jul 01 07:08:40 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Message_Queue.i,cpp (VxWorks only): removed args from a
couple of unsupported functions, and added ACE_UNUSED_ARGS
to others, to avoid compiler warnings.
* tests/Message_Queue_Test.cpp (performance_test): allocate
the send blocks in the main thread instead of in the sender.
That way, the main thread can delete them after the
receiver has finished. Before this change, the sender would
sometimes delete them before the reciever finished. Thanks to
Carlos and his friend Mr. SIGSEGV for helping to track this down.
Tue Jun 30 23:48:39 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Message_Queue.h: Added /**/ between #include and <> to
prevent warnings from MSVC.
Tue Jun 30 22:05:01 1998 David L. Levine <levine@cs.wustl.edu>
* tests/Dynamic_Priority_Test.cpp: added template
instantiations.
Tue Jun 30 18:55:45 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/Message_Queue_T.{cpp, h}
Added methods to ACE_Message_Queue_Factory to
create an ACE_Dynamic_Message_Queue with the
deadline and laxity with cleanup strategies.
* tests/Dynamic_Priority_Test.cpp
Added tests for the new cleanup strategy factory methods
Tue Jun 30 18:03:15 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/Message_Queue_T.{cpp, h}
ace/Message_Block.{cpp, h, i}
Reorganized ACE_Dynamic_Message_Queue and related classes,
fixed bugs that turned up in testing: it's ready to put
on the road and see how it runs ;-)
* tests/Dynamic_Priority_Test.{cpp, dsp}
tests/tests.dsw
tests/Makefile
tests/run_tests.{bat, sh}
Added a test for the static and dynamic (both deadline and laxity
based) message queues, which assigns various message attributes,
pushes messages into the queue, and makes sure the resulting
dequeue order is correct for the given kind of queue.
Tue Jun 30 14:04:42 1998 Steve Huston <shuston@riverace.com>
* ace/Message_Queue_T.cpp: Fixed references to an undeclared
priority_eval_func_ptr_ - I think I figured out what it was
supposed to be doing, but I'm not quite sure. It compiles ;-)
* ace/Synch.h (ACE_Adaptive_Lock): Removed "= 0" (pure virtual) from
destructor decl. The function is defined in Synch.cpp.
Tue Jun 30 13:13:21 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/WFMO_Reactor.cpp (open): Made sure that size does not exceed
MAXIMUM_WAIT_OBJECTS. Thanks to Dr. Schmidt for pointing this
out.
Tue Jun 30 11:45:12 1998 Steve Huston <shuston@riverace.com>
* ace/Message_Queue_T.cpp: Added explicit class names where needed
for ANSI C++. Fixed some compile errors. Still needs more work to
compile correctly on HP-UX aCC.
Tue Jun 30 09:27:25 1998 David L. Levine <levine@cs.wustl.edu>
* etc/ACE-guidelines.html: added a guideline about using ACE_Export.
* ace/Message_Queue.cpp (ACE_Message_Queue_Vx::dtor; VxWorks only):
added close () call to destructor, because the one in the parent
class will never get called because head_ is always 0 in the derived
class.
* ace/Message_Queue.i (VxWorks only): finished implementing the
ACE_Message_Queue_Vx inline member functions.
* tests/Message_Queue_Test.cpp: added performance tests and
tests of ACE_Message_Queue_Vx.
Tue Jun 30 03:39:15 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Synch.h (ACE_RW_Process_Mutex): This class no longer needs
to inherit from ACE_Process_Mutex.
* ace/Synch.cpp (ACE_RW_Process_Mutex): On non-Win32 platforms,
the underlying ACE_File_Lock needs to be created with owner's
read/write permission. Otherwise, other process won't be able
to access the lock.
* Makefile (CONTROLLED_FILES): Added ChangeLog-98a and
ChangeLog-97b into release. Thanks to Ivan Murphy
<Ivan.Murphy@med.siemens.de> for pointing this out.
Tue Jun 30 00:51:32 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.19 released.
Tue Jun 30 00:07:39 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* examples/Service_Configurator/Misc/main.dsp: Added macro
definition ACE_SVC_HAS_DLL=0 in this project. DLL linkage is
not used in this example (yet.) Thanks to Joe Covalesky
<joe@nowsol.com> for noticing this.
Mon Jun 29 21:16:39 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.cpp (invoke): wrapped final return with ACE_NOTREACHED.
"It's the right thing to do."
Mon Jun 29 19:42:12 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Timeprobe_T.cpp (ACE_Timeprobe): Changed __TEXT to ASYS_TEXT.
Mon Jun 29 14:48:58 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.h: Added UNICODE macros for non-Win32 platforms. Thanks
to Jeff Greif <jmg@trivida.com> for pointing this out.
* ace/OS.cpp (invoke): Added a return at the end to keep AIX
happy. Thanks to CLahey@cccis.com for reporting this.
Mon Jun 29 11:37:28 1998 Steve Huston <shuston@riverace.com>
* ace/ACE.cpp: Added a 'const' to initialized ASYS_TCHAR * - string
literal conversion to char * is deprecated in C++.
Sun Jun 28 22:16:51 1998 David L. Levine <levine@cs.wustl.edu>
* examples/Service_Configurator/Misc/main.cpp (main): removed
argc declaration because it was unused.
* examples/Threads/task_five.cpp (work): added
ACE_UNUSED_ARG (stack_size).
* ace/Message_Queue_T.h: fully qualify the DEFAULT_[HL]WM
references so that it will compile with aCC 1.07 on HPUX 10.20.
Thanks to Avi Nash <anash@RedBrick.COM> for reporting this
problem.
* acer/Message_Queue.{h,cpp} (ACE_Message_Queue_Vx:enqueue_head/tail):
implement these for VxWorks. enqueue_head_i just calls
enqueue_tail_i.
Sat Jun 27 18:13:05 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Timeprobe_T.cpp (ACE_Timeprobe - copy constructor): Stupid
MSVC is forcing me to define this and make it public; it should
really be protected; please don't use it.
* ace/Timeprobe.h: Added ACE_SINGLETON_DECLARATION; otherwise all
compilation units would get a different instantiation of the
time probe class. Also, changed ACE_TIMEPROBE_SINGLETON to a
#define instead of a typedef; otherwise the compiler bitched
when it was use in ACE_SINGLETON_DECLARATION.
* SINGLETON_INSTANTIATION: Removed this flag from all files in
ACE. It is causing duplicate declaration errors.
Sat Jun 27 11:29:50 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.18 released.
Sat Jun 27 11:27:28 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Basic_Types.h: use ACE_CAST_CONST instead of const in
ACE_CU64_TO_CU32.
Sat Jun 27 11:03:52 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* README: Updated the list of people who have contributed to TAO.
Sat Jun 27 07:07:43 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.17 released.
Sat Jun 27 00:27:29 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Timeprobe:
- Added back ACE_COMPILE_TIMEPROBES. David pointed out that
without this flag, size of ACE increases even when time probes
are not being used. Therefore, users must compile ACE with
this flag defined if they want to use time probes. This can
be achieved by doing one of the following:
. Use make probe = 1, if you are using the make utility.
. Define ACE_COMPILE_TIMEPROBES in config.h
. Define ACE_COMPILE_TIMEPROBES in the VC project file.
. Other regular methods will also work.
It is not necessary to define ACE_COMPILE_TIMEPROBES when
using time probes, you simply need ACE_ENABLE_TIMEPROBES. You
can use the ACE_TIMEPROBE_* macros to program the time probes,
and use the ACE_ENABLE_TIMEPROBE to enable the time probes.
If you define ACE_ENABLE_TIMEPROBE in your code, but forget to
compile ACE with ACE_COMPILE_TIMEPROBES, you will end up with
linker errors.
Remember that ACE_COMPILE_TIMEPROBES means that the ACE
library will contain code for time probes. This is only
useful when compiling ACE. ACE_ENABLE_TIMEPROBES means that
the ACE_TIMEPROBE_* macros should spring to life.
- Added inclusion of OS.h. This way the ACE_COMPILE_TIMEPROBES
can be specified in the config file.
* include/makeinclude/wrapper_macros.GNU: probe = 1 no longer
means ACE_ENABLE_TIMEPROBE. It only means
ACE_COMPILE_TIMEPROBES. This was changed because defining
ACE_ENABLE_TIMEPROBE here is too broad. ACE_ENABLE_TIMEPROBE is
cleverly designed so that it allows only some time probes to be
enabled (where ACE_ENABLE_TIMEPROBE is defined), while others to
be disabled (where ACE_ENABLE_TIMEPROBE is not defined).
Example: IDL_Cubit time probes can be enabled without enabling
TAO time probes. Or TAO time probes can be enabled without
enabling IDL_Cubit time probes. TAO time probes are controlled
through TAO/tao/Timeprobes.h.
* tests/Timeprobe_Test.cpp:
- Defining ACE_ENABLE_TIMEPROBES is not forced. Users can
uncomment this at the top of the file. This relieves us from
trying to include the symbols of ACE_Timeprobes from ACE if
ACE was compiled without using ACE_COMPILE_TIMEPROBES (the
#include ace/Timeprobe.cpp trick did not work on all 8
different ways of compiling ACE on NT).
- Made the registration of the description arrays similar to the
real use cases (in TAO).
- Introduced enums and took the magic numbers out.
Fri Jun 26 20:37:06 1998 Matthew J Braun <mjb2@cec.wustl.edu>
* tests/Logger/clnt.h
* tests/Logger/clnt.cpp
* tests/Logger/svr.cpp
* orbsvcs/orbsvcs/Log/Logger_i.h
* orbsvcs/orbsvcs/Log/Logger_i.cpp
* orbsvcs/orbsvcs/Logger.idl
The current status of this is incomplete. The svr* test is guaranteed
to be nonfunctional (I cannot yet speak for the rest).
Fri Jun 26 14:52:33 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/test_config.h: Don't close the ofstream before opening the
log stream in ACE_APPEND_LOG on Win32. It it not necessary
because Win32 doesn't have fork anyway and it somehow confuses
Win32 (becuase no file was openen at that point.)
* performance-tests/Makefile: Temporarily removed Synch-Benchmark
from the targets. It should be added back once the work is
done.
Fri Jun 26 11:50:03 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.h: map ACE_dynamic_cast to static_cast with Sun C++,
without RTTI, to avoid warning about using dynamic_cast
without RTTI. Thanks to J. Russell Noseworthy
<rnosewor@objectsciences.com> for reporting this.
* include/makeinclude/wrapper_macros.GNU,ACE-INSTALL.html:
added rtti make option.
* ace/Message_Queue.*: on VxWorks, added ACE_Message_Queue_Vx,
which wraps native VxWorks messages queues. See the header
file for limitations.
* ace/Message_Queue_T.*,Makefile: split Message_Queue into
template and non-template files.
* ace/Basic_Types.h: added ACE_CU64_TO_CU32 conversion macro,
for converting const ACE_UINT64 to const ACE_UINT32. The old
ACE_U64_TO_U32 wouldn't work with Sun C++'s ANSI casts.
* performance-tests/Misc/basic_perf.cpp (per_iteration): use
ACE_CU64_TO_CU32 for narrowing the const ACE_UIN64 argument.
* ace/config-sunos5.5.h: added ACE_HAS_ANSI_CASTS with Sun C++ 4.2.
* include/makeinclude/platform_sunos5_sunc++.GNU: added
-features=castop to CCFLAGS, to enable use of ANSI casts.
Thanks to J. Russell Noseworthy <rnosewor@objectsciences.com>
for recommending the above two changes.
* include/makeinclude/platform_sunos5_sunc++.GNU: Added
support for rtti=1 option to make, to optionally enable RTTI.
Fri Jun 26 11:39:49 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ACE-INSTALL.html: Added more infomation in {Free,Net}BSD.
Fri Jun 26 10:51:07 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/OS.h:
Fixed problem in ACE_DES_* macros, some preprocessors were
tokenizing ::~CLASS as ":: ~CLASS" and we wanted ":: ~ CLASS"
(were class in a macro argument).
Fri Jun 26 09:48:55 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* VERSION: Updated this file to direct bug reports to
the ACE mailing list.
Fri Jun 26 10:43:02 EET DST 1998 Wei Chiang <wei.chiang@ntc.nokia.com>
* ace/CLASSIX/CLASSIX_OS.cpp:
ACE_CLASSIX_OS::ACE_CLASSIX_OS()
After created an CLASSIX reactor as an actor-wide singleton
reactor, delete the original reator singleton, if any.
Fri Jun 26 02:18:05 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* performance-tests/Synch-Benchmarks/Benchmark[_Base].{h,cpp}:
* performance-tests/Synch_Benchmarks/Makefile: Added a new class
Benchmark_Base so we can not only load the test items
but also the test methods dynamically.
Wed Jun 24 21:37:22 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Message_Queue.cpp (refresh_queue): fixed syntax
error: extraneous ;.
Wed Jun 24 19:52:30 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/IPC_SAP.cpp (enable,disable): Fixed #define nesting.
Wed Jun 24 15:36:18 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* examples/ASX/Event_Server/Event_Server/Peer_Router.cpp
(Peer_Router_Context): For some reason, MSVC can't grop the
temporary objects. Therefore, I changed the ACE_INET_Addr object
in the constructor to a local variable.
Wed Jun 24 17:10:06 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Timeprobe: Removed ACE_COMPILE_TIMEPROBE. ACE library will
always contain ACE_Timeprobe code.
Wed Jun 24 16:20:02 1998 James CE Johnson <jcej@lads.com>
* ace/IOStream.cpp (underflow,overflow): added protection against
errors, when get/put buffers can be set to 0.
Wed Jun 24 14:42:50 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/Message_Queue.{cpp,h}: added =TITLE/=DESCRIPTION
and method comments to ACE_Message_Queue_Factory
* ace/Message_Block.h: fixed comment in ACE_Laxity_Message_Strategy
Wed Jun 24 13:35:15 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/Message_Queue.{cpp,h,i}
ace/Message_Block.{cpp,h,i}: Fixed ACE_UNIMPLEMENTED_FUNC
declarations in ACE_Dynamic_Message_Queue, moved the
ACE_Dynamic_Message_Strategy, ACE_Laxity_Message_Strategy,
and ACE_Deadline_Message_Strategy classes from the
Message_Queue.* files into the respective Message_Block.*
files (fixes link errors on platforms such as NT which
require template source).
Wed Jun 24 11:38:00 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/Message_Block.{cpp,h,i}: Added worst case execution time and
deadline absolute time ACE_Time_Value members to ACE_Message_Block.
These default to ACE_Time_Value::zero in the constructors and
initialization methods.
* ace/Message_Queue.{cpp,h,i}: Added ACE_Dynamic_Message_Queue,
ACE_Dynamic_Message_Strategy, ACE_Deadline_Message_Strategy,
ACE_Laxity_Message_Strategy, and ACE_Message_Queue_Factory
classes to facilitate adaptive use of statically or dynamically
prioritized message queues.
Wed Jun 24 10:23:27 1998 David L. Levine <levine@cs.wustl.edu>
* bin/make_release: 1) inserted /pkg/gnu/bin at head of
PATH, if it exists. That way, cvs diff will use GNU diff.
Thanks to Doug for tripping over that.
2) changed grep -E to egrep.
* ace/OS.i,gethrtime.cpp (gethrtime): with Pentium and g++ or ghs,
only; fixed load of 64-bit tick count into two 4-byte ints.
* performance-tests/Misc/basic_perf.cpp (iteration_time): check
for elapsed_time_ less than empty_iteration_time_, and return 0
if so.
Wed Jun 24 10:02:14 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/ASX/Event_Server/Transceiver/transceiver.cpp
(parse_args): Fixed a warning about control reaching the end of
a method. Thanks to David Levine for reporting this.
* .cvsignore: Added "build" to make CVS happy. Thanks to
David for this info.
* ace/CLASSIX: Reran "make depend."
Wed Jun 24 13:34:32 EET DST 1998 Wei Chiang <chiang@horizon.ntc.nokia.com>
* tests/CLASSIX/*
Attached "CLASSIX_" to all the file names in this directory
Added Imakefile
* ace/CLASSIX/CLASSIX_Select_Reactor.*
test/CLASSIX/CLD_Connector_Test.cpp
get_current_info() is now renamed to current_info() in compliant
with ACE_Reactor_Impl class.
Wed Jun 24 08:17:25 EET DST 1998 Wei Chiang <chiang@horizon.ntc.nokia.com>
* Renamed ace/CLASSIX/CLASSIX_Reactor.* to
ace/CLASSIX/CLASSIX_Select_Reactor.* and adujsted other files
accordingly.
* ace/CLASSIX/CLASSIX_Reactor.*
make naming reference consistenet: all the references to
ACE_CLASSIX_Reactor are now to ACE_CLASSIX_Select_Reactor
Wed Jun 24 02:39:35 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.16 released.
Wed Jun 24 00:00:44 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/ASX/Event_Server/Transceiver/transceiver.cpp: Cleaned
up the Event_Transceiver code a bit.
* examples/ASX/Event_Server/Event_Server/event_server.cpp (main):
Cleaned up the code a bit.
Wed Jun 24 06:54:00 EET DST 1998 Wei Chiang <chiang@horizon.ntc.nokia.com>
* Attached "CLASSIX_" to all the file names in ace/CLASSIX.
* Modified include statments in ace/CLASSIX/* to reflect the
name changes.
* Added Makefile in ace/CLASSIX
* ace/CLASSIX/CLASSIX_Reactor.h:
ACE_CLASSIX_Reactor_Notify is now derived from ACE_Reactor_Notify
The private data member, select_reactor_, is now an
ACE_CLASSIX_Reactor class instead of an ACE_Select_Reactor class.
* ace/CLASSIX/CLASSIX_Reactor.cpp:
in open()
uses ACE_dynamic_cast() to cast <theReactor>
parameter from ACE_Reactor_Impl to ACE_CLASSIX_Reactor
Tue Jun 23 22:18:42 1998 Douglas C. Schmidt <schmidt@cumbia.cs.wustl.edu>
* examples/Mem_Map/file-reverse/file-reverse.cpp: Fixed a minor
bug where the program would ungraciously core dump if the file
given on the command-line doesn't exist. Thanks to William
S. Lear <rael@dejanews.com> for reporting this.
Tue Jun 23 20:33:30 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Synch.h (ACE_Adaptive_Lock): Added ACE_Export.
Tue Jun 23 18:59:31 1998 Steve Huston <shuston@riverace.com>
* ace/Acceptor.cpp (ACE_Strategy_Acceptor<>::resume()): Don't
suspend() the object; resume() it - looked like a cut/paste error.
Tue Jun 23 16:41:35 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Synch.{h,cpp} (class ACE_Adaptive_Lock): Added the new Lock
class which allows its subclass to determine the actual locking
mechanism it uses at run time. Notice that all subclasses must
provide their own contructor/destructor implementation.
Tue Jun 23 06:40:35 1998 David L. Levine <levine@cs.wustl.edu>
* examples/Map_Manager/test_hash_map_manager.cpp (main):
replaced use of cerr with and ACE_ERROR_RETURN. Thanks
to Philippe Klein <Philippe_Klein@vocaltec.com> for reporting
this.
* netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp:
added #include of ace/streams.h. Thanks to Philippe Klein
<Philippe_Klein@vocaltec.com> for reporting this.
* tests/TSS_Test.cpp (worker): declare "u" globally so that
we don't quickly run out of TSS keys.
Mon Jun 22 09:25:32 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/XtReactor.cpp:
The notify_handler_ is a pointer now, it was still deferenced as
an object.
Mon Jun 22 09:04:21 1998 David L. Levine <levine@cs.wustl.edu>
* include/makeinclude/platform_osf1_4.0.GNU: removed suppression
of warning 340, used reference to copied (temporary) value,
because it's no longer needed.
* ace/Message_Queue.cpp (ACE_Message_Queue_Iterator ctor):
replaced "queue" with "q" to avoid problems with STL or on
platforms that #define queue. Thanks to Dave Meyer
<dmeyer@std.saic.com> for reporting this.
* ace/Synch_T.h: added adapter class ACE_TSS_Type_Adapter.
It adapts built-in types for use with ACE_TSS.
* tests/TSS_Test.cpp: demonstrate/test use of ACE_TSS_Type_Adapter.
* ace/Timeprobe.h: added semicolon to end of
ACE_TIMEPROBE_EVENT_DESCRIPTIONS definition, when it's non-null.
* tests/Timeprobe_Test.cpp (main): removed trailing semicolon
from ACE_TIMEPROBE_EVENT_DESCRIPTIONS, and added ACE_UNUSED_ARGs
to avoid compilation warnings about unused variables.
Mon Jun 22 04:49:29 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* man/windex: Removed ACE_Service_Record from all the
documentation since it is no longer relevant. Thanks
to Ivan Murphy for reporting this.
Mon Jun 22 02:59:42 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Process.cpp (setenv_i): Nedd to adjust the memory size to
the actual string size.
Mon Jun 22 02:32:56 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
* ace/Thread_Manager.h:
* ace/Thread_Manager.cpp:
* ace/Thread_Manager.i:
* ace/OS.cpp (uname):
Moved a few things (comparison operators) from
ACE_Thread_Descriptor to ACE_Thread_Descriptor_Base, to satisfy
Borland compilers.
Enabled a conditional compilation for all Borland compilers.
Thanks to Valik Solorzano Barboza <valik@xs4all.nl> for pointing
these things out.
Mon Jun 22 01:14:36 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
* ace/ACE.bpg:
* ace/ACED.bpr:
* ace/ACER.bpr:
Contained ^M characters.
I also made sure there were no absolute paths pointing to "gonzo"
directories...
* ace/ACED.cpp:
* ace/ACER.cpp:
Added Stats.cpp as a module in the right place.
* ace/OS.h:
Added a ACE_NOOP macro to avoid compilation warnings when "if" is
used as a noop in certain macros.
* ace/Hash_Map_Manager.cpp:
* ace/Map_Manager.cpp:
Replaced the use of "if" as a noop with ACE_NOOP.
* ace/Signal.cpp:
For some obscure reason, Borland needs a blank line between the
#if and the extern "C" void ace_sig_handler_dispatch()
definition. Don't ask...
* ace/Asynch_IO.h:
Changed (again) inheritance for ACE_Asynch_Result from protected
to public.
* tests/Aio_Platform_Test.bpr:
* tests/Atomic_Op_Test.bpr:
* tests/Barrier_Test.bpr:
* tests/Basic_Types_Test.bpr:
* tests/Buffer_Stream_Test.bpr:
* tests/Conn_Test.bpr:
* tests/Enum_Interfaces_Test.bpr:
* tests/Env_Value_Test.bpr:
* tests/Future_Test.bpr:
* tests/Handle_Set_Test.bpr:
* tests/Hash_Map_Manager_Test.bpr:
* tests/IOStream_Test.bpr:
* tests/MM_Shared_Memory_Test.bpr:
* tests/MT_Reactor_Timer_Test.bpr:
* tests/MT_SOCK_Test.bpr:
* tests/Map_Manager_Test.bpr:
* tests/Mem_Map_Test.bpr:
* tests/Message_Block_Test.bpr:
* tests/Message_Queue_Notifications_Test.bpr:
* tests/Message_Queue_Test.bpr:
* tests/Naming_Test.bpr:
* tests/Notify_Performance_Test.bpr:
* tests/OrdMultiSet_Test.bpr:
* tests/Pipe_Test.bpr:
* tests/Priority_Buffer_Test.bpr:
* tests/Priority_Reactor_Test.bpr:
* tests/Priority_Task_Test.bpr:
* tests/Process_Mutex_Test.bpr:
* tests/Process_Strategy_Test.bpr:
* tests/Reactor_Exceptions_Test.bpr:
* tests/Reactor_Notify_Test.bpr:
* tests/Reactor_Performance_Test.bpr:
* tests/Reactor_Timer_Test.bpr:
* tests/Reactors_Test.bpr:
* tests/Reader_Writer_Test.bpr:
* tests/Recursive_Mutex_Test.bpr:
* tests/SOCK_Connector_Test.bpr:
* tests/SOCK_Test.bpr:
* tests/SPIPE_Test.bpr:
* tests/SString_Test.bpr:
* tests/SV_Shared_Memory_Test.bpr:
* tests/Semaphore_Test.bpr:
* tests/Service_Config_Test.bpr:
* tests/Sigset_Ops_Test.bpr:
* tests/Simple_Message_Block_Test.bpr:
* tests/TSS_Test.bpr:
* tests/Task_Test.bpr:
* tests/Thread_Manager_Test.bpr:
* tests/Thread_Mutex_Test.bpr:
* tests/Thread_Pool_Test.bpr:
* tests/Time_Service_Test.bpr:
* tests/Time_Value_Test.bpr:
* tests/Timer_Queue_Test.bpr:
* tests/Tokens_Test.bpr:
* tests/UPIPE_SAP_Test.bpr:
* tests/tests.bpg:
Contained ^M characters.
I also made sure there were no absolute paths pointing to "gonzo"
directories...
Mon Jun 22 01:33:12 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.h (ACE_SYNCH_{1,2}): These two macros were added back for
backward compatibility.
Mon Jun 22 01:12:53 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/OS.i (dlerror): Just use FormatMessageA instead of
FormatMessage. The you don't have to worry about UNICODE being
turned on.
Mon Jun 22 00:01:02 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.15 released.
Sun Jun 21 23:54:28 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/config-freebsd-pthread.h: Defined
ACE_LACKS_MUTEXATTR_PSHARED and ACE_LACKS_CONDATTR_PSHARED.
Sun Jun 21 10:14:32 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/IPC_SAP/SOCK_SAP/CPP-unserver.cpp (server): Fixed
another ambiguity caused by the recent SOCK_IO changes. Thanks
to David for pointing this out.
Sun Jun 21 00:16:56 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.i (dlerror): Have to treat UNICODE differently because
FormatMessage takes wchar when UNICODE is defined.
* ace/WFMO_Reactor.{h,i,cpp}: Changed the parent class of
ACE_WFMO_Reactor_Notify from ACE_Event_Handler to
ACE_Reactor_Notify.
(dump): Added this virtual function implementation for
ACE_WFMO_Reactor_Notify.
* Ace/Proactor.cpp (timeout): Fixed a typo.
Sat Jun 20 16:51:39 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Reactor*: Made a slew of changes to the Reactor and it's
associated implementations so that we can integrate it
seamlessly with Chorus ClassiX IPC. Thanks to Wei Chiang for
these changes.
* ace/Acceptor.cpp: Added a flag that keeps track of whether we should
use select() in the Acceptor. This makes it easier to integrate
this stuff with Chorus IPC. Thanks to Wei Chiang for this.
* examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp: Removed the trailing
0 to the send() operation to (1) avoid overload ambiguity and
(2) to use write() rather than send()! Thanks to Chris Healey
for reporting this.
* ace/ACE: The default condition in the select switch in the
enter_*_timed_wait functions assumed that all values returned
from select if not 0 or 1 will be -1. This is true in those
functions due to only 1 file descriptor flag being set. Thanks
to Chris Healey for generalizing this a bit...
* ace/SOCK_IO: Added the wrappers for the "non-flags" version of
timed send()/recv(). Thanks to Chris Healey for this.
* ace/FILE_Addr.cpp: Cleaned up the code a bit to be more
consistent. Thanks to Chris Healey for suggesting this.
* ace/FILE_Addr.cpp (ACE_FILE_Addr): Removed the memset() in the
constructor since this is overkill...
* ace/ACE.cpp (send_n): Fixed a dump cut&paste bug in the timed
version of send_n(). Thanks to Chris Healey
<chealey@entera.com> for reporting this.
Sat Jun 20 14:58:21 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* bin/indent_macros.perl: Instead of hardcoding perl's location in
the script, it now invokes perl according to user's environment
setting. Thanks to David for providing the improvement.
Sat Jun 20 01:24:28 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* include/makeinclude/platform_freebsd_pthread.GNU: Changed to use
-Wall to report all warnings.
* ace/OS.cpp (thr_create): Specify <priority> as an unused
argument when ACE_LACKS_SETSCHED.
* ace/OS.{h,i,cpp}: Rearrange macro indentations.
* bin/indent_macros.perl: This little perl script rearrange the
indentation of macros so they are a bit easier to debug.
* ace/config-freebsd-pthread.h: Defined ACE_LACKS_PTHREAD_CANCEL.
Sat Jun 20 00:14:07 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu>
* examples/Reactor/Proactor/test_proactor_with_aio.cpp: Test
program for the Asynch_Transmit_File, Asynch_Read_File,
Asynch_Read_Stream, Asynch_Write_File and Asynch_Write_Stream.
Fri Jun 19 23:58:35 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu>
* ace/Proactor.h :
* ace/Proactor.cpp :
* ace/Asynch_IO.h :
* ace/Asynch_IO.cpp :
- Implemented Asynch_Transmit_File for POSIX4 systems.
- Added a new class "ACE_Asynch_Transmit_Handler", which is
an auxillary handler class for Asynch_Transmit_File. This
does the actual transmission doing file read and stream
write asynchronously and finally calling the
transmit_handler in the application.
- Aiocb list is now of size RTSIG_MAX, the maximum number
of RT signals that can be queued in a process at a time.
Fri Jun 19 22:17:35 1998 David L. Levine <levine@cs.wustl.edu>
* bin/make_release (check_workspace): use cvs checkout instead
of update, to notice any new directories that have been added
to the repository but not to the workspace.
There are .cvsignore files in /project/adaptive/ACE_wrappers
and /project/adaptive/ACE_wrappers/java. They can be used
to suppress tripping over any new, uncontrolled files, such
as releases, that are added to these directories.
Filter ^U from checkout output, so that release need not be
based on the latest repository versions. Instead, the release
is based on the contents of the /project/adapative/ACE_wrappers
workspace. It need not be brought up-to-date with the repository,
though it cannot contain any modified files. This change allows
other users to continue to check in files prior to or during the
release.
* examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp (read): added
ACE_UNUSED_ARG (len).
* Makefile: fixed build of .obj/gethrtime.o with ghs/VxWorks/i86.
* tests/run_tests.vxworks: added Timeprobe_Test, but commented
out. That test page faults when built with ghs for Pentium.
It appears that the STL-style iterator usage in ACE_Timeprobe
isn't handled properly by the compiler.
Fri Jun 19 16:51:05 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/config-freebsd-pthread.h (ACE_HAS_NONCONST_MSGSND): Macro
definition added.
* ace/OS.i (sigwait): Suppress compiler warnings on FreeBSD.
(msgsnd): Separated the case ACE_HAS_NONCONST_MSGSND out.
Thanks to Russell L. Carter <rcarter@consys.com> for reporting
the above fix.
Fri Jun 19 11:22:27 1998 David L. Levine <levine@cs.wustl.edu>
* ACE version 4.5.13 released.
Thu Jun 18 21:14:25 1998 David L. Levine <levine@cs.wustl.edu>
* examples/Threads/task_five.cpp: renamed global stack_size
to default_stack_size, to avoid shadowing by stack_size in
main ().
* ace/OS.i (dlopen): added support for ACE_HAS_SGIDLADD.
(dlerror): on WIN32, return a formatted message instead of 0.
Thanks to Kent Watsen <kent@watsen.net> for the diffs.
* ace/config-irix6.x-sgic++-nothreads.h: added ACE_HAS_SGIDLADD.
Thanks to Kent Watsen <kent@watsen.net> for this addition.
* Makefile: ACE-INSTALL is not a .PHONY target.
* ace/Makefile: only regenerate Svc_Conf_[ly].cpp if at Wash. U.
Thu Jun 18 20:46:46 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* performance_tests/Misc/childbirth_time.cpp: Changed to use the
variable MULTIPLY_FACTOR in statistic calculation.
* ace/config-freebsd-pthread.h: Added the following definition:
#define ACE_HAS_SIGINFO_T
#define ACE_LACKS_SIGINFO_H
#define ACE_LACKS_UCONTEXT_H
#define ACE_LACKS_SI_ADDR
* include/makeinclude/platform_freebsd_pthread.GNU: Changed to
invoke linker directly using g++. Added -pthread flag for
linker. This implies programs will link against libc_r
automatically now. Removed -lc_r. Other minor changes.
Thanks very much for lots of help from FreeBSD team esp. Amancio
Hasty <hasty@rah.star-gate.com> and John Birrell
<jb@cimlogic.com.au>.
Thu Jun 18 19:32:30 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Token.cpp (dump): commented out print of owner_. Is
there a portable way to print an ACE_thread_t via ACE_DEBUG?
Thu Jun 18 18:46:00 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Timeprobe.h:
* ace/Timeprobe_T.h:
* ace/Timeprobe_T.cpp:
Added methods to print the absolute values, this can be used to
mix the results of several processes: por example on Sparcs the
high-res timer is a CPU register so the value is consistent
across processes, there are some potential problems with
multiple CPUs, but that's not our case.
Thu Jun 18 16:25:28 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* examples/Threads/task_five.cpp (main): Extracted out the body of
the test loop so that the delete[] gets called everytime the
body gets executed.
* ace/Thread_Manager.cpp (ACE_EXECUTE_OP,kill): We need to guard
against non-existing target thread after searching the thread
table. Thanks to Savas Parastatidis
<Savas.Parastatidis@ncl.ac.uk> for noticing the problem.
Thu Jun 18 09:23:39 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/config-win32-common.h: Fixed the inclusion of winsock
related files. Thanks to Ernesto Guisado
<eguisado@saincotrafico.com> for suggesting this.
Wed Jun 17 22:47:50 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.i (rw_trywrlock_upgrade): moved declaration of
local "result" before the ACE_PTHREAD_CLEANUP_PUSH.
PTHREAD_CLEANUP_PUSH/POP are macros that contain open/
close braces on some platforms. So, any declarations
between them are not visible after the POP.
Wed Jun 17 19:01:53 1998 Nanbor Wang <nanbor@cs.wustl.edu>
The following changes provide an interface for ACE programmers
of more finer control over how Win32 structured exceptions are
handled. Thanks to Detlef Becker <Detlef.Becker@med.siemens.de>
for contemplating the idea and passing it to us.
* ace/Log_Msg.{h,cpp} (seh_except_{selector,handler}): Added
new methods to retrieve/set structured exception handling
behavior. <Selector> is used to determine the "proper" action a
thread should take upon a structured exception and <handler>
performs the actual exception handling routine. They are
structured as below in ace_thread_adapter:
__except (ACE_LOG_MSG->seh_except_selector () (0))
{
ACE_LOG_MSG->seh_except_handler () (0);
}
* ace/OS.{h,cpp} (ACE_SEH_EXCEPT_HANDLER): New typedef used to
define user win32 structured exception handler.
(ACE_SEH_Exception_{Selector,Handler}): Default structured
exception handler. Two handlers ACE_Log_Msg are initialized to
them by default.
(ACE_Thread_Adapter,inherit_log_msg): Added initializing and
inheriting code to pass the spawning thread's structured
exception handling behaviors.
* ace/config-win32-common.h
(ACE_SEH_DEFAULT_EXCEPTION_HANDLING_ACTION): This macro defines
the default action taken by ACE when a win32 structured
exception occurs. It is by default defined to
EXCEPTION_CONTINUE_SEARCH, which does not handle the exception
but simply pass the exception out. Users can overwrite the
default behavior by defining the macro in their config.h files.
Wed Jun 17 17:30:11 1998 Michael Kircher <mk1@cs.wustl.edu>
* ace/OS.h: Added a condition variable and a flag to
the definition of reader/writer locks.
* ace/OS.i: Implemented ACE_OS::rw_trywrlock_upgrade properly
using one condition variable and a flag. The condition
variable is used to get in front of all the possible
waiting writers and to wait on still working readers
on the rw_lock. The flag is used to indicate, that
a reader is upgrading its lock. rw_unlock obeys one more
case now.
* ace/OS.cpp: The constructor for the Reader/writer locks
has changed slightly to initialize and destroy the
new members.
* tests/Reader_Writer_Test.cpp: Added the use of the
rw_mutex.tryacquire_write_upgrade () method to the test.
Wed Jun 17 07:34:11 1998 David L. Levine <levine@cs.wustl.edu>
* tests/IOStream_Test.cpp (server): fixed sign of constant
used to check for valid double. Thanks to Mark Kettner
<m.kettner@elsevier.nl> for reporting this.
* performance-tests/UDP/udp_test.cpp: added a few
ACE_U64_TO_U32 explicit conversions.
* tests/Priority_Buffer_Test.cpp (consumer): re-enabled the
statement to suppress the ghs warning about unused variable
cur_priority.
Tue Jun 16 20:29:32 1998 Steve Huston <shuston@riverace.com>
* ACE-INSTALL.html: Added some comments concerning MSVC 5.0 and SP3.
Thanks to Bill Fulton for the excellent detective work.
Tue Jun 16 16:08:23 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Timeprobe_T.h (class ACE_Timeprobe): Fixed copy constructor
signature. Thanks to Chuck R. Gehr
(GehrCR@LOUISVILLE.STORTEK.COM) for pointing this out.
Tue Jun 16 16:18:08 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/FILE_Addr.cpp (operator=): Check to make sure we
NUL-terminate the memcpy'd filename correctly. Thanks to Istvan
Buki <ibuki@fedex.com> for reporting this.
Tue Jun 16 15:43:55 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ACE-INSTALL.html: Changed to instruct users to #include
"ace/config-win32.h" instead of "config-win32.h" directly.
Thanks to Gonzo <gonzo@ing.puc.cl> for noticing this.
Tue Jun 16 10:33:20 1998 David L. Levine <levine@cs.wustl.edu>
* os-patches/linux-patches.html: added RedHat 5.1 success
report from Chanaka Liyanaarachchi <chanakal@ittc.ukans.edu>.
* ace/Basic_Types.h,High_Res_Timer.cpp,
performance-tests/Misc/basic_perf.cpp:
added explicit ACE_U64_TO_U32 conversion macro. WIN32's __int64
and ACE_U_LongLong need an explicit narrowing to 32 bits. This
macro provides a consistent way to do that on all platforms.
* ace/Asynch_IO.*: added trailing $ to CVS keyword string.
* ace/Asynch_IO.cpp: fixed so that it will compile with Sun CC
on Solaris 2.6. Thanks to Frederic ANDRES <andres@rd.nacsis.ac.jp>
for reporting this.
* ACE-INSTALL.html: updated Linux RedHat info.
Mon Jun 15 23:17:27 1998 David L. Levine <levine@cs.wustl.edu>
* Makefile: added os-patches/ to distribution.
Mon Jun 15 23:07:45 1998 David L. Levine <levine@cs.wustl.edu>
* ACE version 4.5.12 released.
Mon Jun 15 13:58:17 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-chorus.h: replaced comment that said that the
config is for CHORUS using MIT threads with comment that says
that it uses the CHORUS POSIX threads interface. Thanks to
Leo Modica <lmodica@lucent.com> for questioning this, and Wei
Chiang for confirming it.
* os-patches/linux-patches.html: updated glibc info. Thanks
to Bob Scott <bob_scott@broder.com> for pointing out the
glibc-2.0.7-7 is not available from sunsite.
Sat Jun 13 13:10:05 1998 David L. Levine <levine@cs.wustl.edu>
* tests/XtReactor_Test.cpp: moved explicit template instantiations
inside ACE_HAS_XT, because the #includes are all inside
ACE_HAS_XT also.
* tests/XtReactor_Test.cpp: without ACE_HAS_XT, replaced
ACE_ERROR_RETURN with ACE_ERROR. This makes it consistent
with other tests, and allows the following ACE_END_TEST
statement to be reached.
* tests/Process_Mutex_Test.cpp (main): specify full path to
spawned children. Removed Solaris/i386-specific code because
it should no longer be needed now that the test is fixed by
specifying the full path. (acquire_release): removed printout
at top.
* ACE+TAO.tgz,ACE.tgz,ACE-lib.tgz,FSU-threads.tgz: added these
symlinks to their corresponding .tar.gz files. Thanks to
Gonzo and Darrell for suggesting this.
* ace/RB_Tree.i (clear): removed extraneous ";" following the
function definition.
* ace/Process.cpp (spawn): added an ACE_DEBUG printout before each
call to ACE_OS::exit ().
* ace/Synch_T.cpp: removed the #pragma define_template for
ACE_Condition<ACE_Mutex> on __osf__ with cxx. It's no longer
needed, and was causing multiply defined instantiations with
cxx 6.1.
Fri Jun 12 17:04:14 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu>
* ace/OS.h: Moved the #define's and typedef's (related to Proactor
stuff, things like TRANSMIT_BUFFERS etc) under '#if defined
(WIN32)' before OS.i. They were at the end of the file.
Fri Jun 12 16:31:13 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
* ace/OS.h: (ACE_NTOHL, ACE_HTONL): Added macros for conversion
between network and host byte order. Thanks to James Hu for
contributing these.
Fri Jun 12 14:29:40 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/OS.i (sema_wait): Changed the code so that it always treats
the time value argument in absolute time, even for Win32.
Thanks to Chuck Gehr for reporting this.
Fri Jun 12 14:12:25 1998 Carlos O'Ryan <coryan@swarm.cs.wustl.edu>
* include/makeinclude/wrapper_macros.GNU:
The inclusion of the XtReactor is controlled on the
platform_macros file (or the command line).
Users simply type make xt_reactor=1 to enable this feature, or
set xt_reactor to 1 in the platform_macros.GNU file.
Some extra macros were added for platforms that require special
CPP, LD or libraries when linking against X/Windows. The macros
are described in this file.
The platforms that already had XtReactor compiled by default
still do.
* ace/config-irix6.x-sgic++-nothreads.h:
* include/makeinclude/platform_irix6.x-sgic++.GNU:
Now the XtReactor configuration is controlled on the platform
file.
* ACE-INSTALL.html:
Updated documentation for make flags.
* tests/XtReactor_Test.cpp:
Fixed a few typos.
* tests/Conn_Test.cpp:
Fixed some template instantiation pragmas.
Thu Jun 11 22:05:31 1998 David L. Levine <levine@cs.wustl.edu>
* tests/Process_Mutex_Test.cpp (main): kill children on
Solaris/i386 instead of waiting for them. (acquire_release):
added printout at top. It never appears, at least on
g++/Solaris/i386.
* ace/Malloc.cpp (instance): wrap declaration of local "assertion"
with ifndef ACE_NDEBUG, to avoid warning about unused variable
with debug=0.
1998-06-11 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu>
* ace/Proactor.h (ACE_Proactor): Put insert_aiocb_list () under
ACE_HAS_AIO_CALLS so that it doesnt break in NT.
Thu Jun 11 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu>
* ace/OS.h: Added typedef's, #define's and #include's under the
definition ACE_HAS_AIO_CALLS for the proactor porting.
* ace/config-sunos5.6.h: Defined ACE_HAS_AIO_CALLS for
solaris2.6.
* ace/Asynch_IO.h:
* ace/Asynch_IO.cpp: Added aio call support for Asynch_Read_File. See
the code under #if defined (ACE_HAS_AIO_CALLS)
* ace/Proactor.h:
* ace/Proactor.cpp: Added support for AIO calls in Proactor. See
the code under #if defined (ACE_HAS_AIO_CALLS)
* examples/Reactor/Proactor/test_proactor_with_aio.cpp: The test
program for Proactor doing aio stuff.
Thu Jun 11 13:34:26 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* ace/OS.cpp: Made change to uname to use a different structure
if certain Borland compilers are being used. Thanks to
Valik Solorzano <valik@geodan.nl> for this fix.
* bin/make_release: create .zip files in addition to .tar.gz files.
Thu Jun 11 11:15:26 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/XtReactor.cpp:
The notify_handler_ open method requires an extra argument.
Wed Jun 10 14:31:55 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Strategies_T.cpp (ACE_Recyclable ctors): reordered
initializers to match declaration order.
* tests/Conn_Test.cpp: fixed template instantiations:
ACE_SYNCH_MUTEX instead of ACE_SYNCH_RW_MUTEX.
* tests/XtReactor_Test.cpp (main): added ACE_UNUSED_ARGS for
argc and argv without ACE_HAS_XT.
Wed Jun 10 12:34:25 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Strategies_T: Added two new template classes: ACE_Recyclable
and ACE_Hash_Recyclable. ACE_Recyclable adds a recyclable flag
to the class it is instantiated with. ACE_Hash_Recyclable
inherits from ACE_Recyclable and forces the class it is
instantiated with to have a hash() method.
Also, the Hash_Addr was fixed so that it does not have the
recyclable flag anymore, since the Hash_Addr can be used even
when there is no recycling.
Also updated the ACE_Cached_Connect_Strategy to reflect these
changes.
* tests/Conn_Test.cpp: Fixed the template instantiations in lieu
of the changes to Hash_Addr.
Wed Jun 10 11:05:39 1998 David L. Levine <levine@cs.wustl.edu>
* bin/make_release: replaced ACE_wrappers-repository/ with
ACE_wrappers/ in diffs. Thanks to James Risinger <jrisinge@cgi.com>
for reporting this.
Wed Jun 10 01:31:46 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
* tests/Tokens_Test.cpp:
Changed how the Borland template instantiations are protected.
* tests/XtReactor_Test.cpp:
test_config.h must be included before asking for ACE_HAS_XT.
Was missing the Borland non-sense.
* tests/UPIPE_SAP_Test.cpp:
Protected the Borland template instantiations.
* tests/Timeprobe_Test.cpp:
* tests/Time_Value_Test.cpp:
Added the Borland non-sense.
* tests/Reactor_Timer_Test.cpp:
Added a couple of casts to avoid warnings.
* tests/Priority_Buffer_Test.cpp:
Got rid of a (seemingly) useless piece of code.
* tests/Naming_Test.cpp:
Modified a test so that it won't give warnings.
* tests/Conn_Test.cpp:
Was missing the Borland non-sense.
Modified an #if-protected section to get rid of a warning.
Added a few extra Borland template instantiations.
* ace/WFMO_Reactor.cpp:
* ace/SOCK_Dgram.cpp:
Under Borland, a couple of comparisons were always true (with a
warning) because of unsignedness.
* ace/Malloc.cpp:
Assigned the consition of an assertion to a temporary variable to
avoid a misleading warning.
* ace/Get_Opt.cpp:
Added an explicit comparison against 0 to avoid a warning.
* ace/ACED.cpp:
* ace/ACER.cpp:
These files had been commited with ^M at the end of lines.
* ace/ACE.cpp:
Changed a couple of run time checks for
ACE_DIRECTORY_SEPARATOR_CHAR into compile time tests; that got rid
of a couple of warnings under BCB3 (Borland C++ Builder 3.0).
* ace/ACE.cpp:
* tests/Conn_Test.cpp:
Used ACE_NOTREACHED to avoid further warnings.
* ace/OS.h:
Added Borland to the empty definition of ACE_NOTREACHED.
The definition of ACE_SEH_FINALLY for the case of Borland C++
Builder 3.0 now uses __finally. This allowed most of the tests
that were hanging to complete ok. Thanks to David Tallman
<tallman@acsys.com> for pointing this out.
Tue Jun 9 19:35:26 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/XtReactor: Integrated the new XtReactor, which should now
work for Windows NT! Thanks to Kirill Rybaltchenko
<Kirill.Rybaltchenko@cern.ch> for this.
* tests: Added the new XtReactor_Test.cpp to test the features of
the XtReactor. Thanks to Kirill Rybaltchenko
<Kirill.Rybaltchenko@cern.ch> for this test.
Tue Jun 09 16:18:54 1998 David L. Levine <levine@cs.wustl.edu>
* Makefile: removed old release targets. They're no longer
used, or maintained.
* include/makeinclude/platform_sunos5_x86_g++.GNU: removed.
Use platform_sunos5_g++.GNU instead, on both sparcs and x86.
Tue Jun 09 15:25:13 1998 David L. Levine <levine@cs.wustl.edu>
* ACE version 4.5.11 released.
Tue Jun 9 14:59:15 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* ace/OS.cpp: Made it so both Borland and Microsoft use the
x.wProcessorArchitecture structure for system info.
Tue Jun 09 14:35:28 1998 David L. Levine <levine@cs.wustl.edu>
* tests/Tokens_Test.cpp,UPIPE_SAP_Test.cpp: only need the
template instantiations with Borland C++.
* bin/make_release: create version diffs, in background,
when creating releases.
Tue Jun 09 12:50:49 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/ACE_Library.mak: Added Stats.cpp.
Tue Jun 09 11:51:17 1998 Chris Gill <cdgill@tango.cs.wustl.edu>
* tests/MM_Shared_Memory_Test: added a null pointer check so
test complains rather than crashing when shared allocator fails.
Mon Jun 8 21:03:23 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Select_Reactor.cpp (any_ready): Fixed a more unrighteous bug
where we were assigning the values in the wait_set_ rather than
the ready_set_. Thanks to Stefan Ericsson
<Stefan.Ericsson@osd.uab.ericsson.se> for reporting this bug.
Mon Jun 8 19:15:38 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Malloc.h:
* ace/Malloc_Base.h (ACE_Allocator): Moved the definition of
abstract class ACE_Allocator from Malloc.h to a new file called
Malloc_Base.h to resolve a circular dependency among a bunch of
header files when compiling with UNICODE and inline enabled.
* ace/SString.i: Changed to include "ace/Malloc_Base.h" to avoid
circular inclusion.
Mon Jun 08 18:35:23 1998 Steve Huston <shuston@riverace.com>
* ACE-INSTALL.html: Added some updated HP-UX info (and a pointer to
Riverace's HP-UX hints page) and removed the warning to not use
MSVC 5.0 SP3 - per results from ace-users discussions last week,
SP3 is getting used successfully.
Mon Jun 08 13:22:47 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Basic_Types.h: set ACE_SIZEOF_LONG_DOUBLE to 12 if
LDBL_MAX_EXP is 16384 and LDBL_DIG is 18. Thanks to
Sree Oggu <dharani@sutmyn.com> for reporting this, on
SolarisX86 with Sun C++.
* ace/Malloc.cpp (instance): cleaned up comments.
Mon Jun 8 12:12:39 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* tests/UPIPE_SAP_Test.cpp:
Template instantiation was not using the ACE_SYNCH macros.
Mon Jun 8 02:17:54 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
* ACE-INSTALL.html:
Added a comment regarding the new port to Borland C++ Builder.
* ace/ACE.bpg:
* ace/ACED.bpr:
* ace/ACED.cpp:
* ace/ACER.bpr:
* ace/ACER.cpp:
* ace/ACE.cpp:
Got rid of unused const int MAX_STRING_SZ = 4096.
* ace/Asynch_Acceptor.cpp:
* ace/Asynch_IO.cpp:
* ace/Msg_WFMO_Reactor.cpp:
* ace/config-win32-common.h:
Replaced the use of _WIN32_WINNT with ACE_HAS_WINNT4. Borland C++
Builder doesn't handle _WIN32_WINNT very well when building under
Win95.
* ace/Asynch_IO.h:
Now ACE_Asynch_Result inherits publicly from OVERLAPPED;
otherwise, Borland C++ Builder refuses to access OVERLAPPED
members. I'm not sure who's right or wrong here.
* ace/CORBA_Ref.h:
Added an #include "ace/ACE.h".
* ace/Future.h:
Two cosmetic changes.
* ace/LOCK_SOCK_Acceptor.cpp:
Added an #include /**/ "ace/LOCK_SOCK_Acceptor.h".
* ace/Log_Msg.cpp:
Borland C++ Builder doesn't like extern int sys_nerr, so I
protected against it.
* ace/OS.cpp:
A couple of hacks to handle FILETIMEs and SYSTEM_INFO structs,
which are defined a little different under Borland C++ Builder.
* ace/OS.h:
Added support for Borland C++ Builder.
* ace/OS.i:
Borland C++ Builder handles a few functions differently: close,
SetFilePointer, wfdopen.
* ace/Synch_T.h:
A comment on an #else spanned several lines and mixed // and /**/
styles; hard to read.
* ace/TTY_IO.cpp:
A switch was not properly indented and, as a result, had an extra
break that made Borland C++ Builder complain.
* ace/WFMO_Reactor.cpp:
Got rid of a couple of unused local variables called result.
* ace/config-win32-common.h:
Added a few defines for Borland C++ Builder. Don't know if
this is the proper way to do it, but there it is.
* tests/Aio_Platform_Test.bpr:
* tests/Atomic_Op_Test.bpr:
* tests/Barrier_Test.bpr:
* tests/Basic_Types_Test.bpr:
* tests/Buffer_Stream_Test.bpr:
* tests/Conn_Test.bpr:
* tests/Enum_Interfaces_Test.bpr:
* tests/Env_Value_Test.bpr:
* tests/Future_Test.bpr:
* tests/Handle_Set_Test.bpr:
* tests/Hash_Map_Manager_Test.bpr:
* tests/IOStream_Test.bpr:
* tests/MM_Shared_Memory_Test.bpr:
* tests/MT_Reactor_Timer_Test.bpr:
* tests/MT_SOCK_Test.bpr:
* tests/Map_Manager_Test.bpr:
* tests/Mem_Map_Test.bpr:
* tests/Message_Block_Test.bpr:
* tests/Message_Queue_Notifications_Test.bpr:
* tests/Message_Queue_Test.bpr:
* tests/Naming_Test.bpr:
* tests/Notify_Performance_Test.bpr:
* tests/OrdMultiSet_Test.bpr:
* tests/Pipe_Test.bpr:
* tests/Priority_Buffer_Test.bpr:
* tests/Priority_Reactor_Test.bpr:
* tests/Priority_Task_Test.bpr:
* tests/Process_Mutex_Test.bpr:
* tests/Process_Strategy_Test.bpr:
* tests/Reactor_Exceptions_Test.bpr:
* tests/Reactor_Notify_Test.bpr:
* tests/Reactor_Performance_Test.bpr:
* tests/Reactor_Timer_Test.bpr:
* tests/Reactors_Test.bpr:
* tests/Reader_Writer_Test.bpr:
* tests/Recursive_Mutex_Test.bpr:
* tests/SOCK_Connector_Test.bpr:
* tests/SOCK_Test.bpr:
* tests/SPIPE_Test.bpr:
* tests/SString_Test.bpr:
* tests/SV_Shared_Memory_Test.bpr:
* tests/Semaphore_Test.bpr:
* tests/Service_Config_Test.bpr:
* tests/Sigset_Ops_Test.bpr:
* tests/Simple_Message_Block_Test.bpr:
* tests/TSS_Test.bpr:
* tests/Task_Test.bpr:
* tests/Thread_Manager_Test.bpr:
* tests/Thread_Mutex_Test.bpr:
* tests/Thread_Pool_Test.bpr:
* tests/Time_Service_Test.bpr:
* tests/Time_Value_Test.bpr:
* tests/Timer_Queue_Test.bpr:
* tests/Tokens_Test.bpr:
* tests/UPIPE_SAP_Test.bpr:
* tests/tests.bpg:
Added these Borland C++ Builder project files.
* tests/Aio_Platform_Test.cpp:
* tests/Atomic_Op_Test.cpp:
* tests/Barrier_Test.cpp:
* tests/Basic_Types_Test.cpp:
* tests/Buffer_Stream_Test.cpp:
* tests/Enum_Interfaces_Test.cpp:
* tests/Env_Value_Test.cpp:
* tests/Future_Test.cpp:
* tests/Handle_Set_Test.cpp:
* tests/Hash_Map_Manager_Test.cpp:
* tests/IOStream_Test.cpp:
* tests/MM_Shared_Memory_Test.cpp:
* tests/MT_Reactor_Timer_Test.cpp:
* tests/MT_SOCK_Test.cpp:
* tests/Map_Manager_Test.cpp:
* tests/Mem_Map_Test.cpp:
* tests/Message_Block_Test.cpp:
* tests/Message_Queue_Notifications_Test.cpp:
* tests/Message_Queue_Test.cpp:
* tests/Naming_Test.cpp:
* tests/Notify_Performance_Test.cpp:
* tests/OrdMultiSet_Test.cpp:
* tests/Pipe_Test.cpp:
* tests/Priority_Buffer_Test.cpp:
* tests/Priority_Reactor_Test.cpp:
* tests/Priority_Task_Test.cpp:
* tests/Process_Mutex_Test.cpp:
* tests/Process_Strategy_Test.cpp:
* tests/Reactor_Exceptions_Test.cpp:
* tests/Reactor_Notify_Test.cpp:
* tests/Reactor_Performance_Test.cpp:
* tests/Reactor_Timer_Test.cpp:
* tests/Reactors_Test.cpp:
* tests/Reader_Writer_Test.cpp:
* tests/Recursive_Mutex_Test.cpp:
* tests/SOCK_Connector_Test.cpp:
* tests/SOCK_Test.cpp:
* tests/SPIPE_Test.cpp:
* tests/SString_Test.cpp:
* tests/SV_Shared_Memory_Test.cpp:
* tests/Semaphore_Test.cpp:
* tests/Service_Config_Test.cpp:
* tests/Sigset_Ops_Test.cpp:
* tests/Simple_Message_Block_Test.cpp:
* tests/TSS_Test.cpp:
* tests/Task_Test.cpp:
* tests/Thread_Manager_Test.cpp:
* tests/Thread_Mutex_Test.cpp:
* tests/Thread_Pool_Test.cpp:
* tests/Time_Service_Test.cpp:
* tests/Time_Value_Test.cpp:
* tests/Timer_Queue_Test.cpp:
* tests/Tokens_Test.cpp:
* tests/UPIPE_SAP_Test.cpp:
Added the Borland non-sense to allow the tests to link against the
ACE library under Borland C++ Builder. Major pain in the rear
end...
* tests/test_config.h:
Added a couple of includes for the case of Borland C++ Builder.
* tests/Hash_Map_Manager_Test.cpp:
Changed variable name allocator to alloc, to avoid conflicts with
STL allocators under Borland C++ Builder.
* tests/Reactors_Test.cpp:
Changed variable name tm to thr_mgr, to avoid conflicts with
std::tm under Borland C++ Builder.
* tests/Tokens_Test.cpp:
* tests/UPIPE_SAP_Test.cpp:
Added a few explicit template instantiations.
Sun Jun 07 09:51:02 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Timeprobe_T.cpp: added #include of ace/Timeprobe.h.
It wouldn't compile on GreenHills without it.
* STL/bool.h: only #define bool, etc., if _MSC_VER is #defined.
Thanks to Stanley Leeson <STANLEY.D.LEESON@cdev.com> for
reporting this.
* tests/Timeprobe_Test.cpp: added #include of ace/Timeprobe.cpp
to pick up template instantiations, if ACE_COMPILE_TIMEPROBES
was not defined. This allows the test to build on platforms
that have explicit template instantiation when libACE was
built without timeprobes enabled.
Sun Jun 7 01:06:12 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/config-freebsd-pthread.h: Added the
ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS flag to work around problems
with pthreads on FreeBSD. Thanks to Amancio Hasty
<hasty@rah.star-gate.com> for reporting this.
Sat Jun 6 22:00:54 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
* ace/Message_Queue.cpp: Added code so that advance() is more
thread-safe.
* apps/gperf/src/Options.cpp (operator): Changed ACE_OS::exit()
to ACE_OS::_exit() so we'll leave no trace...
* apps/gperf/src/Key_List.cpp (output_switch): Fixed another bug
where strcmp() should be generated instead of strncmp().
* apps/gperf/src: We no longer call the inline option "GNU" but
now call it "INLINE".
* apps/gperf/src/{Options.h,Key_List.cpp,Gen_Perf.cpp}: Revised
the LARGE_STACK_ARRAY code so that it only gets compiled if
we're using GCC.
* apps/gperf/src/Key_List.cpp (output_switch): Fixed a bug where
strcmp() was being used instead of strncmp(). Thanks to C++
for finding this!
* apps/gperf/src/Key_List.cpp: Removed all uses of "register"
since C++ compilers can do this automagically...
* apps/gperf/tests/test.cpp (main): Modified the test program to
use C++ rather than C (ugh!).
* ace: Added two new files: Timeprobe_T.h and Timeprobe_T.cpp in
order to solve problems with multiply defined symbols. Thanks
to Brian Mendel, David Levine, and Irfan for tracing this down.
Sat Jun 6 19:10:54 1998 Sergio Flores <sergio@cs.wustl.edu>
* ace/config-vxworks5.x.h: changes the default thread priority
from 6 to 101.
Sat Jun 06 16:43:01 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Timeprobe.cpp (dtor): inserted missing "[]" in delete of
array.
Fri Jun 5 11:53:18 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* ace/Log_Msg.{h,cpp}: Added enable_debug_messages() to do
the opposite of disable_debug_messages().
* ace/Parse_Node.cpp: Got rid of all the checks of the
Service Configurator's debug flag. Instead, the checking
will occur in the Service Configurator.
* ace/Service_Config.cpp: Added to Stephen Coy's changes so
that debug messages are turned back on after the Service
Configurator is done. That way, other code can still use
debug messages.
Thu Jun 4 12:25:48 1998 Rajiv C. Gandhi <gandhi@tango.cs.wustl.edu>
* apps/gperf/src/Options.h: removing the option to stack
allocate some large arrays as CC does not seem to like it.
* apps/gperf/src/Key_List.cpp (output_lookup_array): removing
the option to stack allocate some large arrays as CC does
not seem to like it.
* apps/gperf/src/Gen_Perf.cpp: removing the option to stack
allocate some large arrays as CC does not seem to like it.
Thu Jun 04 05:03:09 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.10 released.
Wed Jun 3 02:24:47 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/config-win32-common.h: Instead of defining _MT for users if
it's not defined, spit out an error message and stop the
compilation. Thanks to Barney Dalton
<barneyd@cyllene.uwa.edu.au> for suggesting this.
Tue Jun 02 20:03:51 1998 Steve Huston <shuston@riverace.com>
* ace/config-hpux-1[01].x-hpc++.h: Added ACE_HAS_USING_KEYWORD for
aC++ on both platforms.
Tue Jun 02 12:19:29 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Thread_Manager.cpp (wait_grp,wait_task): These two were
still copying thread_descriptors and deleting the copies
directly. This corrupted the cached thread_descriptor.
Changing them to use Thread_Descriptor_Base solved the problem.
Thanks to Zoran Ivanovic <zorani@pathcom.com> for finding
this.
Tue Jun 02 08:29:20 1998 David L. Levine <levine@cs.wustl.edu>
* include/makeinclude/wrapper_macros.GNU,ACE-INSTALL.html:
moved probe=1 support from individual Makefiles to
wrapper_macros.GNU.
Tue Jun 02 08:09:41 1998 Steve Huston <shuston@riverace.com>
* ace/config-aix-4.1.x.h: Removed ACE_HAS_THREAD_SELF. It was
causing compile failure. Thanks to Lee Nash <rnash@gulfaero.com>
for helping to work this out.
Mon Jun 01 16:19:52 1998 Steve Huston <shuston@riverace.com>
* examples/Reactor/Dgram/Dgram.mdp, Dgram.mak: Added these files
to build the examples with MSVC 4.2.
Mon Jun 01 13:01:14 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* examples/Reactor/Dgram/Dgram.cpp (run_test): Because of the
delayed de-registration in WFMO_Reactor, WFMO_Reactor was trying
to call handle_close on the Event Handler after it was
destroyed. Solution: dynamically created the Event Handler and
call "delete this" in handle_close. The other alternative was
to call remove_handler with the DONT_CALL flag and to close the
socket in the Event Handler's destructor.
* ace/Timeprobe: The vxworks compiler is lame as it cannot handle
operator placement new for arrays. Therefore, ACE_Allocator was
removed in favor of regular new and delete.
Mon Jun 01 09:54:51 1998 David L. Levine <levine@cs.wustl.edu>
* tests/Timeprobe_Test.cpp: removed trailing ; from template
instantation pragmas.
* tests/Conn_Test.cpp,MM_Shared_Memory_Test.cpp,
Priority_Reactor_Test.cpp,SOCK_Test.cpp: replaced
!defined (ACE_WIN32) && !defined (VXWORKS) with
!defined (ACE_LACKS_FORK).
Sun May 31 23:05:10 1998 David L. Levine <levine@cs.wustl.edu>
* ACE-INSTALL.html,include/makeinclude/wrapper_macros.GNU:
added repo=1 make option support. It only helps when
building ACE applications. ACE and TAO still use explicit
instantiation when building their libraries, because it's
easiest to avoid link collisions that way. And it already
works.
Sun May 31 18:31:24 1998 James C Hu <jxh@cs.wustl.edu>
* ace/RB_Tree.i:
* ace/RB_Tree.cpp: Changes suggested by Sergio to make it work
with older version of GCC. Referred to RB_Tree_Node_Color
through the parent class RB_Tree_Node_Base.
Sat May 30 13:14:18 1998 James C Hu <jxh@cs.wustl.edu>
* ace/RB_Tree.h: Try to put enum into a class again. This time,
created a dummy base class to hold the RED and BLACK enums.
Sat May 30 08:01:31 1998 David L. Levine <levine@cs.wustl.edu>
* ace/RB_Tree.h (RB_Tree_Iterator::operator =): Added explicit
return type to the declaration. Wrapped with
ACE_UNIMPLEMENTED_FUNC.
Fri May 29 23:06:02 1998 David L. Levine <levine@cs.wustl.edu>
* ace/RB_Tree.{h,i}: moved enum RB_Tree_Node_Color out of the
(template) class declaration because g++ 2.7.2.3 couldn't
find it there.
* ace/Thread_Manager.cpp (remove_thr, VxWorks only): added [] to
delete of tid array. Thanks to Arturo Montes
<mitosys@colomsat.net.co> for reporting this.
* ace/RB_Tree.h (RB_Tree_Iterator::operator =): added explicit
return type to the declaration. Wrapped with
ACE_UNIMPLEMENTED_FUNC.
Fri May 29 21:59:01 1998 James C Hu <jxh@cs.wustl.edu>
* RB_Tree.h:
* RB_Tree.i:
* RB_Tree.cpp: Debugged some minor typo errors, and changes
related to internalizing the RED and BLACK enums.
Fri May 29 21:55:11 1998 David L. Levine <levine@cs.wustl.edu>
* ace/High_Res_Timer.cpp: don't use ACE_HAS_PENTIUM code on
Solaris (ACE_HAS_HI_RES_TIMER) because it uses ::gethrtime ().
(dump): on Solaris, print 64-bit ints with %llu format. Other
platforms may need that, also.
* ace/Makefile: replaced .o with $(OBJEXT) in gethrtime.o target,
so that make depend doesn't munge it.
* ace/OS.h: only use the null versions of the
ACE_DES_FREE_TEMPLATE* macros with LynxOS 3.0.0.
* include/makeinclude/platform_lynxos.GNU: commented out -Winline,
because it complains too much with -O2, and that's now the default.
Fri May 29 17:52:37 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.9 released.
Fri May 29 16:19:34 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
* ace/Synch_T.h (class ACE_Guard): ACE_Guard's destructor was
changing the errno value. Fixed this to avoid doing so...
Thanks to Arturo Montes <mitosys@colomsat.net.co> for reporting
this.
Fri May 29 15:33:41 1998 David L. Levine <levine@cs.wustl.edu>
* performance-tests/Misc/context_switch_time.cpp:
added Synchronized Suspend-Resume Test.
Fri May 29 14:46:49 1998 James C Hu <jxh@cs.wustl.edu>
* ace/Makefile
* ace/RB_Tree.h
* ace/RB_Tree.cpp: Added changes to RB_Tree to enable overloading
of the comparison method. Added class RB_Tree to the UNIX
Makefile.
* ace/OS.cpp: Added some minor fixes to the difftime implementation.
* ace/OS.cpp:
* ace/OS.i:
* ace/README:
* ace/config-sunos4*:
Added ACE_LACKS_DIFFTIME macro because SunOS4 does not support
the Standard C difftime function. Added a difftime
implementation for when such is the case.
Fri May 29 08:22:36 1998 Steve Huston <shuston@riverace.com>
* ace/Log_Msg.cpp, Trace.cpp: Changed decision for
order-of-include/inline from ACE_WIN32 to
ACE_HAS_ONE_DEFINITION_RULE. This completes the changes needed
to be able to use the newer versions of HP aC++.
* ace/config-win32.h: Set ACE_HAS_ONE_DEFINITION_RULE.
Thu May 28 16:17:41 1998 Steve Huston <shuston@riverace.com>
* ace/README: Added ACE_HAS_ONE_DEFINITION_RULE.
* ace/config-hpux-10.x-hpc++.h:
* ace/config-hpux-11.x-hpc++.h: Added ACE_HAS_ONE_DEFINITION_RULE
for aC++. This is part of a set of changes to make ACE work
with HP aC++ A.01.09 (10.20) and A.03.05 (11.00). The other
changes are being tested still. Thanks _very_ much to Steve Coy
for digging through this with HP and working out a solution!
Thu May 28 15:55:48 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
* Added new configuration files for SCO. Thanks to Arturo for
this.
Thu May 28 13:57:50 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Filecache.cpp: removed redundant template instantiations.
* ace/config-lynxos.cpp: added undef ACE_HAS_TEMPLATE_SPECIALIZATION
for LynxOS 3.0.0.
* ace/Hash_Map_Manager.cpp,Map_Manager.cpp: replaced bare explicit
destructor calls with ACE_DES_FREE_TEMPLATE{,2} macro invocations.
* ace/OS.h: #define ACE_DES_FREE_TEMPLATE to be null on LynxOS.
Without it, the g++ that's distributed with LynxOS 3.0.0 hopelessly
chokes on explicit calls to template class destructors. This
hack could cause memory leaks, though currently ACE_DES_FREE_TEMPLATE
is only used to call empty, non-virtual destructors (in
Containers.cpp, Hash_Map_Manager.cpp, and Map_Manager.cpp).
Also, added ACE_DES_FREE_TEMPLATE2 macro for use with two
template arguments. There's got to be a better way.
* include/makeinclude/platform_lynxos.GNU: added LynxOS Version 3.0.0
support. It's optional at this point: add VERSION=3.0.0 to your
make invocation to enable. Disabled -Wall with LynxOS 3.0.0.
Enabled optimization.
Thu May 28 07:47:41 1998 Steve Huston <shuston@riverace.com>
* tests/SOCK_Connector_Test.cpp: Changed the "should succeed" test
from port 25 (smtp) to 7 (echo) to try and get a higher success
rate. Thanks to David Levine for this suggestion.
Wed May 27 13:45:24 1998 Steve Huston <shuston@riverace.com>
* ace/ACE.cpp (handle_timed_complete): Fixed problem where
successful connect was being reported as a failure (P90).
* tests/SOCK_Connector_Test.cpp: Added a test for a successful
non-blocking connect (tests fix from above).
Wed May 27 07:04:42 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Service_Config.cpp: default debug_ to 1 instead
of 0. And the -d option now disables debug messages,
instead of enabling them. Thanks to Irfan for reporting
that LM_DEBUG messages were lost without this fix.
* ace/High_Res_Timer (calibrate): added calibrate () method
to calculate the global scale factor on Pentiums. It's
called by the constructor for the first instantiation
in a process. (On WIN32, get_registry_scale_factor () is
called instead of calibrate ().)
* ace/Stats.cpp (sample): continue aggregating data even
if there is overflow. This allows, e.g., a mean to be
calculated even if the standard deviation calculation overflow.
* performance-tests/Misc/context_switch_time.cpp: don't run the
Yield_Test on VxWorks because it takes too long.
* ace/High_Res_Timer.*: moved calibration from constructor to
global_scale_factor () accessor.
* ace/Timeprobe.cpp: no longer need to explicitly calibrate the
High_Res_Timer.
Tue May 26 22:25:18 1998 Stephen Coy <stevec@wsa.com.au>
* ace/Log_Msg.{h,cpp},Service_Config.cpp: added support for
-d in Service_Config files to enable/disable LM_DEBUG messages.
Tue May 26 14:53:21 1998 Steve Huston <shuston@riverace.com>
* ace/SOCK_Dgram_Mcast.cpp (subscribe): Fixed use of uninitialized
variable, nr_subscribed. Thanks to Nanbor for finding this.
Tue May 26 13:39:21 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Timeprobe.cpp:
* tests/Timeprobe_Test.cpp:
Now egcs and Sun/CC are happy with this files.
Tue May 26 00:35:49 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* tests/Timeprobe_Test.cpp: Added new test.
* ace/Timeprobe: Added the ability to have multiple event tables
for time probes. Multiple maps can be used to chunk up the time
probes. Each one can be added by calling event_descriptions().
Different tables are used internally by consulting the
minimum_id for each table. It is up to the user to make sure
that multiple tables do not share the same event id range.
Sat May 23 21:52:49 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Message_Block.h:
* ace/Message_Block.i:
The rd_ptr() and wr_ptr() are const methods now.
Sat May 23 00:18:58 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/ace_ce_dll.dsp: Updated settings for MIPS CPU.
* tests/WinCE/*.dsp: Updated settings for MIPS CPU.
Fri May 22 16:00:03 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* tests/MT_SOCK_Test.cpp (spawn): We must check for !defined
(ACE_LACKS_FORK) rather test for VxWorks or Win32. Thanks to
Steven Coy for reporting this.
Fri May 22 20:01:40 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.h: moved ACE_IO_Vector declaration ahead of OS.i #include.
* ace/OS.i (ACE_IO_Vector::buffer): added static cast of new_buffer
to char *.
* ace/OS.i (writev): changed return type from int to ssize_t to
match declaration in OS.h.
Fri May 22 12:20:11 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace: Other parts of ACE were modified to use the new
ACE_IO_Vector class.
* ace/OS.h (ACE_IO_Vector): Added a new class that inherits from
the correct IO_Vector class provided by the platform.
writev() and readv() were being emulated on Win32 in ACE. A new
ACE_OS::writev() and ACE_OS::readv() has been added to ACE
that uses WSASend() and WSARecv() respectively. However, in
order for you to exploit these new functions, you must use
ACE_IO_Vector instead of iovec. The ideal situation would have
been to totally replace iovec with ACE_IO_Vector but that would
break too much code. So, if you keep using iovec, you will use
the expenses and slow emulations. If you want to use WSASend()
and WSARecv(), switch over to ACE_IO_Vector. It will work on
both Win32 and non-Win32 platforms.
Fri May 22 07:53:03 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-linux-pthread.h: removed two
ACE_LACKS_CONDATTR_PSHARED #defines. That leaves just
one, that's commented out.
* performance-tests/Misc/context_switch_time.cpp: create all
threads as detached so they don't have to be joined. They
test was using up resources on LynxOS, if a high -c option
was used, without this change.
* ace/config-sunos5.5-{g++,sunc++-4.x}.h,config-sunos5.5.h:
merged config-sunos5.5-g++.h and config-sunos5.5-sunc++-4.x.h
into config-sunos5.5.h. That new file should be maintained
for both compilers from now on. The old files have been
retained for backward compatibility. The just #include
config-sunos5.5.h.
* ace/config-sunos5.6.h: #include config-sunos5.5.h instead
of the separate Sun C++ and g++ configs.
* include/makeinclude/platform_sunos5_sunc++.GNU:
updated comment to reflect change to config-sunos5.5.h.
Fri May 22 07:30:23 1998 David L. Levine <levine@cs.wustl.edu>
* ACE version 4.5.8 released.
Fri May 22 07:26:06 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Stats.cpp: added some casts to avoid MSVC++ warnings
about narrowing.
* ace/config-osf1-4.0.h: removed commented-out
ACE_LACKS_{COND,MUTEX}ATTR_PSHARED.
Fri May 22 00:09:15 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Local_Tokens.{h,cpp} (ACE_Null_Token): Only defined default
ctor/dtor explicitly when ACE_LACKS_INLINE_FUNCTIONS.
* ace/Stats.cpp: Defined ACE_BUILD_DLL at the beginning.
Win32 needs to define ULONGLONG literals as 999ui64.
This is the only place that uses i64 literals.
Thu May 21 21:55:09 1998 David L. Levine <levine@cs.wustl.edu>
* ACE version 4.5.7 released.
Thu May 21 17:36:37 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-sunos5.6.h: added support for POSIX 199506
extensions. Thanks to J. Russell Noseworthy
<rnosewor@objectsciences.com> for providing this support.
* ace/Local_Tokens.{h,i}: inlined ACE_Null_Token ctor and dtor
in class header because the clone () method needs the ctor
inlined, and it's too difficult to get it right with macros.
* tests/SString_Test.cpp (main): added ACE_ASSERT with s4 in
it, because it was unused otherwise.
* performance-tests/Synch-Benchmarks/Options.cpp (print_results):
changed #else to #elif, because it has a condition after it.
Thu May 21 15:28:07 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/test_config.h: Modified to write output from tests into
log file. Notice that log files on CE have extension name
".txt" instead of ".log".
* ace/OS.i (strrchr): Added UNICODE version of this function.
* ace/Log_Record.{h,cpp}: Generalized message formatting on CE by
adding a new method format_msg().
* ace/Reactor_Impl.h: Removed an extra comma.
* ace/XtReactor.cpp: Include "ace/Reactor.h"
* tests/Recursive_Mutex_Test.cpp:
* tests/Future.cpp: Removed iteration restriction on CE.
Thu May 21 12:13:36 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/ace_{dll,lib}.dsp: Added Stats.cpp into projects.
Wed May 20 23:02:41 1998 Steve Huston <shuston@riverace.com>
* ace/SOCK_Dgram_Mcast.cpp (subscribe): On Win32, if
ACE::get_ip_interfaces finds less than 2 interfaces, call
subscribe with "0.0.0.0". This is sort of a hack and is meant
only to help get things working again until ACE::get_ip_interfaces
can be made to work correctly in all cases.
Wed May 20 10:42:12 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-mvs.h: enabled ACE_LACKS_CONDATTR_PSHARED and
ACE_LACKS_MUTEXATTR_PSHARED. Thanks to Chuck Gehr
<GehrCR@LOUISVILLE.STORTEK.COM> for advising on this.
* ace/config-linux-lxpthreads.h,config-lynxos.h: removed
commented-out ACE_LACKS_{COND,MUTEX}ATTR_PSHARED #defines.
* ace/config-sunos5.5-{sunc++-4.x,g++}.h: removed
commented-out ACE_LACKS_{COND,MUTEX}ATTR_PSHARED. Enabled
ACE_HAS_CLOCK_GETTIME, because we always link with -lposix4.
Thanks to J. Russell Noseworthy <rnosewor@objectsciences.com>
for inspiring the ACE_HAS_CLOCK_GETTIME enable.
* ace/config-osf1-4.0.h: removed uncommented
ACE_LACKS_CONDATTR_PSHARED, so that we can test whether
it's necessary.
* ace/Stats.*,Makefile: added ACE_Stats class.
* performance-tests/Misc/context_switch_time.cpp: use
ACE_Stats to calculate standard deviations.
Tue May 19 21:24:50 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/Future_Test.cpp: Reduced the number of iterations on CE.
* ace/Synch.i: Added #ifdef (ACE_HAS_THREADS) to make it compile
on non-threaded platforms.
Tue May 19 10:05:07 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/SString.cpp (strlen): Renamed ACE_WString::wstrlen to
ACE_WString::strlen.
* ace/SString.i: Reordered functions to make g++ happy.
* ace/ACE.cpp (hash_pjw): Changed ACE_OS::strlen to
ACE_WString::strlen.
Tue May 19 09:52:08 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/config-irix6.x-g++.h:
* ace/config-irix6.x-sgic++-nothreads.h:
* ace/config-irix6.x-sgic++.h:
Added ACE_LACKS_MUTEXATTR_PSHARED
Mon May 18 16:37:36 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/SString.h (ACE_CString): Added the ability to hold on to
user supplied character strings without having to make a copy.
* ace/OS.h (ACE_OS): Added implementations for strrchr, strnchr,
strnstr, and strstr.
* ace/ACE.cpp (hash_pjw): Added new versions of these that work
with user specified string length.
Mon May 18 12:24:40 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
* ace/config-*.h: Commented out most of the
ACE_LACKS_CONDATTR_PSHARED so we can see what platforms really
DON'T support this...
* ace/OS.i (mutex_init): Added support for
pthread_mutexattr_setpshared() so we can initialize POSIX
pthreads process-wide mutexes. Thanks to Ki-hyun Yoon
<abird@nextware.co.kr> for suggesting this.
* ace/config-sunos5.6.h: Added an #define for
ACE_THREAD_POSIX_SEM. Thanks to Ki-hyun Yoon
<abird@nextware.co.kr> for reporting this.
* ace/config-sunos5*.h: Removed the ACE_LACKS_RWLOCK_T stuff since
it's unnecessary. Thanks to Chris Lahey for reminding me of
this...
Mon May 18 13:48:14 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Synch.i: Added #ifdef (ACE_HAS_THREADS) to make it compile
on non-threaded platforms.
Mon May 18 12:31:32 1998 Darrell Brunsch <brunsch@cs.wustl.edu>
* ace/Service_Config.{h,i,cpp}: Added an accessor debug() for
external access to the <debug_> variable. More debug messages
check this before displaying.
* ace/Parse_Node.cpp: Checks Service_Config's debug flag before
outputting debug messages.
Sun May 17 23:14:32 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/Wince/*.dsp: Disabled precompiled headers. They ate up
all my disk space.
* ace/Service_Config.cpp: <process_directive> takes a string of
type ASYS_TCHAR. Use ACE_WIDE_STRING to do the conversion.
* ace/Log_Msg.{h,cpp} (ACE_ASSERT): Use unicode in ACE_ASSERT.
(log): Don't exit the program for now. Exiting program here
destroys all debugging message in the window.
* tests/Reader_Writer_Test.cpp: Reduced the number of iterations
on WinCE.
* ace/OS.i: Added ACE_OS::time () implementation for CE.
Sun May 17 21:45:07 1998 David L. Levine <levine@cs.wustl.edu>
* performance-tests/Misc/childbirth_time.cpp: changed type of
MULTIPLY_FACTOR from int to size_t to avoid signed/unsigned
comparison.
* tests/Tokens_Test.cpp: synchronize start of thread svc ()
routines. Occasionally, the first thread would finish before
any others had started. The TSS objects would get cleaned
up. Then, the remaining threads would start up and make a big
mess.
Sat May 16 15:10:46 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
* ace/Service_Config.h (ACE_Service_Config): Moved the
process_directive() into the public part of the class so this
can be called by applications one the Service Configurator is
open. Thanks to Tom Arbuckle
<arbuckle@uran.informatik.uni-bonn.de> for suggesting this.
Sat May 16 14:12:09 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Thread_Manager.{h,i,cpp} (class ACE_Thread_Descriptor_Base):
Extract thread handle and thread creation flags out from
Thread_Descriptor into this new class. This is necessary
because after my last round of changes to improve
ACE_Thread_Manager, I changed the <terminated_queue_> from
holding Thread_Descriptor's to holding pointers to descriptor.
This was a bad move because the address of these pointers had
already been "freed." The <terminated_queue_> now holds
ACE_Thread_Descriptor_Base which contains only the information
needed for manipulating <terminated_queue_>. Thanks to Arturo
for noticing this.
Sat May 16 03:23:35 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* performance-tests/Misc/childbirth_time.cpp (main): Added a new
function to test the performance of ACE_Thread_Mutex in single
thread _without_ any contention.
Fri May 15 22:55:51 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/Recursive_Mutex_Test.cpp: Only iterate the test 50 times
on CE as on Chorus. Otherwise, as I'm using a CEdit to hold the
test output, CEdit would overflow.
* ace/OS.i (thr_getspecific): Don't check for return value of
TlsGetValue on CE because CE doesn't seem to set the LastError
correspondingly.
(strchr): Added implementation on CE.
* Added Activation_Queue.i and Strategies.i.
* Combed thru all these files and added difinitions for ctor/dtor
for a bunch of classes explicitly. CE needs them.
Activation_Queue.cpp Activation_Queue.h Dynamic.h Dynamic.i
Event_Handler.h Event_Handler.i Get_Opt.h Get_Opt.i Handle_Set.h
Handle_Set.i High_Res_Timer.h High_Res_Timer.i INET_Addr.h
INET_Addr.i IO_SAP.h IO_SAP.i IPC_SAP.h IPC_SAP.i Local_Tokens.h
Local_Tokens.i Log_Record.h Log_Record.i Malloc.h Malloc.i OS.h
OS.i Obstack.cpp Obstack.h Obstack.i Parse_Node.h Parse_Node.i
Pipe.h Pipe.i Process_Manager.h Process_Manager.i SOCK.h SOCK.i
SOCK_Acceptor.cpp SOCK_Acceptor.h SOCK_Acceptor.i SOCK_CODgram.h
SOCK_CODgram.i SOCK_Connector.h SOCK_Connector.i SOCK_Dgram.h
SOCK_Dgram.i SOCK_Dgram_Bcast.h SOCK_Dgram_Bcast.i
SOCK_Dgram_Mcast.h SOCK_Dgram_Mcast.i SOCK_IO.h SOCK_IO.i
SOCK_Stream.h SOCK_Stream.i SString.h SString.i Sched_Params.h
Sched_Params.i Select_Reactor.h Select_Reactor.i
Service_Manager.h Service_Manager.i Service_Repository.h
Service_Repository.i Service_Types.h Service_Types.i
Shared_Object.h Shared_Object.i Signal.h Signal.i Strategies.cpp
Strategies.h Strategies.i Strategies_T.cpp Strategies_T.h
Synch.cpp Synch.h Synch.i Synch_Options.cpp Synch_Options.h
Synch_Options.i Timer_Heap_T.cpp Timer_Heap_T.h Timer_List_T.cpp
Timer_List_T.h Timer_Queue_T.cpp Timer_Queue_T.h
Timer_Wheel_T.cpp Timer_Wheel_T.h.
Fri May 15 16:55:34 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
* ace/config-sunos5*.h: Automatically enable ACE_LACKS_RWLOCK_T if
we're NOT using Solaris threads (since pthreads doesn't support
readers/writer locks).
* ace/Service_Config.cpp: Removed a duplicate template
instantiation of template class
ACE_Unbounded_Queue_Iterator<ACE_CString>. Thanks to Ben Eng
<ben@jetpen.com> for reporting this.
* ace/OS: Fixed a number of problems that occurred when trying to
use the PTHREAD implementation on Solaris without using
ACE_HAS_STHREADS. The problems related primarily to the
ACE_OS::rw*() functions. To fix the problems, the following
changes were made.
Remove the #if defined (ACE_HAS_STHREADS) from the case where we
have the native rw*() functions. We just use the
ACE_LACKS_RWLOCK_T compile flag to determine whether we have the
native functions.
Without the ACE_HAS_STHREAD flag, ACE_rwlock_t comes up
undefined. To fix this, moved the definition at approx. line
1868 above the #else at approx. line 1865 as the following:
#if ! defined (ACE_LACKS_RWLOCK_T)
#include <synch.h>
typedef rwlock_t ACE_rwlock_t;
#endif // ! ACE_LACKS_RWLOCK_T
Finally, the ACE_idtype_t type was also undefined. To fix this,
moved the typedef from within the #if defined (ACE_HAS_STHREADS) ||
defined (DIGITAL_UNIX) block and create a new ifdef block:
#if defined (ACE_HAS_IDTYPE_T)
typedef idtype_t ACE_idtype_t;
#else
typedef int ACE_idtype_t;
#endif
Thanks to Chris Lahey <CLahey@cccis.com> for his through help at
recognizing and fixing these problems.
Fri May 15 09:38:37 1998 David L. Levine <levine@cs.wustl.edu>
* bin/make_release: redirect cvs tag output to /dev/null.
* performance-tests/Misc/context_switch_time (main): fixed
printout of yield test time for other than the default
number of iterations.
Fri May 15 09:29:57 1998 David L. Levine <levine@cs.wustl.edu>
* ACE version 4.5.6 released.
Fri May 15 08:25:19 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Service_Config.cpp: fixed and added template instantations.
* ace/Svc_Conf_y.cpp,etc/Svc_Conf_y.cpp.diff: removed compile
warnings.
* include/makeinclude/platform_sunos5_g++.GNU: use PIC instead of pic,
because the TAO orbsvcs lib needs it.
* Makefile: added .PHONY for phony targets.
Fri May 15 02:47:35 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.5 released.
Fri May 15 02:42:06 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.4 released.
Thu May 14 15:28:42 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
* ace/config-kcc-common.h: Added the ACE_HAS_USING_KEYWORD to the
config file. Thanks to Ben Eng <ben@jetpen.com> for reporting
this.
* examples/Service_Configurator/Misc: Updated the Timer_Service
test to demonstrate the new service configurator feature. It's
AWESOME!
* ace/Svc_Conf.h,
ace/Svc_Conf.l:
Added a super-cool new feature that allows us to parse service
configurator directives from a string rather than from a
svc.conf file.
* ace/Svc_Conf.l (yywrap): Free up ace_yy_current_buffer in yywrap
to prevent a memory leak. Thanks to Paul Motuzenko
<p_motuzenko@hotmail.com> for reporting this.
* examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp: Enhanced the
implementation to make it easier to follow and to support the
latest features of CPP-inclient.cpp.
* ace/OS.h (ACE_OS): Added a wrapper for strcspn(3s).
* examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp: Added more
cool changes to the CPP-inserver.cpp example and renamed it.
Thu May 14 14:46:02 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/OS.h: Moved the definition of ACE_Export before it is used.
Thu May 14 13:22:46 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Message_Block.h:
* ace/Message_Block.cpp:
The static duplicate() method can take pointer to a const
Message_Block.
Wed May 13 18:46:28 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/IPC_SAP/SOCK_SAP/CPP-{inserver,inclient}.cpp: Added
profile timing to the server so we can compute socket
performance metrics. Also generalized the tests so we can
experiment with both oneway and twoway calls.
Wed May 13 19:20:27 1998 James C Hu <jxh@cs.wustl.edu>
* ace/OS.h:
* ace/OS.i:
* ace/OS.cpp: Added a substitute gets implementation for when
ACE_LACKS_GETS. The substitute is actually safer than gets, so
I may end up making gets call the new routine instead of
Standard C's.
* ace/config-g++-common.h: Changed the g++ common file so that
2.8.1 acts like EGCS does. This worked on Solaris 2.5.1. We'll
see how other's fare.
Wed May 13 18:13:12 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.3 released.
Wed May 13 11:29:56 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* performance-tests/Synch-Benchmarks/Options.cpp (print_results):
My previous change to add print_results functionality when
ACE_HAS_GETRUSAGE broke this on Win32.
* ace/config-g++-common.h (ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTIONS):
Made this macro defined for all versions of g++.
Wed May 13 09:26:48 1998 David L. Levine <levine@cs.wustl.edu>
* many *.{h,i,cpp,idl} files: inserted RCS keyword string.
Wed May 13 00:35:25 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace: Added ACE_Export to a bunch of class in ACE. Thanks to
Gonzalo A. Diethelm (gonzo@ing.puc.cl) for pointing this out.
Tue May 12 15:16:04 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/config-WinCE.h:
* ace/OS.h: Stopped using non-static object manager for CE. This
is causing some problem at process shutdown.
* ace/Acceptor.cpp: Made CE friendly.
* ace/Process.cpp ([~]ACE_Process_Options): Moved things around to
avoid compilation errors on CE. Secret: CE doesn't have
environment variables.
Tue May 12 13:28:05 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/OS.h:
The ACE_INLINE_FOR_GNUC macro must be defined (as the null
token) if ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTION is not
defined.
Tue May 12 12:30:55 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/README:
* ace/config-g++-common.h (ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTIONS):
Added this new macro to get around a bug which only happens in
GNUC 2.7.xx. It mistakenly refers to the template definition as
the place where a function is used.
* ace/OS.h (ACE_INLINE_FOR_GNUC): Added the macro to fix the GNUC
bug.
* ace/Thread_Manager.h: Added above macro to set_next and
get_next.
Tue May 12 12:11:36 1998 Bob Laferriere <laferrie@gsao.med.ge.com>
* ace/Process.{h,cpp}: modifications to make the environment buffer
and number of environment variables tunable in the constructor.
I also fixed a logic error which previously attempted to write
beyond an array bounds of the array of pointers into the
environment buffer. I made the environment_argv_ buffer tunable
as well. The new constructor takes the old hardcoded static sizes
as the default dynamic sizes for backwards compatiblity.
The behavior is to return -1 if the maximum buffer size or
maximum number of environment arguments has been reached in
following with the prior behavior. I opted not to make the members
grow as needed so the class would still follow it's prior behavior.
This would be simple to add, however.
Tue May 12 08:29:50 1998 David L. Levine <levine@cs.wustl.edu>
* ace/Malloc.cpp (ACE_Allocator::instance): replaced dynamic
allocation of the default ACE_Allocator with allocation from
the data segment. Thanks to Ben Eng <ben@jetpen.com> for
providing the stack trace that revealed the problem.
* ace/Malloc.h: added comments to not add data members to
ACE_Allocator or ACE_New_Allocator.
* bin/g++dep: changed PATH to pick up /project/doc/pkg/gnu/bin/g++,
and removed GNUG_INCLUDE. Thanks to Ganesh Pai <gpai@voicetek.com>
for reporting problems with the old version on Linux.
Tue May 12 02:59:27 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* performance-tests/Misc/childbirth_time.cpp: Added ACE_OS::sleep
(0) before all timing sections start. This ensures we own a
fresh time slice when the timing begin and reduce the chances of
getting preempted
Tue May 12 00:42:05 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* bin/dsp2dsp.pl: This file clones a new MSVC 5.0 dsp file based
on setting from another dsp file. It is most useful in adding
new project files into tests/.
* tests/WinCE/*: New project files. Updated the workspace.
Please see CE-status for the current progress.
* tests/Buffer_Stream_Test.cpp:
* tests/Conn_Test.cpp:
* tests/Enum_Interfaces_Test.cpp:
* tests/Handle_Set_Test.cpp:
* tests/Hash_Map_Manager_Test.cpp:
* tests/Message_Block_Test.cpp:
* tests/Reactors_Test.cpp:
* tests/Thread_Manager_Test.cpp:
* tests/Thread_Mutex_Test.cpp: Made CE friendly.
* tests/test_config.h: Moved some common definitions shared among
CE and other platforms out.
* ace/Acceptor.cpp:
* ace/Acceptor.h:
* ace/Connector.cpp:
* ace/Connector.h:
* ace/Stream.cpp:
* ace/Svc_Handler.cpp:
* ace/Svc_Handler.h:
* ace/Synch.h:
* ace/Synch.i: CE stuff.
* ace/config-WinCE.h: Defined ACE_DEFAULT_SERVER_HOST in UNICODE
here to overwrite the default setting.
* ace/Synch.i (ACE_Lock): CE needs a default ctor here.
Mon May 11 15:43:01 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* tests/WinCE/ce_tests.dsw:
* tests/WinCE/Atomic_Op_Test.dsp:
* tests/WinCE/Barrier_Test.dsp:
* tests/WinCE/Basic_Types_Test.dsp:
* tests/WinCE/Map_Manager_Test.dsp: Added/Updated project files.
* tests/Atomic_Op_Test.cpp:
* tests/Barrier_Test.cpp:
* tests/Basic_Types_Test.cpp: Made them CE friendly.
* ace/config-WinCE.h: Only define ACE_LACKS_INLINE_FUNCTIONS when
building debug version of ACE for SH series CPU.
* WindozeCE/WindozeCEDlg.cpp: Updated the initial message after the
display window but before ACE console progrm started.
Mon May 11 15:43:01 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.{i,cpp}: Moved CE's impelmentation of ACE_OS::fprintf to
cpp file.
Mon May 11 15:15:24 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Thread_Manager.h:
Removed bogus ACE_INLINE macros in class declaration, they were
making the SGI compiler *very* unhappy.
Mon May 11 15:11:11 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.cpp (ctime_r): Renamed the fmtstr to
ACE_OS_CTIME_R_FMTSTR for we may need to use similar scheme to
fix other bugs in the future.
Mon May 11 14:50:47 CDT 1998 Everett Anderson <eea1@cs.wustl.edu>
* ace/Name_Proxy.cpp: Changed one last recv to recv_n.
Mon May 11 13:14:22 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/RB_Tree.{cpp,h,i}: (new) Red-Black Tree data structure
implementation. A Red-Black Tree is an efficient
self-balancing binary tree that uses recoloring to
minimize rotations while rebalancing on insertion or
deletion of a tree node. Items in the tree are stored
according to a key provided at insertion. This
implementation is an OO rendition of the ADT described
in Cormen, Leiserson, Rivest, "Introduction to Algorithms"
(c) 1990, MIT.
Mon May 11 12:31:41 1998 Steve Huston <shuston@riverace.com>
* ace/OS.h: Made ACE_LD_SEARCH_PATH, ACE_LD_SEARCH_PATH_SEPARATOR_STR,
ACE_DLL_PREFIX, ACE_DLL_SUFFIX settable via config.h.
* ace/config-hpux-10.x.h:
ace/config-hpux11.h: Set ACE_LD_SEARCH_PATH, ACE_DLL_SUFFIX.
Thanks to Kirill Rybaltchenko and David Levine for identifying
this problem.
Mon May 11 12:27:05 1998 David L. Levine <levine@cs.wustl.edu>
* ace/ACE.cpp (send_n): retry if ACE::send () fails due to
EWOULDBLOCK. Thanks to Dave Brackman <dbrackma@OhioEE.com>
for reporting this.
* tests/Env_Value_Test.cpp (main): check return values of
options.setenv () calls. Thanks to Bob Laferriere
<laferrie@gsao.med.ge.com> for recommending this.
* include/makeinclude/platform_vxworks5.x_ghs.GNU: instead of
using GNU ranlib386 after using GHS ax for i386 targets, just
use GNU ar386.
* ace/gethrtime.cpp: added some comments about GHS asm support.
* java/netsvcs/{Logger,Time}/Makefile,
java/tests/netsvcs/Logger/Makefile:
replaced WRAPPER_ROOT with ACE_ROOT.
Mon May 11 05:14:18 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/config-WinCE.h: Added ACE_HAS_NON_STATIC_OBJECT_MANAGER. CE
console programs have to set this flag because the main
functions is actually renamed and running in a threads.
* tests/test_config.h: Excluded class and macros to redirect
debugging messages to files under CE. This make debugging a bit
easier but we should eventually put them back under CE.
* tests/Map_Manager_Test.cpp: Made CE friendly.
* ace/Hash_Map_Manager.cpp: Some ACE_ERROR were not CE friendly.
* ace/Profile_Timer.{h,i}:
* ace/Synch.{h,i}: Moved inline function definitions to Synch.i
file. Windows CE can't grok any inline at all.
Mon May 11 02:43:45 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* performance-tests/Misc/childbirth_time.cpp (main): Added
a new method for benchmarking ACE_Thread_Manager::spawn_n.
Added other cosmetic changes.
Sun May 10 23:20:36 1998 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Token.cpp: Adding more debugging statements.
* ace/Asynch_Acceptor.cpp (should_reissue_accept): Added template
method that decides whether a new asynchronous accept should be
issued.
Sun May 10 23:28:57 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.cpp(inherit_log_msg):
* ace/Log_Msg.cpp (thr_desc): Wait on Thread_Descriptor's lock
instead of the "global" Thread_Manager lock.
* ace/Thread_Manager.cpp: Moved acquire_release() from
ACE_Thread_Manager to ACE_Thread_Descriptor. This method is
called from ACE_Log_Msg::thr_desc to prevent a thread from using
its thread descriptor before it is fully built. The change
relieve spwaned threads from waiting for other threads created
in the same spwan_n call to be created before it can start
running.
(insert): Added an extra argument to control whether we want to
insert the newly created thread into ACE_Thread_Manager's thread
table or not. Notice that it is default to 1 to remain the
original behavior in case anyone is using this class/function
directly in their code. However, in ACE_Thread_Manager, we
always prevent it from inserting because we always register
thread descriptors from spawn_i.
Sun May 10 01:51:29 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.h: Renamed ACE_OS::Time_To_The_Beginning to
ACE_OS::FILETIME_to_timval_skew.
* ace/OS.cpp: Found the problem in ACE_OS::ctime_r. An internal
compiler bug (?) caused the bug. The solution: move the format
string out as a const string instead of putting it in sprintf
directly. Weird.
* ace/Log_Record.{h,cpp}: Made priority_name_ and its access
function CE friendly.
Sat May 9 20:09:13 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Thread_Manager.h: Changed the type of lock used by
<thread_desc_freelist_> to ACE_SYNCH_MUTEX. Or else, it won't
compile on platforms that doesn't support thread. Thanks to
Woody Zenfell <woody@arl.wustl.edu> for reporting this.
Fri May 08 22:29:01 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/SOCK_Dgram_Mcast.cpp (subscribe): CE UNICODE related fix.
Fri May 8 14:18:46 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Thread_Manager.h (ACE_Thread_Descriptor): Added ACE_INLINE
to declarations of set_next and get_next to get around a bug in
a version of g++.
Fri May 8 11:57:23 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
* ace/Map_Manager.cpp: Fixed a bug where we weren't calling
close_i() when resizing the buffer.
* ace/Thread_Manager.cpp (set_grp): In
ACE_Thread_Manager::{get,set}_grp we must check to see that we
have a valid pointer after the ACE_FIND. Otherwise a seg fault
occurs. Thanks to Chris Lahey <CLahey@cccis.com> for reporting
this.
Fri May 08 09:47:50 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-linux-common.h: only use ACE_HAS_POLL with glibc2.
Thanks to Saneyasu <sane@sail.t.u-tokyo.ac.jp> for reporting
this.
* ace/OS.i (sleep): On Linux without ::poll () (prior to glibc),
copy the ACE_Time_Value argument because the system modifies it.
* include/makeinclude/platform_osf1_4.0.GNU: moved -lm from LIBS
to MATHLIB.
* performance-tests/UDP/Makefile: added $(MATHLIB) to LDLIBS.
* tests/Aio_Platform_Test.cpp (have_asynchio): use
_SC_LISTIO_AIO_MAX instead of _SC_AIO_LISTIO_MAX if it's
#defined. It is on DU 4.0.
Fri May 08 08:43:42 1998 Steve Huston <shuston@riverace.com>
* include/makeinclude/platform_hpux_gcc.GNU: Added $(PIC) to
definition of SOFLAGS. Thanks to Kirill Rybaltchenko
<Kirill.Rybaltchenko@cern.ch> for this fix.
* ace/SOCK_Dgram_Mcast.cpp (subscribe): Added code for Win32 so that
if a subscribe is done without specifying an interface, the mcast
address is subscribed to on each non-loopback interface. This works
around a bug in NT's winsock in the presence of multiple IP
interfaces. Won't hurt 95 - will just run a bit slower than it
otherwise would.
* examples/Reactor/Multicast/Multicast.{mdp,mak}: Added MSVC 4.2
workspace for this example.
Fri May 8 03:43:25 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Thread_Manager.{h,cpp}: Added yet one more member variable
into Thread_Descriptor to keep track of registration of
Thread_Descriptors. By adding this variable, we can avoid an
extra locking in remove_thr for most cases (normal cases ;-).
Thanks to the inspiration from Arturo Montes
<mitosys@colomsat.net.co>.
Thu May 07 22:06:13 1998 Ben Eng <ben@jetpen.com>
* ace/config-kcc-common.h,config-linux-{common,kcc}.h: updated
KCC/Linux support, and integrated into config-linux-common.h.
Thu May 7 20:32:20 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp
(main): Oops, we need to move the unlink() AFTER we create the
file... Thanks to Sandro Doro <doros@aureus.sublink.org> for
reporting this.
Thu May 07 19:08:22 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.2 released.
Thu May 7 14:10:41 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Timer_Hash_T.h:
* ace/Timer_Hash_T.cpp:
* ace/Timer_Heap_T.cpp:
* ace/Timer_Wheel_T.cpp:
The classes had a INHERITED typedef for the base class, but
Solaris defines a macro by the same name. This causes very weird
problems with EGCS (and probably other g++ versions).
Thu May 07 04:15:23 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Profile_Timer.cpp (elapsed_time): Treat Win32 differently
so I can use this function with WinCE Emulation build. The
problem is that Win32 can't convert __int64 to double.
* ace/OS.{h,cpp} (ACE_Time_Value): (Win32 only) Added a new static
const member (Time_To_The_Beginning) of type DWORDLONG (unsigned
_int64) to adjust the time skew between FILETIME and POSIX time.
Changed the type of _100ns to ULARGE_INTEGER to eliminate
unnecessary computation.
Wed May 6 23:58:40 1998 Carlos O'Ryan <coryan@swarm.cs.wustl.edu>
* ace/XtReactor.cpp:
The signature for the open() method of the notify pipe has been
modified.
Wed May 6 23:28:47 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp:
Fixed a couple of mistakes that were causing the UNIX domain
sockets not to work. Thanks to Sandro Doro
<doros@aureus.sublink.org> for recommending this.
* performance-tests/Misc/context_switch_time.cpp (svc): An 'i'
was being defined twice, gorp! It's fixed now!
Wed May 06 22:00:14 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-linux-common.h: only #define
ACE_HAS_4_4BSD_SENDMSG_RECVMSG with __GLIBC__. Thanks
to Chanaka Liyanaarachchi <chanakal@ittc.ukans.edu> for
reporting the lack of CMSG_DATA support on RedHat 4.2.
Wed May 06 18:35:21 1998 Steve Huston <shuston@riverace.com>
* ace/ACE.cpp (get_ip_interfaces): Reset buf_len before each call to
get_reg_key to get registry value for device's IP address. It gets
overwritten on each call to get_reg_key.
* include/makeinclude/platform_mvs.GNU: Added definition for PIC.
Though not related to position-independent-code, it is a switch that
makes shared lib builds work right. Removed the old SOBUILD def.
Thanks to Chuck Gehr for helping with this strategy.
Wed May 06 16:32:53 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Filecache.h (ACE_Filecache_Handle): Removed
ACE_EXPORT_DECLARE and specified ACE_Export directly for
ACE_Filecache_Handle and ACE_Filecache in calss declarations.
* ace/Thread_Manager.{h,i,cpp}: A bug was found by Arturo Montes
<mitosys@colomsat.net.co> who noticed that when a thread was
spawned and then exited immediately, its thread descriptor might
get freed before even get registered into the thread table kept
by the Thread_Manager. Although it doesn't make any sense to
spawn a thread just to let it return immediately, a middleware
shouldn't restrict the way how users want to use it.
I got around this problem by adding a lock into
Thread_Descriptor. Before spawning a thread, the Thread Manager
will first grab the lock. It won't release the lock until
calling append thread, at which point, the Thread_Descriptor of
the thread has been stashed into the table. Removing the
Thread_Descriptor also requires to hold this lock and release
the lock before the Thread_Descriptor is "freed." Therefore,
if a thread exit before its Thread_Manager ever gets a chance to
register it, it will block and waiting.
The type of the lock is defined by ACE_DEFAULT_THREAD_MANAGER_LOCK
which, by default, is ACE_Thread_Mutex. User can change the
definition by defining in their config.h file. For example, if
you can be sure that all your threads will run for an extended
long time (which, in most case, should be true,) you can disable
this feature by defining this as a ACE_Null_Mutex to speed up
spawning and termination of threads.
(thread_desc_freelist_): Added a free list to Thread_Manager to
recycle Thread_Descriptor. By default, this free list
pre-allocate 0 Thread_Descriptor and has low-water-mark of 1,
increment count 1 and a huge (25000) high water mark. That is,
if you use a Thread_Manager for an extended period of time, you
won't have to dynamically allocate memory for Thread_Descriptor
for every thread after your system is stable (the thread count
fluctuates between some certain values.)
There are two ways to change the settings. First, by defining
ACE_DEFAULT_THREAD_MANAGER_LWM, ACE_DEFAULT_THREAD_MANAGER_HWM,
ACE_DEFAULT_THREAD_MANAGER_INC, and
ACE_DEFAULT_THREAD_MANAGER_PREALLOC in your <config.h> file.
This changes the default setting of your ACE. (The global
Thread_Manager use this setting.) Or, you can specify these
values when creating a Thread_Manager.
* ace/Free_List.cpp (alloc,dealloc): Don't grab the lock in these
two functions. They only get called from add() and remove()
which hold the lock before making the call. Actually, they also
gets called from the constructor and destructor. But that
shouldn't be a problem.
* tests/Reactor_Notify_Test.cpp (run_test): Moved the #endif of
ACE_HAS_THREADS down to avoid compilation error on non-threaded
platforms.
Tue May 5 14:12:08 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
* include/makeinclude/platform_sco5.0.0-fsu-pthread.GNU: Added a
platform config file courtesy of Arturo Montes
<mitosys@colomsat.net.co>.
Tue May 05 08:35:18 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-irix6.x-sgic++-nothreads.h: updated the determination
of ACE_SIZEOF_LONG_DOUBLE. Thanks to Bob Laferriere
<laferrie@gsao.med.ge.com> for providing the fix.
* include/makeinclude/platform_sunos5_g++.GNU: use -gstabs+ instead
of -g on Solaris86.
* etc/Svc_Conf_l.cpp.diff: updated. It's magic, Nanbor :-)
The problem seems to be due to an old version left in
/tmp/Svc_Conf_l.cpp, which confuses flex.
* ace/config-linux-common.h,config-g++-common.h: moved
ACE_HAS_PENTIUM (with i386) from config-linux-common.h
to config-g++-common.h.
* ace/config-linux-common.h: added ACE_HAS_POLL, so we
don't use ::select () in ACE_OS::sleep (). Linux's
::select () modifies its timeout argument!
* ace/OS.i (gethrtime): added RDTSC support for all g++
_and_ ACE_HAS_PENTIUM platforms.
* ace/config-vxworks5.x.h: added ACE_HAS_PENTIUM with GHS
on Intel platforms.
* ace/Makefile: for GHS on Intel 8086, build gethrtime.cpp.
It's used to provide a high-resolution time using the
Pentium RDTSC instruction. I don't know how to get
GHS' asm to do it, so it uses g++.
* ACE-INSTALL.html: added note about carefully installing
egcs on Linux. Thanks to Kurt Sussman <kls@best.com> for
tracking down the cause of mysterious link failures.
Tue May 05 02:15:49 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Svc_Conf_l.cpp: I know, I know. I shouldn't mess with this
file directly. But I couldn't manufacture this file even with
the stock Svc_Conf.l using Doug's flex. So, I reckon I'll just
check this in now and fix the Svc_Conf_l.diff later.
* ace/Service_Config.{h,cpp} (process_directive): Standard CE
stuff.
* WindozeCE/WinAdapter*.*:
* WindozeCE/WindozeCE*.*: Replaced the old adapter for CE with a
new one. The new version allows uses to scroll thru the
"console" output.
Mon May 04 17:09:39 1998 David L. Levine <levine@cs.wustl.edu>
* performance-tests/Misc/context_switch_time.cpp: lots of
cleanup. The main changes were the use of ACE_THR_PRI_FIFO_DEF
for the default therad priority, and removal of some
unnecessary thr_yield () calls.
* tests/Aio_Platform_Test.cpp: added arguments to main (),
removed #includes that are already in ace/OS.h, and added
ACE_START_TEST/ACE_END_TEST calls.
Mon May 4 13:08:18 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
* ace/config-sunos5.6.h: Removed a mysterious "30" at the end of
an #undef. Thanks to J. Russell Noseworthy
<rnosewor@objectsciences.com> for reporting this problem.
Mon May 04 08:49:09 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.cpp (ACE_Thread_Adapter::invoke): with ACE_NEEDS_LWP_PRIO_SET,
added the call to ACE_OS::thr_setprio () so that the LWP priority
will be set if running in the RT class. Applications no longer
have to be concerned with this.
* performance-tests/Misc/preempt.cpp (svc): removed
ACE_OS::thr_setprio () calls to set LWP priority, now that ACE
handles that internally.
* include/makeinclude/platform_*linux.GNU: added "s" to
ARFLAGS, so that ranlib is no longer necessary.
Sun May 03 22:37:38 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Parse_Node.cpp (open_handle): WinCE doesn't support
ExpandEnvironmentStringA.
* ace/config-win32-common.h: Only define ACE_HAS_GETRUSAGE when
ACE_HAS_WINNT4 != 0. Thanks to Paul Motuzenko
<p_motuzenko@hotmail.com> for reporting this.
Sun May 03 01:58:47 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.1 released.
Sat May 2 14:35:04 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
* tests/Reactor_Notify_Test.cpp: Factored out some common code to
make the test more concise.
* tests/Reactor_Notify_Test.cpp: Modified the test to check
whether our new mechanism for disabling the notify pipe works
correctly.
* ace/{WFMO,Select}_Reactor[_Impl]: Added the
"disable_notify_pipe" flag in the constructor in order to
disable this feature and save on descriptors if they aren't
required. Thanks to Tom Venturella <tventurell@mdc.com> for
motivating this.
Sat May 02 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu>
* tests/Aio_Platform_Test.cpp: Included this test program for
testing a platform for Asynchronous I/O options.
* tests/Makefile (BIN): Added Aio_Platform_Test.
Fri May 01 17:52:32 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Arg_Shifter.{h,cpp}: Added macros ACE_Export and
ACE_BUILD_DLL respectively.
* ace/ACE_Library.mak:
* ace/ace_{dll,lib}.dsp: Added Arg_Shifter.cpp into project.
Fri May 1 13:52:32 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
* ace/Addr: Made the destructor for ACE_Addr virtual so that
subclasses can be deleted correctly. Thanks to Wei Chiang
<chiang@horizon.ntc.nokia.com> for reporting this.
* ace: Added Arg_Shifter from TAO and renamed it to
ACE_Arg_Shifter.
* ace/IOStream_T.i (recv_n): ACE_IOStream<STREAM>::eof (void) had
a subtle bug if it is called when a get operation (>>) has not
failed. Thanks to James CE Johnson <ace-users@lads.com> for
reporting this bug.
* examples/Connection/misc/Connection_Handler.cpp: Make sure to
activate() each active object using THR_DETACHED so we don't run
out of threading resources. Thanks to Brad Walton
<brad.walton@transnexus.com> for reporting this.
* ace/Timer_Queue_Adapters.cpp: Rather than returning the result
of schedule_ualarm(), the
ACE_Async_Timer_Queue_Adapter<TQ>::schedule() method should
return the timer id. Thanks to James Garrison
<jhg@austx.tandem.com> for reporting this.
* examples/System_V_IPC/SV_Message_Queues: Renamed the so-called
"ACE_Message_Block" to "Message_Block" so it wouldn't be as
confusing. Thanks to Ganapathi <guns@fs.IConNet.NET> for this
suggestion.
Fri May 01 17:52:32 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/ACE_Library.mak:
* ace/ace_{dll,lib}.dsp: Added Arg_Shifter.cpp into project.
Fri May 01 14:09:21 1998 Steve Huston <shuston@riverace.com>
* ace/OS.h: Changed ACE_hrtime_t from signed to unsigned on Win32
to insure correct results from ACE_High_Res_Timer::elapsed_time
calculations. Fixes bug P87.
Fri May 01 11:52:47 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.h: Forgot to redefine ASYS_INLINE after #undef it.
* ace/OS.i (last_error): On Win32, this should also update errno
after calling SetLastError (). Thanks to Steve for pointing
this out. Fixes bug P88.
Fri May 01 10:01:09 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-sunos5.6.h: replaced config-sunos5.6-sunc++-4.x.h
with this config file, which supports both Sun C++ and g++.
* ace/OS.i (gethrtime): for the default (::gettimeofday) case,
use 64-bit instead of 32-bit arithmetic by casting to ACE_hrtime_t.
* ace/Basic_Types.{h,i}: added ACE_U_LongLong::operator *.
* ace/Env_Value_T.cpp: added #include of Env_Value_T.h.
Fri May 1 00:35:40 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* include/makeinclude/wrapper_macros.GNU
(ACE_LDSO_Version_Number): Fixed the problem of not able to
parse a formal release number from ace/VERSION.
Thu Apr 30 15:53:58 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ACE.{h,i,cpp}:
* DEV.{h,i,cpp}:
* DEV_Connector.{h,i,cpp}:
* DEV_IO.{h,i,cpp}:
* Date_Time.{h,i,cpp}:
* FIFO_Recv.{h,i,cpp}:
* FIFO_Recv_Msg.{h,i,cpp}:
* FIFO_Send.{h,i,cpp}:
* FIFO_Send_Msg.{h,i,cpp}:
* FILE.{h,i,cpp}:
* FILE_Connector.{h,i,cpp}:
* FILE_IO.{h,i,cpp}:
* IO_SAP.{h,i,cpp}:
* IPC_SAP.{h,i,cpp}:
* LSOCK.{h,i,cpp}:
* LSOCK_CODgram.{h,i,cpp}:
* LSOCK_Connector.{h,i,cpp}:
* LSOCK_Dgram.{h,i,cpp}:
* LSOCK_Stream.{h,i,cpp}:
* Log_Record.{h,i,cpp}:
* Pipe.{h,i,cpp}:
* SOCK.{h,i,cpp}:
* SOCK_CODgram.{h,i,cpp}:
* SOCK_Connector.{h,i,cpp}:
* SOCK_Dgram.{h,i,cpp}:
* SOCK_Dgram_Bcast.{h,i,cpp}:
* SOCK_Dgram_Mcast.{h,i,cpp}:
* SOCK_IO.{h,i,cpp}:
* SOCK_Stream.{h,i,cpp}:
* SPIPE.{h,i,cpp}:
* SPIPE_Connector.{h,i,cpp}:
* SPIPE_Stream.{h,i,cpp}:
* SV_Message_Queue.{h,i,cpp}:
* SV_Semaphore_Complex.{h,i,cpp}:
* SV_Semaphore_Simple.{h,i,cpp}:
* UPIPE_Acceptor.{h,i,cpp}:
* UPIPE_Connector.{h,i,cpp}: Added inline control for these
supposedly default inline functions.
* ace/config-WinCE.h: Added ACE_LACKS_INLINE_FUNCTIONS.
* ace/OS.h: Added a new macro ASYS_INLINE for platforms that don't
support inline properly. This is controlled by the macro
ACE_LACKS_INLINE_FUNCTIONS.
Walked thru all macros and indented them properly.
* ace/README: Added documentation for ACE_LACKS_INLINE_FUNCTIONS.
|