Welcome to mirror list, hosted at ThFree Co, Russian Federation.

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

	* mmap.cc: replaced all references to libstdc++ templates with
	inline classes to remove build dependency on libstdc++

Thu Dec 31 00:02:40 1998  Geoffrey Noer  <noer@cygnus.com>

	* sysdef/uuid.def: remove useless stub.
	* sysdef/oldnames.def: ditto.
	* sysdef/largeint.def: ditto.
	* sysdef/rpcndr.def: ditto.

Wed Dec 30 20:33:09 1998  Geoffrey Noer  <noer@cygnus.com>

	* utils/cygcheck.cc: clean up misc. warnings relating to
	signed vs. unsigned, char * vs. const char *, etc...

Wed Dec 30 21:41:25 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (do_exit): Remove previous dwProcessId
	change as it presumes too much knowledge about signalling
	in the wrong place in the code.
	* sigproc.cc (sigproc_terminate): Move the dwProcessId
	assignment here but only do it when it is necessary or
	programs will die abnormally.
	* fhandler.h: Add raw_write method to fhandler_serial.
	* fhandler_serial.cc (raw_write): New method.  Accommodates
	overlapped I/O that now must be used with serial.
	* utils/kill.cc (main): Allow `0' signal.  Just checks
	for existence of process.

Wed Dec 30 00:01:18 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/cygwin/version.h: bump API_MINOR to 8 to mark
	recently exported _ctype_, _sys_errlist, _sys_nerr.  Briefly
	describe all API_MINOR changes to date.

Wed Dec 30 01:31:34 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (do_exit): Set myself->dwProcessId so that
	some exit routines will not falsely believe that this
	process has been execed.
	* select.cc (peek_serial): Remove debugging statements.
	* sigproc.cc (sigproc_terminate): Detect state where
	myself->dwProcessId == 0 as indicative of not being
	an exec stub.

Tue Dec 29 21:13:33 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (alloc_stack_hard_way): Fix a couple of thinkos
	in calculating size of the new stack.  Just use the size
	passed from the parent.
	(dll_crt0_1): Set up new frame pointers here, if appropriate.
	* fork.cc (fork): Move frame pointer setup into dll_crt0_1.

Tue Dec 29 12:57:38 1998  Geoffrey Noer  <noer@cygnus.com>

	* utils/mkpasswd.c: Include wchar.h.
	* utils/mkgroup.c: Ditto.

Tue Dec 29 12:53:23 1998  Geoffrey Noer  <noer@cygnus.com>

	* Makefile.in: remove dep for libcerr.o

Mon Dec 28 22:02:15 1998  Christopher Faylor <cgf@cygnus.com>

	* fhandler.h: Make fhandler_serial io_status public since
	select needs it.  Add 'saw_error' field to select_record so
	that select can detect error conditions.
	* fhandler_serial.cc (fhandler_serial::raw_read): Detect
	"operation aborted" error and retry.  This seems to indicate
	an attempt to retry an overlapped operation.
	* select.cc (select_stuff::wait): Honor saw_error field when
	appropriate.
	(peek_serial): Rewrite to operate similarly to
	fhandler_serial::raw_read.
	* include/sys/termios.h: CBAUD mask was still not right.

Mon Dec 28 09:09:27 1998  Christopher Faylor <cgf@cygnus.com>

	* libcerr.cc: Make obsolete.  Move into errno.cc
	* libctype.c: Make obsolete.  Use newlib table.
	* Makefile.in: Remove obsolete entries from LIBCOS.  Define
	__INSIDE_CYGWIN__ explicitly for .c -> .o compilation.
	* cygwin.din: New exports: _ctype_, _sys_errlist, _sys_nerr.
	* errno.cc: Move _sys_errlist and _sys_nerr here.
	* dlfcn.cc: Reorganize includes to put ctype.h after winsup.h
	so that __INSIDE_CYGWIN__ will be defined for use in ctype.h.
	* fhandler_console.cc: Ditto.
	* fhandler_tty.cc: Ditto.
	* path.cc: Ditto.
	* spawn.cc: Ditto.

Sat Dec 26 00:20:48 1998  Christopher Faylor <cgf@cygnus.com>

	patch from Corinna Vinschen <corinna.vinschen@cityweb.de>:
	* include/Windows32/CommonFunction.h: Added proto for
	NetUserChangePassword().

Thu Dec 24 16:15:40 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (dll_crt0_1): Add more debugging output.
	* ioctl.cc (ioctl): Can't use TC[GS]ET ioctls for pty master as
	it conflicts with TIOCPKT.
	* passwd.cc (passwd): Bypass tc[gs]etattr call in favor of appropriate
	method or conversion confusion will result due to attempts to
	appropriately convert to old-style termios structures in tc[gs]etattr.
	* strace.cc (strace_vsprintf): Define t explicitly.
	* termios.cc (tcsetattr): Reorganize to allow meaningful debugging
	output.
	(tcgetattr): Ditto.

Wed Dec 23 15:02:11 1998  Christopher Faylor <cgf@cygnus.com>

	* winsup.h: Reorganize include order to allow thread-safe build.

Wed Dec 23 11:45:33 1998 DJ Delorie  <dj@cygnus.com>

	* strace.cc (strace_microseconds): new function; returns elapsed
	time in microseconds, using performance counters if available.
	(strace_vsprintf): print timestamps and deltas as microseconds,
	not seconds.

Wed Dec 23 11:35:02 1998 DJ Delorie  <dj@cygnus.com>

	* times.cc (__to_clock_t): Change return value to unsigned long
	long to prevent overflow.

Tue Dec 22 19:37:55 1998  Christopher Faylor <cgf@cygnus.com>

	* fhandler.h: Reflect fhandler_*::init argument reordering.
	Add dup and init methods to fhandler_serial.
	* fhandler.cc (fhandler_base::init): Reorder arguments to mirror
	open().
	* fhandler_console.cc (fhandler_console::init): Ditto.  Initialize
	using fhandler_base rather than fhandler_serial as console is
	now being slowly uncouple from fhandler_serial.
	* fhandler_serial.cc (fhandler_serial::fhandler_serial): Set size
	of data structure or suffer strange behavior on exec().
	(raw_read): Add debugging output.
	(fhandler_serial::init): New method.
	(fhandler_serial::open): Detect call from init method and avoid
	calling fhandler_base::open.  Don't worry about non-blocking reads
	since they are now handled correctly by _read().
	(fhandler_serial::tcsetattr): Honor ICANON in a kludgey sort of way.
	(fhandler_serial::tcgetattr): Ditto.
	(fhandler_serial::dup): New method.  Ensures duplication of all
	elements of fhandler_serial class.
	* fhandler_tty.cc (fhandler_tty_master::init): Reflect init argument
	reordering.
	(fhandler_tty_slave::init): Ditto.
	* hinfo.cc (hinfo::init_std_file_from_handle): Remove unnecessary
	argument.
	(hinfo_init): Reflect change to init_std_file_from_handle.
	(cygwin_attach_handle_to_fd): Use more appropriate types for
	arguments.
	(hinfo::build_fhandler): Add some slop to allocated buffer just
	for paranoia's sake.
	(hinfo::dup2): Avoid dereferencing a NULL pointer when oldfd==newfd.
	* pipe.cc (make_pipe): Reflect init argument change.
	* shared.h: Another immigrant from winsup.h
	* winsup.h: Reflect change to init_std_file_from_handle.  Relocate
	a declaration to shared.h so that it can be used in fhandler.h.
	* include/sys/cygwin.h: Reflect change to cygwin_attach_handle_to_fd.

Mon Dec 21 16:22:48 1998  Christopher Faylor <cgf@cygnus.com>

	* fhandler.cc (fhandler_base::open): Detect serial device as a special
	case requiring an overlapped open.
	* fhandler.h (fhandler_serial): Add several methods.  Add new 'fixup after
	fork required' field.
	* fhandler_serial.cc (raw_read): Rewrite to come closer to handling VMIN
	VTIME parameters and to allow EINTR.
	(fhandler_serial::open): Initialize overlapped event here.  Make error
	messages more explicit.
	(fhandler_serial::close): Close status event.
	(fhandler_serial::tcsetattr): Store vtime_ as milliseconds.  Attempt to
	handle VMIN > 0, VTIME == 0 better.
	(fhandler_serial::fixup_after_fork): Initialize a new event handle after
	a fork.
	(fhandler_serial::de_linearize): Ditto.
	* hinfo.cc (hinfo::fixup_after_fork): Call fork fixer upper if close_on_exec
	of need_fork_fixup set.

Sun Dec 20 16:05:25 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/shellapi.h: replace with stub that includes windows.h
	like similar headers already do.
	* scandir.cc (scandir): add parens around assignment used as truth
	value.

Sat Dec 19 00:42:44 1998  Christopher Faylor <cgf@cygnus.com>

	* thread.cc: Fix copyright info.
	* thread.h: Ditto.
	* libcmain.cc: gcc is now more picky about requiring a type
	for main(), so add one.
	* include/pthread.h: Add attribution for net contributor.

Fri Dec 18 19:21:30 1998  Geoffrey Noer  <noer@cygnus.com>

	* pthread.cc: fix copyright header.
	* shared.h: ditto.

Fri Dec 18 19:21:30 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from Corinna Vinschen <corinna.vinschen@cityweb.de>:
	* cygwin.din: export scandir and alphasort.
	* Makefile.in: add scandir.o to deps
	* scandir.cc: New file with scandir and alphasort implementations.
	* include/cygwin/version.h: bump API_MINOR to 7.

Fri Dec 18 16:44:07 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/pthread.h: clean up, remove C++-style comments,
	remove pthread_getsequence_np proto.

Fri Dec 18 15:26:33 1998  Christopher Faylor <cgf@cygnus.com>

	Throughout, prepend cygwin_ to functions that are exported
	as cygwin_* which previously needed to be aliased.

	* path.cc (cygwin_conv_to_win32_path): Resolve symbolic links.
	Return success or failure value.
	(cygwin_conv_to_full_win32_path): Ditto.
	(cygwin_conv_to_posix_path): Return success or failure value.
	(cygwin_win32_to_posix_path_list): Ditto.
	(cygwin_posix_to_win32_path_list): Ditto.
	* shared.h: New include file that incorporates parts of
	winsup.h, fhandler_tty.h, path.h, and delqueue.h.
	* Makefile.in: Remove old include files.
	* cygwin.din: cygwin_* aliases are no longer required.
	* libccrt0.cc: Store api_minor in per_process structure.
	* select.cc: Change meaning of second argument to ready_for_read
	to indicate whether read_ahead should be ignored.
	* fhandler.h: Reflect change in second argument to ready_for_read.
	* syscalls.cc (_read): Ditto.
	* termios.cc: Throughout, detect attempt to use old style termios
	structure and convert as appropriate.
	* ioctl.cc (ioctl): Detect use of ioctl requiring termios field
	and call appropriate tc[gs]et* function to handle it.
	* fhandler_console.cc (fhandler_console::ioctl): Remove TC* calls
	that are now handled in main ioctl.
	* fhandler_tty.cc (fhandler_tty_slave::ioctl): Ditto.
	* include/cygwin/version.h: Added TERMIOS defines.  Bump API_MINOR
	to 6.
	* include/sys/cygwin.h: Reflect change in return value for some
	cygwin_conv_* calls.
	* include/sys/termios.h: Reformat slightly.  Add conversion macros
	for dealing with old style termios structure.
	* include/pthread.h: add

Fri Dec 18 15:03:33 1998  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Cleanup pthread usage.

Fri Dec 18 14:35:59 1998  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Remove obsolete header dependency for
	thread-safe build.

Fri Dec 18 14:16:04 1998  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (sig_handle): Avoid suspending top-level
	processes.
	* trace.cc: Remove unneeded include.

Thu Dec 17 19:19:53 1998  Geoffrey Noer  <noer@cygnus.com>

	* cygwin.din: remove pthread_getsequence_np, _reent_clib

Thu Dec 17 16:48:15 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/cygwin/version.h: correct two typos in comments

Thu Dec 17 19:11:31 1998  Christopher Faylor <cgf@cygnus.com>

	patch from Corinna Vinschen <corinna.vinschen@cityweb.de>:
	* include/Windows32/Defines.h: Add values for using Windows
	function `DeviceIoControl()'.

Thu Dec 17 18:00:34 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (dll_crt0_1): exception_list is not a struct.
	* debug.cc (thread_stub): Ditto.

Thu Dec 17 08:24:37 1998  Christopher Faylor <cgf@cygnus.com>

	* cygwin.din: Remove leading underscores from pthread functions.
	* include/cygwin/version.h: Bump DLL major version to 21, DLL minor
	version to 0, and API_MINOR to 5.

Wed Dec 16 22:54:16 1998  Christopher Faylor <cgf@cygnus.com>

	Merge in thread-safe branch changes.

Wed Dec 16 22:54:16 1998  Christopher Faylor <cgf@cygnus.com>

	* pthread.cc: Include winsup.h.

Wed Dec 16 22:54:16 1998  Christopher Faylor <cgf@cygnus.com>

	* thread.cc: Reformat.
	* pthread.cc: New file.
	* cygwin.din: Add pthread interface functions

Wed Dec 16 22:54:16 1998  Christopher Faylor <cgf@cygnus.com>

	* configure.in: Add some --enable options.
	* configure: Regenerate.
	* Makefile.in: Reorganize CFLAGS to recognize new --enable options.

Wed Dec 16 22:54:16 1998  Christopher Faylor <cgf@cygnus.com>

	* fork.cc (stack_base): Store slightly different information
	in child_info_fork structure for later use in alloc_stack_hard_way.
	(fork): Set frame pointer information if stack has been reallocated.
	* dcrt0.cc (alloc_stack_hard_way): Reflect change in
	child_info_fork structure.
	(dll_crt0_1): Make thread initializers "static" and NO_COPY or death
	of the main thread causes death of other threads.
	* winsup.h (child_info_fork): Change structure.

Wed Dec 16 22:54:16 1998  Christopher Faylor <cgf@cygnus.com>

	* thread.h: Remove extraneous declaration.
	* include/sys/strace.h: Make a new thread_printf function
	for use by new thread-safe code.
	* thread.cc: Use thread_printf throughout.

Wed Dec 16 22:54:16 1998  Christopher Faylor <cgf@cygnus.com>

	patch from Marco Fuykschot (marco@ddi.nl)
	* Throughout sources add locking control for preliminary
	thread-safe cygwin operation.

Wed Dec 16 22:54:16 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (getprogname): Should be a static.
	(alloc_stack): Extend to allow forking from another
	thread.
	(alloc_stack_hard_way): New function used by alloc_stack.
	(dll_crt0_1); Don't pass parameters since stack may be
	"funny".  Use statics instead.  Move fork/spawn checking
	into dll_crt0.
	(dll_crt0): Do fork spawn checking here.  alloc_stack()
	will call dll_crt0_1 if forked from a non-main thread.
	* fork.cc (stack_base): New function determines base
	(and other values) of this thread's stack.
	(fork): Use new PROC_FORK1 method for forking.  Provides
	more data to forkee.  Use stack_base to set stack
	values.
	* winsup.h (child_info_fork): Changes for PROC_FORK1.

Wed Dec 16 16:15:29 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/shellapi.h: fix typo in DragQueryPoint proto.

Mon Dec 14 12:37:43 1998  Geoffrey Noer  <noer@cygnus.com>

	* net.cc: minor respacing
	(get_ifconf): new local function, combines get_winnt_ifconf and
	get_win95_ifconf.
	(get_win95_ifconf): delete
	(get_winnt_ifconf): delete
	(fhandler_socket::ioctl): adjust ifconf calls in light of above,
	check returned value for safety.
	* include/cygwin/version.h: bump CYGWIN_VERSION_API_MINOR to 4
	in honor of newly supported socket ioctls.

	patch from Corinna Vinschen <corinna.vinschen@cityweb.de>:
	* include/asm/socket.h: Added defines for ioctl() calls
	SIOCGIFADDR, SIOCGIFBRDADDR and SIOCGIFNETMASK.
	* net.cc (get_winnt_ifconf): Check the registry entries
	instead of just calling get_win95_ifconf(). Added what argument
	to support the new ioctl() calls.
	(get_win95_ifconf): Check the Windows 9x registry entries as
	described by Tim Newsham.
	(fhandler_socket::ioctl): Support the ioctl() commands
	SIOCGIFADDR, SIOCGIFBRDADDR and SIOCGIFNETMASK.
	(get_if_flags): Check for a down interface.

Wed Dec  9 18:11:31 1998  Geoffrey Noer  <noer@cygnus.com>

	* fhandler.cc (fhandler_disk_file::open): check for shell scripts
	regardless of Win32 OS type.

Sun Dec  6 19:38:11 1998  Christopher Faylor <cgf@cygnus.com>

	patch from Corinna Vinschen <corinna.vinschen@cityweb.de>:
	* fhandler_console.cc (fhandler_console::tcgetattr): Fix typo.
	ISIG should be ored with c_lflag.

Tue Dec  1 16:28:56 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/utmp.h: delete, moved to newlib/libc/sys/cygwin/sys.

Thu Dec  3 15:41:51 1998  Geoffrey Noer  <noer@cygnus.com>

	Released 20.1 update.

Thu Dec  3 22:24:18 1998  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (set_process_mask): Add `sync' parameter
	to control whether signals should be synched on exit.
	(handle_sigsuspend): Provide second argument to set_process_mask -
	don't sync.
	(call_handler): Ditto for asm handler.
	* signal.cc (sigprocmask): Ensure that signals are synchronized
	by calling set_process_mask with sync == 1.
	* sigproc.cc (__release_signal_mutex): Third argument is not
	strictly a BOOL, so change it.
	* sigproc.h: Reflect above parameter changes.

Thu Dec  3 15:30:44 1998  Christopher Faylor <cgf@cygnus.com>

	* select.cc (peek_console): Work around NT bug that
	caused strange behavior with ReadFile after this
	function was invoked.

Tue Dec  1 14:43:35 1998  Christopher Faylor <cgf@cygnus.com>

	* sigproc.cc (sigproc_init): Set maintid and signal_mutex early
	to avoid races in wait_sig initialization.
	(__get_signal_mutex): Improve debug output.
	(__release_signal_mutex): Ditto.
	* spawn.cc (spawn_guts): Allocate more space for string when building
	up from #! and absolute path is not known.  Otherwise weird stuff
	like infinite recursion or unknown file errors occur.

Tue Dec  1 08:34:18 1998  Christopher Faylor <cgf@cygnus.com>

	* mkvers.sh: Accommodate lack of timezone in date output so that
	year shows up correctly.

Mon Nov 30 14:30:51 1998  Jeff Johnston  <jjohnstn@cygnus.com>

	* times.cc (times): Altered function so that on non-Windows-NT systems
	it does not use the GetProcessTimes() API which is not supported.

Mon Nov 30 00:38:54 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc: Fix incorrect use of struct on exception_list
	typedef.
	* debug.cc (thread_stub): Ditto.
	* dll_init.cc: Ditto.
	* include/Windows32/Structures.h: Correct typo where
	typedef SYSTEM_POWER_STATUS was being used as a struct.

Sun Nov 29 22:03:17 1998  Christopher Faylor <cgf@cygnus.com>

	patch from Corinna Vinschen <corinna.vinschen@cityweb.de>:
	* fhandler_console.cc (fhandler_console::ioctl):
	Added ioctl commands TCGETA, TCSETA, TCSETAW, TCSETAF.

Fri Nov 27 22:30:58 1998  Christopher Faylor <cgf@cygnus.com>

	* fhandler.h: Set aside NOEINTR bit.  When this is set
	cygwin will not allow the read on this device to be
	interrupted by a signal.
	* pipe (_pipe): Set NOEINTR bit for read end of pipes
	created using this method.  The vague rationale for this
	is that these pipes are supposed to be more like Windows
	pipes than UNIX pipes.
	* syscalls.cc (_pipe): Honor NOEINTR flag.
	* getopt.c: Clean up some gcc warnings.
	* libcerr.c: Ditto.

Fri Nov 27 21:56:03 1998  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (SIG_NONMASKABLE): Update for new signal
	mask method.
	(handle_sigsuspend): Release of signal mutex must be
	synchronous -- the signal must be delivered before the
	function returns.  Otherwise, there will be races in
	the caller code.
	* sigproc.cc (sigproc_terminate): Minor cleanup.

Thu Nov 26 20:26:17 1998  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (call_handler): Attempt to work around
	potential race when setting signal_arrived.  This
	particularly affects sigsuspend.
	(handle_sigsuspend): Reset signal_arrived prior to
	grabbing the mutex.  This should reduce the probability
	of a race.
	* sigproc.cc (sig_send): Don't reset signal_arrived in
	the SIGSUSPEND case since this could introduce a race.

Thu Nov 26 12:19:16 1998  Christopher Faylor <cgf@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* select.cc (MAKEready): Don't wait for signal prior to
	testing for read.  That introduces an unnecessary delay.

Wed Nov 25 23:03:47 1998  Christopher Faylor <cgf@cygnus.com>

	* winsup.h: Make `isdirsep' an alias for SLASH_P.
	Implement isabspath convenience macro.
	Change sigprotect to a macro since it appears to
	be impossible to send __FILE__ type macros to a
	constructor.  Change use of sig_protect throughout.
	* dcrt0.cc (dll_crt0_1): Use new path macro.
	* dlfcn.cc (get_full_path_of_dll): Ditto.
	* path.cc (path_conv::path_conv): Ditto.
	(normalize_posix_path): Ditto.
	(slashify): Ditto.
	(backslashify): Ditto.
	* syscalls.cc (num_entries): Ditto.
	* lock.cc: Redefine lock methods to pass debug info to
	{get,release}_signal_mutex.
	* environ.cc (environ_init): Correct strncmp test for
	TERM=, otherwise it's impossible to set TERM.
	* exceptions.cc: Eliminate lock_cs and unlock_cs macros.
	Use {get,release}_signal_mutex throughout.
	(signal_init): Don't initialize signal_mutex here.
	(set_process_mask): Remove vestiges of old mutex code.
	(handle_sigsuspend): Ditto.
	(call_handler): Move signal_arrived SetEvent back here.
	It was being triggered too often before.
	Detect when the signal thread is exiting.
	(sig_handle): Remove inappropriate SetEvent(signal_arrived).
	(events_terminate): Move close of signal_mutex elsewhere.
	* glob.cc: Increase "MAXPATHLEN" size for arguments that
	are not necessarily pathnames.
	* pinfo.cc (lpfu): Lower timeout for reporting possible
	problem with INFINITE wait.
	* sigproc.cc (wake_wait_subproc): Make this a macro with
	no arguments so that its use in the code is a little
	clearer.
	(proc_terminate): Eliminate signal blocking here since
	this should already be handled by the caller.
	(sigproc_init): It makes sense to initialize signal_mutex
	here, so do so.
	(__allow_sig_dispatch): Rename.  Take debugging arguments.
	Pass arguments on to release_signal_mutex.
	(__block_sig_dispatch): Rename.  Take debugging arguments.
	Pass arguments on to get_signal_mutex.  Detect signal
	thread exiting confition.
	(__get_signal_mutex): Take debugging arguments.  Maintain
	a stack of nested mutex calls for later display in
	__release_signal_mutex.  Detect signal thread exit
	condition.  Don't bother with locking if signal thread is
	executing or if just an exec stub.
	(__release_signal_mutex): Don't bother with locking if signal
	thread is executing or if just an exec stub.
	* sigproc.h: Reflect renamed functions above.  Provide
	wrappers to pass in diagnostic information.
	* spawn.cc (spawn_guts): More fixes to deal with nested
	#! and to properly report posix argv[0] when invoked as a
	script.

Wed Nov 25 12:41:12 1998  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Reinstate libwinspool.a/winspool.drv creation.

Tue Nov 24 18:48:56 1998  Geoffrey Noer  <noer@cygnus.com>

	* Makefile.in: add CFLAGS_COMMON and CFLAGS_CONFIG to CFLAGS
	and CXXFLAGS in FLAGS_TO_PASS.

	* include/sys/select.h: new file with select proto.  Avoid
	potential conflict with Winsock inclusion by Cygwin internals.
	* include/sys/socket.h: remove select proto.
	* winsup.h: define __INSIDE_CYGWIN__.  Include windows.h after
	Unix include files.
	* include/mywinsock.h: delete file
	* include/Windows32/Sockets.h: add ndef __INSIDE_CYGWIN__s
	around portions that conflict with Unix definitions.  This
	yields what used to be mywinsock.h which is a blend of Unix
	sockets and Winsock needed by Cygwin internals.
	* exceptions.cc: define Win32_Winsock to include
	Windows32/Sockets.h.  No longer define __INSIDE_CYGWIN__.
	* hinfo.cc: ditto
	* net.cc: ditto
	* select.cc: ditto

	* include/exceptions.h: change wrapper define to _EXCEPTIONS_H.
	* include/sys/resource.h: move includes outside __cplusplus check.
	* include/sys/wait.h: ditto.

Sun Nov 22 23:33:19 1998  Geoffrey Noer  <noer@cygnus.com>

	* sigproc.cc (__release_signal_mutex): revert Nov 3d change.

Sun Nov 22 17:04:44 1998  Christopher Faylor <cgf@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* regexp/Makefile.in: Add additional bits necessary to
	allow correct installation of include file.

Fri Nov 20 17:04:48 1998  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Set "Warn about writable strings" option in CFLAGS.
	* fhandler_tty.h: Fix for writable strings detection.
	* grp.cc (add_grp_line): Ditto.
	* mkvers.sh: Ditto.
	* path.h: Ditto.
	* registry.cc: (reg_key::reg_key): Ditto.
	* smallprint.c (__small_vsprintf): Ditto.
	* tty.cc (tty::get_event): Ditto.
	* winsup.h: Give up on read_ready_thread.  Move sig_protect
	here since it needs to use information set up after the sigproc.h
	include.
	* dcrt0.cc: Ditto.
	* debug.cc (WFSO): New function.  Used to ensure that
	function shows up on stack trace.
	(WFMO): Ditto.
	* debug.h: Define the above.
	* exceptions.cc (ctrl_c_handler): Record last signal
	for signal handler.
	* select.cc (MAKEready): New macro for constructing
	fhandler_*::ready_for_read function.
	(fhandler_*::ready_for_read): Use macro to construct this
	method throughout.
	* sigproc.cc (sig_send): Work around race on process termination
	where the event being waited for may disappear.
	(sigproc_terminate): #ifdef code here that attempted to deal with
	the above condition in sig_send.
	* sigproc.h: Move sig_protect to winsup.h.
	* spawn.cc (perhaps_suffix): Don't return pointer into an
	automatic variable.
	(find_exec): Always point known_suffix to something.
	* syscalls.cc (read_handler): Refine debug output.
	(read_ready_thread): Delete.
	(_read): Eliminate use of read_ready_thread.  Call ready_for_read
	directly as appropriate.

Thu Nov 19 15:26:40 1998  Geoffrey Noer  <noer@cygnus.com>

	* Makefile.in: remove -Wunused since that's already in -Wall
	* dlfcn.cc (check_path_access): rename winenv arg to mywinenv
	* path.cc (symlink): change save_errno var to saved_errno
	* spawn.cc (find_exec): rename winenv arg to mywinenv
	(spawn_guts): rename sigprotect handle to starting_here
	* winsup.h: remove trailing comma from process_state flags
	enum
	* utils/aclocal.m4: regenerate
	* utils/configure: regenerate

Thu Nov 19 11:16:38 1998  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Use correct libpthread.a target when
	thread-safe is enabled.

Thu Nov 19 10:49:27 1998  Christopher Faylor <cgf@cygnus.com>

	* path.cc (path_conv): Correct error reporting.

Wed Nov 18 20:07:50 1998  Geoffrey Noer  <noer@cygnus.com>

	* utils/Makefile.in: remove termcap file install rule

Wed Nov 18 18:14:18 1998  Geoffrey Noer  <noer@cygnus.com>

	More minor cleanup:
	* environ.cc (winenv): don't define len twice.
	* fork.cc (sync_with_parent): should NOT use rc since
	this is a macro and that could have interfered with rc in
	the calling function.  Renamed to psync_rc.
	* fhandler_serial.cc (fhandler_serial::open): change
	access to myaccess since it shadows global decl.
	* hinfo.cc: ditto throughout
	* path.cc: ditto throughout
	(path_conv::path_conv): change error to err.

Wed Nov 18 16:17:58 1998  Geoffrey Noer  <noer@cygnus.com>

	* profil.c: include stdio.h
	(print_prof): comment out unused func
	(profile_ctl): should return an int

Wed Nov 18 16:17:58 1998  Geoffrey Noer  <noer@cygnus.com>

	* utils/ps.cc: include sys/cygwin.h, make pname buf
	MAXPATH in size.

	patch from Corinna Vinschen <corinna.vinschen@cityweb.de>:
	* utils/ps.cc (main): converting windows paths to posix
	paths in output.

Wed Nov 18 15:34:46 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/wchar.h: include stddef.h.

Wed Nov 18 17:39:15 1998  Christopher Faylor <cgf@cygnus.com>

	* environ.cc (environ_init): Fix incorrect TERM= detection.

Tue Nov 17 17:28:09 1998  Geoffrey Noer  <noer@cygnus.com>

	* gcrt0.c: include stdlib.h, add proto for monstartup.

Tue Nov 17 16:47:42 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/wchar.h: add protos for wcslen and wcscmp.
	* syscalls.cc: minor reformat.

Tue Nov 17 15:38:45 1998  Christopher Faylor <cgf@cygnus.com>

	* fhandler.cc (fhandler_base::fhandler_base): Default non-disk
	devices to binary mode.
	* fhandler.h: Reformat slightly.

Tue Nov 17 11:19:23 1998  Christopher Faylor <cgf@cygnus.com>

	* external.cc (fillout_pinfo): Copy progname using strcpy to
	save on time.
	* path.h: Add new enums for more fine-grained control
	of path_conv.
	* dir.cc (opendir): Use enum argument to path_conv.
	(mkdir): Ditto.
	(rmdir): Ditto.
	* dlfcn.cc (get_full_path_of_dll): Ditto.
	* fhandler.h: Add new set_readahead_valid to set actual
	readahead.
	* fhandler.cc (raw_read): Remove extraneous variable.
	(fhandler_base::read): Rework to allow readahead when
	not text mode.
	(fhandler_disk_file::fstat): get_symlink_p() only returns
	true/false now.
	(fhandler_disk_file::fhandler_disk_file): Use enum argument
	to path_conv.
	(fhandler_disk_file::open): Ditto.
	* spawn.cc (perhaps_suffix): Ditto.
	* syscalls.cc (_unlink): Ditto.
	(_link): Ditto.
	(stat_worker): Ditto.
	(_rename): Ditto.
	* fhandler_serial.cc (fhandler_serial::open): Always reset timeouts.
	* path.cc (path_conv::path_conv): Honor new enum arguments.
	Specifically, use SYMLINK_CONTENTS for readlink interface.
	(readlink): Use SYMLINK_CONTENTS argument to path_conv.
	* select.cc: Rework serial support which has apparently never
	worked.

Mon Nov 16 16:15:20 1998  Geoffrey Noer  <noer@cygnus.com>

	* Makefile.in: FLAGS_TO_PASS should pass CFLAGS and CXXFLAGS
	not ALL_CFLAGS and ALL_CXXFLAGS.  Rework handling of CFLAGS
	variables to remove duplication and make it possible to
	build mingw directory.

Mon Nov 16 09:40:21 1998  Christopher Faylor <cgf@cygnus.com>

	* syscalls.cc (_open): Use new macro to check for
	NULL or empty pathname and return appropriate error.
	* path.cc (check_null_empty_path*): Move macro to
	path.h.
	* path.h: Move macros here.

Sun Nov 15 20:23:10 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/cygwin/version.h: bump API_MINOR to 3 to mark
	addition of dll_noncygwin_dllcrt0 to exports list.

Sun Nov 15 23:05:21 1998  Christopher Faylor <cgf@cygnus.com>

	* path.cc (check_null_empty_path): New macro.
	(check_null_empty_path_errno): Ditto.
	(path_conv::path_conv): Check for NULL and empty
	path names here and set appropriate error.
	(conv_to_win32_path): Ditto.
	(conv_to_full_win32_path): Ditto.
	(conv_to_posix_path): Ditto.
	(conv_to_full_posix_path): Ditto.
	(mount_info::conv_wo_win32_path): Back out previous
	change.
	(mount_info::conv_to_posix_path): Ditto.

Sun Nov 15 19:29:19 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/limits.h: define CHILD_MAX to be 63.
	* sysconf.cc (sysconf): return CHILD_MAX when asked for
	instead of _POSIX_CHILD_MAX.

Sun Nov 15 18:25:22 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from Mumit Khan  <khan@xraylith.wisc.edu>:
	* path.cc (mount_info::conv_to_posix_path): Handle NULL and
	empty pathnames.
	(mount_info::conv_to_win32_path): Likewise.

Sun Nov 15 18:09:06 1998  Geoffrey Noer  <noer@cygnus.com>

	* cygwin.din: export dll_noncygwin_dllcrt0.
	* {libccrt0.cc, winsup.h}: minor reformat.

Sat Nov 14 22:14:51 1998  Christopher Faylor <cgf@cygnus.com>

	* environ.cc (environ_init): Use sizeof for string lengths
	rather than hard-coded values.

	patch from Mumit Khan <khan@xraylith.wisc.edu>:
	* dll_init.cc (dll_foreign_dllcrt0): Rename to
	dll_noncygwin_dllcrt0.
	* winsup.h: Ditto.
	* include/cygwin/cygwin_dll.h: Ditto.

Sat Nov 14 14:09:33 1998  Christopher Faylor <cgf@cygnus.com>

	* hinfo.cc (hinfo::de_linearize_fd_array): Reset first fd
	for open to zero after an exec.

Sat Nov 14 01:29:23 1998  Christopher Faylor <cgf@cygnus.com>

	* fork.cc (fork): No need for intermediate jmp_buf variable.

	patch from Mumit Khan <khan@xraylith.wisc.edu>:
	* libccrt0.cc (cygwin_attach_foreign_dll): New function.
	* dll_init.cc (dll_foreign_dllcrt0): New function to initialize
	DLLs loaded by non-cygwin apps.
	(dll_dllcrt0_1): Initialize process table entry.
	(dll_dllcrt0): Revert last change to do partial initialization.
	* winsup.h (dll_foreign_dllcrt0): Prototype.
	* include/cygwin/cygwin_dll.h (_cygwin_foreign_dll_entry): New
	entry point that does partial initialization for non-cygwin apps.

Fri Nov 13 16:17:28 1998  Geoffrey Noer  <noer@cygnus.com>

	Assorted -Wall cleanup:
	* utils/mount.cc (show_mounts): remove unused var i.
	* utils/cygcheck.cc (dll_info): comment out unused var ofs.
	(dump_sysinfo): return a void, not an int.  Comment out unused
	var len in two places.  Add parens around assignment used as
	truth value.
	* utils/kill.cc (main): remove unused var i
	* utils/mkpasswd: include <ctype.h> and <stdlib.h>.
	(enum_users): remove unused var rc.
	(enum_local_groups): ditto.
	* utils/ps.cc (main): Add parens around assignments used as
	truth values.
	* utils/mkgroup.c: include <ctype.h> and <stdlib.h>.
	(enum_groups): return void, not int.  Remove unused var rc.
	* gmon.c: include <stdio.h> and <unistd.h>.
	(_mcleanup): remove unused vars buf and profdir.

Fri Nov 13 16:17:28 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from Corinna Vinschen <corinna.vinschen@cityweb.de>:
	* include/sys/sysmacros.h: new file, define major, minor, makedev

Fri Nov 13 17:03:52 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc: Reflect a variable name change.
	* fhandler.h: *::ready_for read takes an additional argument.
	* fhandler_console.cc (get_non_ascii_key): New function derived
	from fhandler_console::read1.
	(fhandler_console::read1): Use new function.
	* select.cc (*::ready_for_read): Add new "nonblocking" argument.
	(peek_console): Be more diligent in detecting when a usable
	character has been entered or false positives will be returned.
	(fhandler_tty_common::ready_for_read): Detect attempt to perform
	a "background" read.
	* syscalls.cc (read_handler): Remove code for dealing with slow
	devices.  Just deal with non-blocking here.
	(read_ready_thread): Renamed function.  Rewritten to only detect
	when an fd has data ready to be read.  Actual reads happen in
	the main thread.
	(_read): Rely on read_handler to read data for everything.  Use
	the read_ready_thread to indicate when data is ready to be read.
	Gut the read_thread_info class since it no longer needs to return
	much information.
	* winsup.h: Reflect above changes to read_thread_info.  Rename
	to read_ready_thread_info.

Fri Nov 13 15:09:26 1998  Christopher Faylor <cgf@cygnus.com>

	patch from Corinna Vinschen <corinna.vinschen@cityweb.de> and
	Ron Parker <rdparker@butlermfg.org>:
	* path.cc (mount_info::conv_to_win32_path): Refined recognition of
	UNC devices.

Fri Nov 13 12:37:00 1998  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Fix a typo.

Fri Nov 13 10:59:43 1998  DJ Delorie  <dj@cygnus.com>

	* Makefile.in: "make" uses new "ld -shared" by default internally.

Fri Nov 13 00:58:38 1998  Christopher Faylor <cgf@cygnus.com>

	* spawn.cc (find_exec): Make sure that return value is correct
	in all cases.  Document.
	* fhandler.h (fhandler_tty_common): Give unit number to constructor.
	* fhandler_tty.cc (fhandler_tty_slave::fhandler_tty_slave): Give
	unit number to descriptor.  Create correct UNIX path name for
	tty so that ttyname() will work correctly.
	* select.cc (fhandler_tty_common::ready_for_read): Don't worry
	about read_for_read since the tty read routines are already
	interruptible.
	* syscalls.cc (_read): Reset read thread events on signal.

	patch from Mumit Khan <khan@xraylith.wisc.edu>:
	* dlfcn.cc (ctype.h): Include.
	(check_access): Document.
	(check_path_access): Document.
	(get_full_path_to_dll): Rework to handle general filenames and
	symlinks.

Thu Nov 12 17:01:52 1998  DJ Delorie  <dj@cygnus.com>

	* Makefile.in (shared): "make shared" uses the new "ld -shared"
	* cygwin.din: add LIBRARY and BASE tags for "ld -shared"

Wed Nov 11 17:16:17 1998  Christopher Faylor <cgf@cygnus.com>

	* configure.in: Add --enable options for various cygwin defines
	including preliminary thread-safe defines.
	* configure: Regenerate
	* Makefile.in: Honor new --enable options.
	* glob.h: Move BSD defines to sys/cdefs.h.
	* include/sys/cdefs.h: Move __P definition here.

Wed Nov 11 14:00:45 1998  DJ Delorie  <dj@cygnus.com>

	* cygwin.din (getpwnam): remove duplicates

Tue Nov 10 18:27:09 1998  Geoffrey Noer  <noer@cygnus.com>

	* utils/aclocal.m4: regenerate with aclocal
	* utils/configure.in: don't call AM_CYGWIN32
	* utils/configure: regenerate

Tue Nov 10 15:56:03 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from Gary V. Vaughan <gvaughan@oranda.demon.co.uk>:
	* dlfcn.cc (dlopen): return an introspective handle to the
	current module if name arg is NULL.  The Single UNIX
	Specification, Version 2 has this as a requirement.

Mon Nov  9 16:29:27 1998  Geoffrey Noer  <noer@cygnus.com>

	* errno.cc (strerror): all errnos in
	newlib/libc/include/sys/errno.h are now listed here.

Mon Nov  9 16:29:27 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/cygwin/version.h: up DLL version, bump API_MINOR to 2
	to mark following change.

	patch from Mumit Khan <khan@xraylith.wisc.edu>:
	* cygwin.din: add exports for some of the newlib bessel
	functions (j1, jn, y1, yn).

Mon Nov  9 15:10:06 1998  Geoffrey Noer  <noer@cygnus.com>

	* syscalls.cc (_link): rewrite FIXME.

Mon Nov  9 14:51:03 1998  Geoffrey Noer  <noer@cygnus.com>

	* errno.cc (strerror): add string for EDEADLOCK.

	patch from Corinna Vinschen <corinna.vinschen@cityweb.de>:
	* errno.cc (errmap[]): add END_OF_MEDIA and additional Win32
	error codes.

Sun Nov  8 21:28:01 1998  Christopher Faylor <cgf@cygnus.com>

	* fhandler.h: fhandler_pipe cannot be is_slow under
	Windows9[58].  There is no way to check for EOF on a pipe
	without performing a read on that system.
	* syscalls.cc (read_handler): Don't check for ready_for_read
	unless this is a "slow" device.
	* winsup.h: Reorganize to accomdate fhandler.h requirement
	for os_type.

Sat Nov  7 23:27:05 1998  Christopher Faylor <cgf@cygnus.com>

	* fhandler.h (fhandler_console): Add a new function declaration.
	* fhandler_console.cc (fhandler_console::read1): New function
	renamed from console_read to allow use of class fields.
	Detect readahead situation when doing line buffering and
	buffer does not contain \n.
	(fhandler_console::read): Reflect function name change.
	* select.cc (cygwin_select): Changes for better handling
	of < 1000 usec timeouts.
	(select_stuff::wait): Perform a poll on timeout to
	set any fd's that may have become active.
	(peek_pipe): More debugging.  Honor write_ready if set.
	(peek_console): Can't always use WaitForSingleObject.
	Detect readahead conditions set in fhandler_console::read1.
	Honor write_ready if set.
	(peek_windows): Honor write_ready if set.
	* times.cc (__to_clock_t): Return clock_t value.
	(times): Add some debugging printfs.

Fri Nov  6 20:15:20 1998  Christopher Faylor <cgf@cygnus.com>

	patch from Corinna Vinschen <corinna.vinschen@cityweb.de>:
	* spawn.cc (spawn_guts): find_exec() argument mismatch
	resulted in inability to run !# scripts which did not
	begin with '/'.

Tue Nov  3 16:12:59 1998  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (handle_exceptions): Don't wait for signal
	completion.
	(ctrl_c_handler): Ditto.
	* fhandler.h (fhandler_*): Declare new ready_for_read functions.
	* select.cc: Reorganize all methods into a peek_*, a poll_*,
	and a fhandler_*::ready_for_read.  This is to allow the _read
	function to query the state of an fd without starting a thread.
	* signal.cc (kill_worker): If sending a signal from a non-main thread
	don't wait for completion.
	* sigproc.h (myself_nowait_nonmain): New define for use by sig_send.
	* sigproc.cc (sig_send): Honor myself_nowait_nonmain.  Don't wait
	if not in main thread.
	(__release_signal_mutex): Revert to calling ReleaseMutex only
	once or mutex is released prematurely.
	* syscalls.cc (read_handler): Use new ready_for_read method to
	determine if an fd has data for reading.  This function optionally
	blocks until there is data to read.
	(read_helper): Add debugging statement.
	(_read): Move signal_arrived reset to before sig_protect to avoid
	a race.  Force read_handler thread to longjmp back to read_handler
	function on signal.

Tue Nov  3 12:18:31 1998  DJ Delorie  <dj@cygnus.com>

	* utils/cygcheck.cc (dump_sysinfo): Note when not finding a
	program (like cpp) on the path is a good thing.

Tue Nov  3 01:26:08 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from Kazuhiro Fujieda <fujieda@jaist.ac.jp>:
	* environ.cc (environ_init): correct size arg to parse_options

Mon Nov  2 21:40:32 1998  Christopher Faylor <cgf@cygnus.com>

	* regexp/regexp.c (regatom): Respond to compiler warning.

Mon Nov  2 21:36:48 1998  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (handle_exceptions): cygwin should not
	print exception information if the exception is trapped
	via signal().
	Also use consistent timings for lock_cs() throughout.

Mon Nov  2 16:46:28 1998  Geoffrey Noer  <noer@cygnus.com>

	* Makefile.in: For now, also include newlib/libc/sys/cygwin.
	Eventually will stop including newlib/libc/sys/cygwin32.

Mon Nov  2 19:38:30 1998  Christopher Faylor <cgf@cygnus.com>

	patch from Corinna Vinschen <corinna.vinschen@cityweb.de>:
	* syscall.cc (gethostname): function deleted
	* net.cc (gethostname): new function 'gethostname' which
	first calls wsock32::gethostname and only if it fails,
	calls GetComputerNameA.

Wed Oct 28 17:57:53 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/cygwin/version.h: up DLL version to 20.0 in honor
	of new Net release.

Wed Oct 28 17:57:53 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from Mumit Khan <khan@xraylith.wisc.edu>:
	* dll_init.cc (doGlobalCTORS): Fix invocation order.
	(doGlobalDTORS): Likewise.

Wed Oct 28 17:57:53 1998  Geoffrey Noer  <noer@cygnus.com>

	* Makefile.in: add include/exceptions.h to dll_init.cc deps.

	patch from Mumit Khan <khan@xraylith.wisc.edu>:
	* dll_init.cc (exceptions.h): Include.
	(dll_dllcrt0_1): New function to initialize Cygwin DLL guts
	properly when a non-Cygwin app uses the Cygwin DLL.
	(dll_dllcrt0): Call dll_dllcrt0_1 when user_data is NULL.

Tue Oct 27 17:35:00 1998  Geoffrey Noer  <noer@cygnus.com>

	* syslog.cc: drop "32" from CYGWIN32_LOG_NAME

Tue Oct 27 16:09:09 1998  DJ Delorie  <dj@cygnus.com>

	* utils/cygcheck.cc (usage): cygwhich->cygcheck

Mon Oct 26 17:47:10 1998  Geoffrey Noer  <noer@cygnus.com>

	* Makefile.in: fix deps for dll_entry.o and dll_main.o,
	add dep for glob.o.

	patch from Mumit Khan <khan@xraylith.wisc.edu>:
	* dll_entry.cc: New file for user DLL entry point.
	* dll_main.cc: New file for user DLL main.
	* Makefile.in (LIBCOS): Add dll_entry.o and dll_main.o.

Mon Oct 26 13:47:10 1998  Geoffrey Noer  <noer@cygnus.com>

	* Makefile.in: add back install of include/net which was
	removed by accident.

Mon Oct 26 15:25:22 1998  Christopher Faylor <cgf@cygnus.com>

	* strace.cc (get_strace_mutex): Don't reset last windows
	error.
	(strace_printf): Preserve last windows error.

Mon Oct 26 11:01:46 1998  Christopher Faylor <cgf@cygnus.com>

	* uname.cc (uname): Remove slash from system name.

Mon Oct 26 02:11:44 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/asm/byteorder.h: add missing __cplusplus wrapper.

Mon Oct 26 00:46:33 1998  Christopher Faylor <cgf@cygnus.com>

	* uname.cc (uname): Remove space from the system name.

Sun Oct 25 23:47:56 1998  Christopher Faylor <cgf@cygnus.com>

	* fhandler_console.cc (console_read): Several typos caused flaky
	behavior when \r or \n detected under ENABLE_LINE_INPUT.  Also ignore
	first \n detected under ENABLE_LINE_INPUT if it isn't preceded by a \r.
	This avoids problems when switching from "raw" mode into "cooked mode.

Sun Oct 25 12:28:21 1998  Geoffrey Noer  <noer@cygnus.com>

	* cygwin.din: remove unnecessary __cygwin32_stack_trace and
	__cygwin_stack_trace exports.

Sat Oct 24 21:18:46 1998  Christopher Faylor <cgf@cygnus.com>

	patch from Corinna Vinschen <corinna.vinschen@cityweb.de>:
	* path.cc (symlink): Standard protection for symlink should
	be 0777.
	* syscalls.cc (num_entries): Calculated links for directory
	entry should only include directories.

Sat Oct 24 20:51:08 1998  Christopher Faylor <cgf@cygnus.com>

	* mkvers.sh: Modify check for CVS/Tag to work around ash bug.
	* sigproc.cc (wait_sig): Fix detection of non-blockable signals.

Fri Oct 23 18:24:43 1998  Geoffrey Noer  <noer@cygnus.com>

	* environ.cc: CYGWIN32 environment variable is now called CYGWIN
	* window.cc: lose "32" in Cygwin32WndClass
	* syslog.cc: lose "32" in WIN95_EVENT_LOG_PATH and
	CYGWIN32_LOG_NAME.

Fri Oct 23 16:32:59 1998  Geoffrey Noer  <noer@cygnus.com>

	* utils/cygcheck.cc: reformat, add copyright notice

Fri Oct 23 18:15:28 1998  DJ Delorie  <dj@cygnus.com>

	* utils/cygcheck.cc: new file
	* utils/Makefile.in: build cygcheck.exe

Fri Oct 23 16:48:41 1998  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (signals_init): Add error to api_fatal.
	(events_init): Ditto.  Collapse printfs into one.
	(winsock_init): Ditto.
	* net.cc (winsock_init): Remove "Cygwin" from error message.

Fri Oct 23 13:48:10 1998  Geoffrey Noer  <noer@cygnus.com>

	* Makefile.in: install include/cygwin headers, losing the "32".
	* include/cygwin32: remove

Fri Oct 23 14:36:31 1998  Christopher Faylor <cgf@cygnus.com>

	* environ.cc (environ_init): Avoid reallocating environ array.
	* exec.cc: Increase number of arguments to 1024 throughout.
	* fhandler.cc (fhandler_disk_file::open): Revert to checking
	a file for '#!' to find out if it is executable but add
	extra check for NTEA which, if set, eliminates the need for
	the read.
	* sigproc.cc (sigproc_terminate): Close hwait_sig and set it
	to NULL prior to closing other handles since this flags some
	routines that the process is going down.

Fri Oct 23 00:31:27 1998  Geoffrey Noer  <noer@cygnus.com>

	* utils/*: remove "32"s from cygwin32_foo function calls

Fri Oct 23 00:24:27 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/cygwin/version.h: increment CYGWIN_VERSION_DLL_MINOR
	and CYGWIN_VERSION_API_MINOR since I'm changing the API in a
	meaningful but backwards-compatible fashion.

	* exceptions.cc: strip "32" from cygwin32_exception_handler
	debug printfs

	* net.cc: strip "32" from all net functions
	* select.cc, syscalls.cc, winsup.h: lose "32" from cygwin32_select
	* cygwin.din: adjust for these changes (no backwards
	compatability issues here).

	* cygwin.din: rename all cygwin32_foo functions, aliasing as
	cygwin_foo for backwards compat. for now but intend to lose them
	at a later date.
	* include/sys/cygwin.h: copy all cygwin32_ protos and make them
	usable without the "32".  We will remove the cygwin32_ ones at a
	later date.
	* external.cc, external.h: lose "32" from cygwin32_internal
	* shared.cc, winsup.h: lose "32" in cygwin32_getshared
	* path.cc, path.h: lose "32" in cygwin32_foo comments
	* dll_init.cc: lose "32" in cygwin32_detach_dll
	* hinfo.cc: lose "32" in cygwin32_attach_handle_to_fd
	* libccrt0.cc: lose "32" in refs to cygwin32_attach_dll
	* pinfo.cc: lose "32" in cygwin32_winpid_to_pid

	* include/cygwin32: remove all files except cygwin32_dll.h which
	some people may already be including.  Aim to remove this
	remaining file at a later date.
	* include/cygwin: move all include/cygwin32 files here.
	* cygwin/cygwin_dll.h: change protos to reflect loss of "32"s
	* include/net/if.h, include/netinet/in.h, include/netinet/ip.h,
	include/netinet/ip_icmp.h, include/asm/socket.h:
	include/sys/socket.h: include the headers in include/cygwin
	* Makefile.in, winsup.h: fix references to
	include/cygwin32/version.h

	* libcctype.c, smallprint.c, test.c: lose "32" in Cygwin32 refs in
	comments
	* include/dlfcn.h, include/exceptions.h, include/mapi.h,
	include/winsock.h, include/mywinsock.h: ditto
	* config/*: ditto
	* profil.c: ditto, and respace

Thu Oct 22 22:52:40 1998  Geoffrey Noer  <noer@cygnus.com>

	* net.cc, exceptions.cc, hinfo.cc, select.cc,
	include/mywinsock.h: rename __INSIDE_CYGWIN32__ to
	__INSIDE_CYGWIN__

Thu Oct 22 17:39:06 1998  Geoffrey Noer  <noer@cygnus.com>

	First round of Cygwin32 -> Cygwin renaming.  In all files,
	rename Cygwin32 to Cygwin in comments.
	* CYGWIN32_LICENSE: delete and
	* CYGWIN_LICENSE: add it back under this name

Thu Oct 22 20:10:24 1998  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc:  Eliminate cs mutex.  Just use signal_mutex
	throughout.  Rename sig_dispatch_mutex to signal_mutex throughout.
	(lock_cs): Rewrite to be a front-end for get_signal_mutex.
	(unlock_cs): Rewrite to be a front-end for release_signal_mutex.
	(set_process_mask): Synchronize signals after resetting mask.
	* sigproc.cc (release_signal_mutex): Report on success or
	failure of signal_mutex release.
	* include/Windows32/Defines.h (FILE_FLAG_WRITE_THROUGH): Make
	unsigned to avoid a compiler warning.

Thu Oct 22 14:23:49 1998  Geoffrey Noer  <noer@cygnus.com>

	* utils/Makefile.in: disable building cygwin.exe.

Thu Oct 22 14:16:10 1998  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (sig_handle): Minimize life of cs lock during
	handling of signals to reduce the potential for a race.

Thu Oct 22 10:23:19 1998  Christopher Faylor <cgf@cygnus.com>

	* include/sys/strace.h: Minor addition from threadsafe-branch.

Thu Oct 22 09:03:18 1998  Christopher Faylor <cgf@cygnus.com>

	* debug.cc (close_handle): Error condition needs a return value.
	* environ.cc (parse_thing): char pointers should all be constant.
	(add): Ditto.
	* heap.cc (heap_init): Provide a little more information in
	fatal printf.  Use api_fatal to print errors.
	* sigproc.cc (sigproc_terminate): Move code executed on
	thread termination here from wait_sig since this function
	may actually be executing in the signal thread.
	* strace.cc (strace_open): Argument should be const.
	(strace_init): Ditto.
	* winsup.h: Ditto.
	* include/cygwin32/version.h: Note that original shared memory
	version was 0 for 98r2.

Wed Oct 21 08:41:39 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (__api_fatal): Remove "cygwin" identifier.
	* fhandler.cc (fhandler_disk_file::open): Set symlink flag
	appropriately for previous change.
	* shared.cc (shared_name): Initialize static buffer to
	(hopefully) force it into NO_COPY segment.
	* mkvers.sh: Reorganize, add cvs tag detection, and output
	cygwin "info" defines.

Tue Oct 20 18:42:50 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/cygwin32/version.h: rewrite versioning comments,
	updating for new scheme but keeping historical information.

Mon Oct 19 23:45:24 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/windows.h: remove Objective-C BOOL ifdef, now taken
	care of within the include/Windows32 header files.
	* fhandler_console.cc: fix KeyEvent references in light of
	changes to the KeyEvent struct in the Windows32 headers.

	Update include/Windows32 header files.  Changes from
	Mumit Khan <khan@xraylith.wisc.edu>, Corinna Vinschen
	<corinna.vinschen@cityweb.de>, and me.
	* include/Windows32/CommonFunctions.h: new file, contents from
	Functions.h.
	* include/Windows32/*.h: Misc updates.

Mon Oct 19 20:26:15 1998  Christopher Faylor <cgf@cygnus.com>

	* debug.cc: Throughout, avoid calling *_printf while lock
	is active.  Previous lock count was not thread-safe.
	* fhandler_console.cc (console_read): Avoid sending a
	\r to caller if ENABLE_LINE_INPUT.
	(fhandler_console::read): Rely on console_read to handle
	\r\n conversion.

Mon Oct 19 12:10:09 1998  Christopher Faylor <cgf@cygnus.com>

	* mkvers.sh: Use more portable constructs to allow running
	this with /bin/sh, bash, and ksh.

Mon Oct 19 11:19:58 1998  Christopher Faylor <cgf@cygnus.com>

	* path.cc (mount_info::from_registry): Missed "b15.0" part
	for writing mount information back to registry.
	(mount_info::init): Remove obsolete stuff.

Mon Oct 19 10:42:17 1998  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Avoid newer GNU make construction when building
	version.cc.

Mon Oct 19 00:09:06 1998  Geoffrey Noer  <noer@cygnus.com>

	* Makefile.in: invoke mkvers.sh with $(SHELL)

Sun Oct 18 15:19:17 1998  Christopher Faylor <cgf@cygnus.com>

	* fhandler.cc (set_name): Accept unit argument for generating
	win32_name.
	(fhandler_base::fhandler_base): Ditto.
	(fhandler_dev_floppy::fhandler_dev_floppy): Ditto.
	(fhandler_dev_tape::fhandler_dev_tape): Ditto.
	(fstat): Set symlink bit only if symlink_p is positive.
	* fhandler.h: Reflect unit argument changes.
	* fhandler_serial.cc (fhandler_serial::fhandler_serial): Accept
	unit argument for generating win32_name.
	* hinfo.cc (hinfo::build_fhandler): Pass unit argument to constructor
	where apropriate.
	* path.cc (path_conv::path_conv): Set symlink_p to a positive
	value if !nofollow, negative otherwise.
	(windows_device_names): Can't default to \dev\comx.  \dev part
	doesn't work.
	(get_device_number): Accept just "comN" for backwards compatibility.

Sat Oct 17 01:58:15 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (globify): Fix problem with argument corruption
	due to use of pointer freed by realloc.

Sat Oct 17 00:10:53 1998  Christopher Faylor <cgf@cygnus.com>

	Change NOT_OPEN_FD to dtable.not_open throughout.
	* Makefile.in: Change .dll name to cygwin1.dll.  Increment
	the '1' when there are API/shared memory changes.  Make
	version.cc file every time .dll is linked.  Remove datestamp
	stuff.
	* mkvers.sh: New file.  Creates version.cc.
	* cygwin.din: Export setdtablesize.
	* dcrt0.cc: Remove obsolete version variables.
	(build_argv): Use issep() macro rather than isspace since
	isspace includes whitespace that the shell does not consider
	a command separator.
	(check_sanity_and_sync): Use new cygwin version defines and
	structures for compatibility checking.
	(dll_crt0_1): Ditto.
	(__api_fatal): Renamed from api_fatal.  Now always called from
	macro which tacks program name to beginning of fmt.  Increase
	size of buffer.
	* environ.cc (regopt): Use new reg_key class constructor
	functionality.
	* net.cc (getdomainname): Ditto.
	* path.cc (read_mounts): Ditto.
	(mount_info::from_registry): Ditto.
	(mount_info::to_registry): Ditto.
	(hash_path_name): No need for this to be a "C" function.
	* external.cc (cygwin32_internal): Export version info strings.
	* external.h: Add CW_GETVERSIONINFO.
	* fhandler.cc (fhandler_base::write): Eliminate use of MIN macro.
	* init.cc (set_dllname): Obsolete function.  Handled in version.cc.
	(dll_entry): Remove reference to set_dllname.
	* libccrt0.cc (this_proc): Renamed from cygwin_statu.
	(cygwin_crt0_common): Record api version in this_proc.
	* mmap.cc (recreate_mmaps_after_fork): No need for this to be
	a "C" function.
	* syscalls.cc (close_all_files): Ditto.
	* pinfo.cc (lock_pinfo_for_update): Eliminate a compiler warning.
	* registry.cc: Eliminate reg_session class. Augment reg_key to handle
	functionality of reg_session.
	* registry.h: Ditto.
	* shared.cc (shared_name): No need for this to be a "C" function.
	Use new cygwin version structure.
	(shared_info::initialize): Use new reg_key class constructor
	functionality.
	* smallprint.c (__small_vsprintf): Accept %P as a format specifier.
	Signifies the program name.
	* spawn.cc (spawn_guts): Quote *all* of the stuff the dcrt0.c considers
	special.
	* tty.cc (tty::inuse_event_exists): Remove debugging printf.  It results
	in too much output to strace log.
	* uinfo.cc: Add a needed include.
	* uname.cc (uname): Use new cygwin version structure to fill in utsname
	fields.
	* winsup.h: Regroup into sections.  Add new version structure.
	* include/utmp.h: Move login/logout function declarations here.
	* include/cygwin32/version.h: Define new CYGWIN version/info
	stuff here.

Fri Oct 16 00:13:35 1998  Geoffrey Noer <noer@cygnus.com>

	* Makefile.in: enable building mingw subdir by default

Thu Oct 15 12:01:08 1998  Christopher Faylor <cgf@cygnus.com>

	* spawn.cc (spawn_guts): Set all security attributes
	for CreateProcess so that sexec will work properly.

Thu Oct 15 08:49:12 1998  Christopher Faylor <cgf@cygnus.com>

	* hinfo.cc (hinfo::dup2): Avoid a null pointer dereference
	in a debugging printf.

Wed Oct 14 18:06:51 1998  Geoffrey Noer <noer@cygnus.com>

	patch from Corinna Vinschen <corinna.vinschen@cityweb.de>:
	* fhandler_console.cc (fhandler_console::dup): reset
	default_color since the console fhandler forgets its default
	colorizing when it's `dup'ed.
	(fhandler_console::fhandler_console): remove unnecessary
	erasing in constructor of fhandler_console.

Mon Oct 12 22:20:59 1998  Christopher Faylor <cgf@cygnus.com>

	* fcntl.cc (fcntl): According to the "Single UNIX Specification",
	F_DUPFD should *not* close its argument.  Revert to previous
	behavior.
	* hinfo.cc (dup2): Guard against closing target fd too early.
	* pinfo.cc: Always initialize myself to a dummy value so that
	myself != NULL checks are avoided.
	* include/sys/strace.h (strace): Remove NULL check for myself.
	* dcrt0.cc (api_fatal): Ditto.
	* exceptions.cc (handle_exceptions): Ditto.
	* signal.cc (sigprocmask): Ditto.
	(_raise): Ditto.
	* strace.cc (get_strace_mutex): Ditto.

Mon Oct 12 15:19:47 1998  DJ Delorie  <dj@cygnus.com>

	* utils/ps.cc (main): use const char *pname

Fri Oct  9 12:32:23 1998  Christopher Faylor <cgf@cygnus.com>

	* syscalls.cc (getw): Simplify.

Thu Oct  8 23:09:34 1998  Geoffrey Noer <noer@cygnus.com>

	* times.cc: add missing syscall_printfs to time functions,
	slight reformatting.

Thu Oct  8 21:56:37 1998 DJ Delorie <dj@cygnus.com>

	* hinfo.cc (cygwin32_attach_handle_to_fd): allow to pass -1
	for dup() simulation; return allocated fd.
	* pinfo.cc (lock_pinfo_for_update): if the mutex is broken,
	fail instead of looping.  If you do loop, don't use 100% CPU.

Thu Oct  8 18:33:02 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc: Add another per-thread object for strace.
	(quoted): Fix misconception of method used to quote
	quotes.
	(globify): Optionally output arguments.
	(build_argv): Ditto.
	(dll_crt0_1): Fix typo in line reassignment.
	* debug.cc (class locker): Avoid calling lock multiple times.
	* exceptions.cc (call_handler): Set strace recursion flag
	to zero when invoking a signal handler.
	* fcntl.cc (_fcntl): F_DUPFD should close its argument.
	* fork.cc (fork): Move determination of parent process to
	a safer place.
	* sigproc.cc (get_sig_dispatch_mutex):  Rename.  Use macro
	interface to provide the name of the caller for strace output.
	(release_sig_dispatch_mutex): Ditto.
	* sigproc.h: Define *_dispatch_mutex wrappers.
	* strace.cc (strace_printf): Use new per-thread object to
	guard against recursion.
	* winsup.h: Define per_thread_strace_protect.  Redo per_thread
	base class for a little more clarity.

Wed Oct  7 22:30:43 1998  Geoffrey Noer <noer@cygnus.com>

	* fhandler_tty.h: up NTTYs from 16 to 128

Wed Oct  7 09:15:55 1998  Christopher Faylor <cgf@cygnus.com>

	* fhandler_console.cc (console_read): Distinguish between
	0 byte return from CTRL-C and EOF condition.

Tue Oct  6 22:31:44 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (build_argv): Rewrite. Now: 1) allocates argv on
	the fly, 2) inserts '@' files as they are found, 3) uses
	sh-style quoting using either " or ' which may be embedded
	in an argument.
	(insert_file): Don't scan command line.  Accept already
	parsed arguments from build_argv.
	(quoted): New function for parsing quoted strings.
	(globify): Don't scan argv list.  Accept element from
	build_argv which will be tacked to end of argv as it
	is being built.  Extend quoting options to allow
	tilde, braces, and quotes.
	(dcrt0_dll_1): Simplify argv processing.  Just call
	build_argv, which handles everything.

Tue Oct  6 11:04:43 1998  Christopher Faylor <cgf@cygnus.com>

	Change Create[A-Z]* calls throughout to use sec_none_nih
	to avoid subprocesses accidentally inheriting handles.
	* grp.cc: Hold group structures in group_buf rather than
	an image of the /etc/group file.
	(parse_grp): New function to parse a group line into a
	struct group.
	(add_grp_line): Use parse_grp to add line from /etc/group
	into internal cache.
	(read_etc_group): Avoid redundant feof call.  Set up
	default group.
	(getgrgid): Just return appropriate entry from group_buf
	rather than reparsing internal representation.
	(getgrnam): Ditto.
	(getgrent): Ditto.
	* hinfo.cc (hinfo::select_*): Set errno value when attempt
	is made to use an unopened fd.
	* passwd.cc: Hold passwd structures in passwd_buf rather than
	an image of the /etc/passwd file.
	(parse_pw): New function to parse a passwd line into a
	struct passwd.
	(add_pw_line): Use parse_pw to add line from /etc/passwd
	into internal cache.
	(read_etc_passwd): Avoid redundant feof call.
	(search_for): Just scan passwd_buf for matching entries.
	(getpwent): Just return appropriate entry from passwd_buf
	rather than reparsing internal representation.

Mon Oct  5 18:06:31 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from Corinna Vinschen <corinna.vinschen@cityweb.de>:
	* sysdef/kernel32.def: add missing GetDiskFreeSpaceEx lines

Sat Oct  3 23:52:23 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (si): Initialize so that NO_COPY will work.
	* debug.cc (class locker): Fix previous change.  Critical
	sections are still required, so protect them if operating
	in main thread to avoid signal problems.
	Make any previously static use of locker global since that
	appears to be the only foolproof way of marking the variable
	NO_COPY.  Rename these variables to something that is not
	likely to be collided with.
	* exceptions.cc (call_handler): Signal arrival of a dispatched
	signal here and wait a long time for the mutex before giving
	up.  Should increase performance slightly.
	* sigproc.cc (maintid): New external symbol.
	* sigproc.cc (maintid): Make this global since it is used
	in other places now.
	(sig_dispatch_pending): Don't wait for wait_sig to complete
	if there are no pending signals.  Avoids a race and should
	be faster.
	(wait_sig): Don't set signal_arrived event here.  Do it in
	call_handler.
	* strace.cc (strace_printf): Remove previous recursion check
	since it is not signal safe.
	* syscalls.cc (_read): Remove duplicate CreateEvent typo.

Fri Oct  2 09:54:42 1998  DJ Delorie  <dj@cygnus.com>

	* strace.cc (strace_printf): protect against recursion

Thu Oct  1 17:08:47 1998  Geoffrey Noer  <noer@cygnus.com>

	* utils/ps.cc (main): add more detailed usage printfs

Thu Oct  1 11:05:16 1998  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Fix typo in debug.o dependency.
	* debug.cc (class locker): Give up on using critical sections
	since they are not safe to use in the main thread due to signals.

Wed Sep 30 22:34:42 1998  Christopher Faylor <cgf@cygnus.com>

	* fork.cc (fork): Close parent's parent_alive handle
	if there is one or suffer a handle leak.
	* syscalls.cc (_read): Make all events no access and
	non-inheritable or suffer potential handle leak.
	* windows.cc (gethwnd): Ditto.

Wed Sep 30 17:22:29 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/io.h: add missing setmode proto

Tue Sep 29 23:33:11 1998  Christopher Faylor <cgf@cygnus.com>

	* fhandler_tty.cc (fhandler_pty_master::close): Make sure
	both sides of both pipes associated with a tty master are
	closed or suffer handle leaks.

Tue Sep 29 16:55:00 1998  Geoffrey Noer  <noer@cygnus.com>

	* path.cc (mount_info::init): remove default mounts for
	raw devices.
	* utils/mount.cc (reset_mounts): ditto
	(main, usage): new -f flag disables warning messages about
	missing mount point directories.  Two new flags, disabled for
	now: -c will create missing mount point directory, -g will
	select adding the mount point to the global registry location.
	* include/sys/mount.h: add MOUNT_GLOBAL define, for future use.

Tue Sep 29 14:20:30 1998  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (exception): Use %p to denote some hex
	values.
	* winsup.h (read_info): Add jmp_buf to structure.  Required
	for syscalls.cc change below.

Mon Sep 28 19:36:41 1998  Syd Polk  <spolk@cygnus.com>

	* include/{tchar.h, direct.h}: Added so that
	tcl8.1a2 can be compiled with cygwin.

Mon Sep 28 19:36:41 1998  Christopher Faylor <cgf@cygnus.com>

	* syscalls.cc (thread_reset): Yet another method for
	handling interruptible reads.
	(_read): Use thread_reset to reset reads after a signal.

Sun Sep 27 21:11:46 1998  Christopher Faylor <cgf@cygnus.com>

	* cygwin.din: New alias for __cygwin32_stack_trace.
	* debug.cc (find_handle): Avoid leaving function without
	unlocking.
	(newh): Ditto.
	* exceptions.cc (__cygwin32_stack_trace): Rename to just
	`stack'.  Shortens stack trace output.
	(exception): Use %p to distinguish register values.
	* fhandler_console.cc (fhandler_console::init): Remove
	debugging sig_protect.
	* init.cc (dll_entry): Move definition to avoid a
	compiler warning.
	* path.cc (mount_info::conv_to_win32_path): Detect
	case of root directory when setting win32 relative
	path.
	(mount): Remove obsolete label.
	* syscalls.cc (thread_sync): New function for exiting
	the read helper thread.
	(_read): Use new method for exiting the read helper
	thread.

Sun Sep 27 11:25:06 1998  Christopher Faylor <cgf@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* delqueue.cc (delqueue_list::process_queue): Clear queue
	entry if file cannot be deleted for a reason other than
	sharing violation.

Fri Sep 25 08:52:50 1998  Christopher Faylor <cgf@cygnus.com>

	* debug.cc: locker variables should all be static.
	* syscalls.cc (_read): Call ForceCloseHandle on
	thread handle since it is protected.

Thu Sep 24 18:59:25 1998  Geoffrey Noer  <noer@cygnus.com>

	* path.cc (mount): don't verify that path is an existing
	directory.  Instead
	* utils/mount.cc: verify that path is an existing directory
	and print warning if it's not.  Still do the mount.

Thu Sep 24 11:45:04 1998  Christopher Faylor <cgf@cygnus.com>

	* debug.cc: locker class variables must be NO_COPY since
	they contain data that should not be precisely duplicated
	after a fork.  This hopefully fixes a "SIGSEGV" problem.
	* select.cc (peek_pipe): Pipes apparently should set both
	"read" and "exception" flags on EOF.

Wed Sep 23 18:26:31 1998  DJ Delorie  <dj@cygnus.com>

	* doc/doctool.c (main): typo checking for --help

Wed Sep 23 17:46:06 1998  Christopher Faylor <cgf@cygnus.com>

	* path.cc (symlink_check_one):  Try much harder to ensure that
	CloseHandle is called on the file which was opened to check
	for a symlink.  Avoid obsolete check for NULL buf.

Wed Sep 23 17:11:50 1998  Christopher Faylor <cgf@cygnus.com>

	* syscalls.cc (_read): Close thread handle or suffer a leak.
	* dir.cc (opendir): Simplify logic.
	(readdir): Ditto.  Close handle explicitly when hit end
	of files.
	(rewinddir): Close directory handle or suffer leak.
	(closedir): Simplify logic.

Wed Sep 23 14:42:12 1998  Christopher Faylor <cgf@cygnus.com>

	patch from DJ Delorie <dj@cygnus.com>:
	* path.cc (symlink_check_one):  Don't re-define res or symlinks
	will be undetectable.

Wed Sep 23 12:02:39 1998  Christopher Faylor <cgf@cygnus.com>

	* Change calls to api_fatal throughout to avoid need for \n
	(see below).
	Adapt some *_printf()/ExitProcess combinations to use api_fatal.
	* winsup.h (SIGTOMASK): Generate signal mask correctly for
	programs linked with newer cygwins.
	* dcrt0.cc (check_sanity_and_check): Set subtract constant for
	signal mask calculation based on whether binary was linked with
	"older" or "newer" cygwin.
	(do_global_ctors): Accept a second argument indicating whether
	the ctors should always be run.  Necessary in forked processes
	for cygwin constructors which may do more than just allocate memory.
	(checkout): Remove obsolete function.
	(dll_crt0_1): Remove obsolete function call.  Call do_global_ctors
	with second argument TRUE.
	(api_fatal): Change to a print-style function, allowing arguments.
	Always emit a "\n" after a message.
	(__main): Do not force running of constructors in forked processes.
	* exceptions.cc (call_handler): Simplify arguments passed to this
	function.  Eliminate potential race by setting signal masks here.
	(sig_handle): Just calculate current sigaction pointer once.
	Change call_handler arguments.
	* fhandler_console.cc (fhandler_console::write_normal): Output
	unknown characters to screen.
	(fhandler_console::write): Make signal protection synchronous.
	* fork.cc (fork): Reorganize slightly to eliminate a compiler warning.
	* init.cc (dll_entry): Temporarily remove freeing of waitq_storage
	on thread detach until a more robust scheme is developed.
	* signal.cc (signal): Make signal protection synchronous.
	(sigaction): Ditto.
	* sigproc.cc (get_sig_dispatch_mutex): More debug info.
	(release_sig_dispatch_mutex): Work around potential bug in windows
	with double allocation of a mutex when WaitForSingleObject is
	interrupted.  Save errno here only if about to call sig_send
	where it may be changed.
	(wait_sig): Remove unnecessary sig_sign stuff.  Add some debugging
	output.
	* termios.cc (tcflow): Signal protection.
	(tcgetattr): Ditto.
	(tcsetattr): Make signal protection synchronous.
	* winsup.h: Add new extern for SIGTOMASK macro.  Use it in SIGTOMASK
	macro.  Move errno stuff to end so that it can benefit from previous
	declarations.
	* configure.in: Move AC_CANONICAL_SYSTEM up a little to avoid having
	configure generate some code (like the check for host type) twice.
	* configure: Regenerate.

Wed Sep 23 11:49:55 1998  Christopher Faylor <cgf@cygnus.com>

	* path.cc (symlink_check_one): Fix handle leak resulting
	from open of file to check for symlink magic.  Suggested
	by Corinna Vinschen <corinna.vinschen@cityweb.de> .

Wed Sep 23 08:33:26 1998  Christopher Faylor <cgf@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* fhandler_tty.cc (process_ioctl): Use console handle
	for ioctl operations.

Tue Sep 22 23:58:20 1998  Geoffrey Noer  <noer@cygnus.com>

	based on patch from sos@prospect.com.ru (Sergey Okhapkin):
	* utils/ps.cc (main): rewrite ps to give it more options,
	including a, e, f, l, and u.

Tue Sep 22 15:18:41 1998  Geoffrey Noer  <noer@cygnus.com>

	* path.cc (umount): remove initial system_printf
	(mount): stat path, verify that it's an existing directory,
	otherwise fail.
	(strncasematch, strcasematch): return 0 instead of FALSE
	* utils/mount.cc (reset_mounts): reset / to System drive,
	not C: as was done in the old days.

Mon Sep 21 18:18:18 1998  Geoffrey Noer  <noer@cygnus.com>

	* path.cc (mount, umount, setmntent, getmntent, endmntent):
	make extern "C"

Mon Sep 21 20:37:16 1998  DJ Delorie  <dj@cygnus.com>

	* doc/configure.in: don't try to find cc until we can correctly
	configure it for a native cc in a cross build.

Mon Sep 21 17:17:14 1998  Geoffrey Noer  <noer@cygnus.com>

	* fhandler.cc (fhandler_disk_file::check_execable_p):
	don't check for .shc since that's non-standard.  Check for
	.exe first.

Mon Sep 21 14:57:50 1998  Geoffrey Noer  <noer@cygnus.com>

	* doc/Makefile.in: reference -db2html in case docbook
	tools aren't installed.

Mon Sep 21 14:43:40 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from DJ Delorie <dj@cygnus.com>:
	* doc/doctool.c (scan_file): correct off by one error in
	malloc

Mon Sep 21 14:28:38 1998  Christopher Faylor <cgf@cygnus.com>

	* fhandler.h (select_record): Clear memory in constructor.

Mon Sep 21 08:49:22 1998  Christopher Faylor <cgf@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* select.h: Use unsigned int to hold count in fd_set
	structure or suffer alignment problems.
	(WINSOCK_FD_ZERO): Back out previous change as it
	is no longer needed due to the above.

Sat Sep 19 22:58:18 1998  Christopher Faylor <cgf@cygnus.com>

	* fhandler_console.cc (console_read): Keep looping in
	ENABLE_LINE_INPUT mode when no characters are read.
	This apparently means that a CTRL-C has been hit.
	* select.cc (select_record::operator new): Remove.
	(setlect_stuff::~select_stuff): Use delete to remove
	record.
	(pipe_cleanup): Remove unneeded statement.
	(poll_socket): Add debugging statement.
	(start_thread_socket): Add debugging statements.
	* fhandler.h: Remove new operator from select_record.
	* select.h: Make WINSOCK_FD_ZERO more aggressive.
	* sigproc.cc (allow_sig_dispatch): Use new errno
	saving method.
	* syscalls.cc (_read): Reorganize stack freeing
	code to avoid overhead when it's not needed and
	to actually decommit stack memory.

Sat Sep 19 19:16:32 1998  Christopher Faylor <cgf@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* select.cc (socket_cleanup): Avoid using a pointer
	after it has been deleted.

Fri Sep 18 13:57:37 1998  Christopher Faylor <cgf@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* Makefile.in: Really remove extra slash in INCLUDES.
	Previous change didn't work.
	pipe.cc (make_pipe): set close-on-exec flag for non-inheritable
	pipes.

Thu Sep 17 15:26:14 1998  Christopher Faylor <cgf@cygnus.com>

	* doc/Makefile.in: Add dummy install target.

Thu Sep 17 12:30:49 1998  Christopher Faylor <cgf@cygnus.com>

	* winsup.h (per_thread*): New classes for storing and
	manipulating per_thread information.
	(threadstuff): New array of per_thread objects which are
	manipulated after a fork.
	(read_helper_thread_info): read() thread local storage.
	(waitq_storage): wait() thread local storage.
	* debug.cc (class locker): New class for generic locking
	of debug table manipulation.  Use this throughout for
	locking access to thread/debug tables.
	(debug_init): Remove in favor of automatic constructor.
	* debug.h: Ditto.
	* fork.cc (fork): Iterate through threadstuff looking
	for thread information to clear out.  Should solve some
	problems for Windows 95/98.
	* init.cc (dll_entry): Remove thread storage initialization.
	Use per_thread class for DLL_THREAD_DETEACH.
	* sigproc.cc:  Use system_printf rather than alert_printf
	throughout since system_printf now has the same functionality.
	(sigproc_init): Use method to initialize per-thread storage.
	* sigproc.h: Remove waitq_storage declaration.
	* syscalls.cc (_read): Use per_thread class to manipulate
	per-thread information.
	* wait.cc (wait4): Ditto.

Wed Sep 16 12:58:49 1998  Christopher Faylor <cgf@cygnus.com>

	* syscalls.c (_read): Lower timeout for signal detection after
	EOF on device.  Should fix recent configure performance problems.
	* Makefile.in: Extend clean target into regexp directory.

Wed Sep 16 11:44:14 1998  Christopher Faylor <cgf@cygnus.com>

	* fhandler.cc (fhandler_base::set_name): Honor no_free_names().
	(fhandler_base::linearize): Remove unneeded check for NULL
	get_win32_name().
	(fhandler_disk_file::fhandler_disk_file): Set path names
	to a standard constant.  They should eventually be filled
	out by fhandler_disk_file::open.
	(fhandler_disk_file::open): Detect if win32_path_name_ is
	a dummy path.  Fill it out from real_path, if so.
	* hinfo.cc (hinfo::init_std_file_from_handle): Improve debugging
	statement.
	(hinfo::linearize_fd_array): Remove unneeded check for NULL
	get*_name ().
	* path.cc (path_conv::path_conv): Correct problem with
	symlinks found at places like E:\.

Wed Sep 16 02:25:33 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* fhandler.cc (fhandler_disk_file::open): fix typo.

Tue Sep 15 23:52:44 1998  Christopher Faylor <cgf@cygnus.com>

	* winsup.h: Remove side effects from SLASH_P.

Tue Sep 15 18:36:08 1998  Ben Elliston  <bje@cygnus.com>

	* sysdef/kernel32.def: Add definition for the Win32 API function
	`TryEnterCriticalSection'.

Tue Sep 15 12:26:48 1998  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Remove extra slash in INCLUDES.
	* hinfo.cc (hinfo::dup2): Always clear close-on-exec
	flag for duplicated handle (problem and fix determined
	by Sergey Okhapkin, sos@prospect.com.ru).
	* fhandler.cc (fhandler_base::set_name): Avoid use of empty
	path names.
	(fhandler_base::raw_read): Show error code on failure.
	(fhandler_base::linearize): Avoid copying NULL names.
	(fhandler_base::open): Use NULL detection in small_printf.
	(fhandler_base::dup): Move set_close_on_exec_flag to dup2
	so it is caught in all cases.
	(fhandler_disk_file::fhandler_disk_file): Set "no free names"
	flag.
	(fhandler_disk_file::open): Clear "no free names" flag since
	names have been allocated to the fhandler structure at this point.
	* fhandler.h (set_no_free_names): Newconditional "no free names"
	function.
	* hinfo.cc (hinfo::dup2): Clear close on exec here.
	(hinfo::linearize_fd_array): Avoid copying NULL names.
	* path.cc (normalize_posix_path): Avoid copying trailing slash
	if root.
	(nofinalslash): Rename variable.
	* path.h: Add flag for future use.
	* regexp/regerror.c: Avoid including RCS strings in product.
	* regexp/regsub.c: Ditto.

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* select.cc (thread_pipe): Sleep for 10ms on every iteration.
	(start_thread_pipe): Set the handle in the select structure
	so that it will be properly identified in select_stuff::wait.

Tue Sep 15 12:28:30 1998  DJ Delorie  <dj@cygnus.com>

	* added documentation and doctool.c

Tue Sep 15 08:37:26 1998  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Fix LIBGCC definition for native builds.
	Remove CFCOMMON in favor of configure solution.
	* configure.in: Default CXXFLAGS to be == CFLAGS.
	* configure: regenerate.

Sun Sep 13 19:52:04 1998  Geoffrey Noer  <noer@cygnus.com>

	* Makefile.in: include ../libio when building

Sun Sep 13 19:30:58 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/cygwin32/version.h: bump version minor now that
	we've merged in all that new code...

Sun Sep 13 21:34:33 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (do_global_ctors): Reverse call order
	of constructors thanks to insight from Mumit Khan
	(hkan@xraylith.wisc.edu).
	(do_global_dtors): Reflect above change: invoke destructors
	in the proper order.
	* smallprint.c (__small_vsprintf): Gracefully detect a
	null pointer for '%s' format.
	* syscalls.cc (_read): Set correct flags to retrieve stack
	information or suffer sporadic failures due to uninitialized
	flag.
	* regexp/regexp.c: Comment out RCS string.  This provides
	no useful information in the .dll.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	Merge in experimental-980602 branch changes.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* path.cc (symlink_check_one): known_suffix needs to be
	determined here in some cases, so deal with it here.
	(path_conv::path_conv): More effort needed to propagate
	the known_suffix back to caller in every case.
	(has_suffix): Return suffix found.
	(readlink): Avoid two passes through symlink_check_one.
	* spawn.cc (find_exec): Propagate known_suffix from
	perhaps_suffix back to caller, if appropriate.
	(spawn_guts): Use suffix returned from find_exec to
	determine if file should be scanned as a script when
	a #! file is found.  Avoids a duplicate call to
	perhaps_suffix.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* path.h (suffix_info): New struct for dealing with standard
	suffix (.exe, .bat, etc.) information.
	(path_conv): Constructor now takes a suffix_info argument.
	(std_suffixes) Standard array of suffixes to consider "special".
	* path.cc (path_conv): Constructor now takes a suffix_info
	argument.  Record any known suffix in path_conv known_suffix
	field.
	(has_suffix): New function for determining if a path already
	has a known suffix.
	(next_suffix): New function for returning the next suffix from
	a list of suffixes.
	(symlink_check_one): Take an optional suffix_info argument
	for suffixes to consider or tack on.
	* spawn.cc (std_suffixes): Standard list of executable suffixes.
	(perhaps_suffix): Pass std_suffixes to path_conv.  Use
	new known_suffix field in path_conv to determine if a
	suffix has been detected.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	Substitute new str{,n}casematch for strcasecmp throughout.
	This implementation is faster since it only tests equality.

	Change fhandler*::open throughout to return true/false
	since the pointer returned was never used for anything.

	* Use strcasestr throughout for case insensitive matches for
	filenames.
	* Makefile.in: Use GNU make construct for determining gcc lib.
	* dcrt0.cc (check_sanity_and_sync): Make error message more
	explicit.
	* debug.h: Better defines for dummy functions when !DEBUGGING.
	* fhandler.cc (fhandler_base::fstat): Don't bother zeroing buf
	here since it is always done in the caller.
	(fhandler_base::~fhandler_base): Recognize cases where *_path_name_
	should not be freed.
	(fhandler_disk_file::open): Split into two functions.  First
	function performs a path_conv and does testing on same.  This
	calls new fhandler_disk_file::open with path_conv data.  New
	function is called by stat_worker to avoid extra path tests and
	mallocs.
	Also, fix long standing off-by-one typo looking for #! magic.
	Also, reapply test for != WinNT when checking files for magic.
	Otherwise there is a tremendous slowdown in file opening, especially
	for stat().
	* fhandler.h: Add support for setting/detecting when *_path_name
	should not be freed.
	Add new fhandler_disk_file::open declaration.
	* hinfo.cc (digits): Remove obsolete function.
	(hinfo::build_fhandler): Add default name for FH_DISK.
	* path.cc (path_prefix_p_): Don't check beyond len1 for leading
	slash.  Responsible for reported performance problems?
	(path_conv::path_conv): Ensure that fileattr is filled out
	correctly in all cases.  Return immediately when a file
	is detected in !follow_mode.
	(nofinalslash): Simplify.
	(strncasematch): New function similar to strncasecmp except
	that it only checks for =/!= and benchmarks faster than same.
	(strcasematch): Ditto, re. strcasecmp.
	(strcasestr): New function which does a case-insensitive strstr.
	Needed for filename matching.
	* smallprint.c (__small_vsprintf): Fix off-by-one in %.ns processing.
	* spawn.cc (exe_exts): Make global for eventual use by other modules.
	* syscalls.cc (_fstat): Zero buf prior to use.
	(stat_worker): Rename from _stat_worker. Reorganize to minimize
	mallocs and path name conversions.  Should now perform only one
	path conversion and 0 malloc/frees.
	* winsup.h: Declare new functions.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	Clean up error messages throughout using new strace_printf
	options.
	* smallprint.c (__small_vsprintf): Add %E option for printing
	error code.  Understand %.n syntax.
	* strace.cc (strace_vsprintf): Common routine for formatting
	strace output.  Default to always ending with \n unless
	string ends with \b.
	(strace_write): Common routine for writing to strace output.
	(strace_printf): Use above two routines.
	(system_printf): Ditto.
	* path.cc (path_conv): Scan path to be converted from right
	to left for efficiency.  Implement extension searching
	which is passed from spawn to symlink_check_one to minimize
	overhead.
	(symlink_check_one): Check extensions for existence for use
	with spawn.
	(readlink): Accommodate changes to symlink_check_one.
	* spawn.cc (perhaps_suffix): Use new extension checking
	capabilities of path_conv.
	(find_exec_1): Delete.
	(find_exec): Generalize to allow searching on any PATH like
	environment variable.
	* dllfcn.cc (check_path_access): Use find_exec to find a path.
	This also ensures that paths are in Windows format which was
	not the case before.
	* environ.cc (conv_envvars): Add LD_LIBRARY_PATH.
	* fork.cc (fork): Clean up dll loading slightly.
	* Makefile.in: Turn on compiler warnings.
	* winsup.h (save_errno): New class for saving errno from
	being clobbered.
	* include/sys/strace.h: Make system_printf a macro similar
	to strace_printf_wrapper.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* sigproc.cc (sig_send): Attempt to work around Windows strangeness
	when thread interrupted while waiting for completion event.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc: Remove debugging function DELETEME ().
	* fhandler.cc (fhandler_base::fstat): Respond to compiler warning.
	* signal.cc (sleep): Reset signal_arrived event before using it or
	we could wake up immediately.
	(usleep): Ditto.
	(pause): Ditto.
	* spawn.cc (spawn_guts): Ditto.  Respond to compiler warning.
	* sigproc.cc (sig_send): More debugging info.
	(sig_dispatch_mutex): Only ping wait_sig when needed.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* select.cc (socket_cleanup): Close thread handle or suffer
	handle leak.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* select.cc (verify_true): New function.
	(fhandler_socket::select_*): Use verify_true for verification
	function to avoid multiple calls to socket select.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* select.cc (select_stuff::wait): Scan entire list of fds
	when WFMO wakes up.
	(set_bits): Add some strace debugging output.
	(thread_socket): Ditto.
	(verify_ok): Return result of set_bits rather than always 1.
	(start_thread_socket): Set the handle in the select structure
	so that it will be properly identified in select_stuff::wait.
	(fhandler_windows::select_read): Verification routine should
	be `poll_windows'.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* sigproc.cc: Change some sigproc_printfs to only occur when
	#ifdef DEBUGGING.
	* spawn.cc (perhaps_suffix): Search for (PROG is the pathname to
	the executable file)  PROG.exe, PROG.com, PROG.bat, PROG.cmd, and
	PROG and return extension found or NULL if no matching file.
	(spawn_guts): If the file name of the executable ends in either
	.exe, .com, .bat, or .cmd we assume that it is not a script file
	and therefore do not open the file to determine if it is.
	Fix "wait_failed" error when exec() called and non-cygwin parent.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* dir.cc (rmdir): Set correct errno when non-empty directory and
	Windows9x.
	* pipe.cc (pipe): Use binary mode by default for pipes.
	* syscalls.cc (_read): Wait for terminated thread to exit before
	clearing its stack memory.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* hinfo.cc (hinfo::fixup_after_fork): Start initial fd search
	to zero forked processes so that a close(0)/dup(fd) will work.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* fhandler_windows::set_close_on_exec: Deal with possible
	NULL handle.
	(fhandler_windows::fixup_after_fork): Ditto.
	* select.cc (select_stuff:wait): Handle return from
	MsgWaitForMultipleObjects correctly for windows case.
	* sigproc.cc (sig_send): Reset completion event for main thread.
	* syscalls.cc (_read): Better handling of stack free condition.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (call_handler): Exit earlier if just running
	in an exec'ed stub since the stub may own the sig_dispatch mutex,
	but we still want to exit.
	* select.cc (select_stuff::wait): Fix check for window activity
	from MsgWaitForMultipleObjects.  Handle infinite wait correctly.
	(poll_windows): Add debugging output.
	* spawn.cc (spawn_guts): Protect against signals interrupting
	at an inopportune moment.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* select.cc (select_stuff:test_and_set): Take appropriate action
	when a select record uses a window_handle.
	(fhandler_windows::select_read): Set handle and windows_handle
	appropriately.
	(fhandler_windows::select_write): Ditto.
	(fhandler_windows::select_except): Ditto.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* select.cc (cygwin32_select): Need to reset signal_arrived before
	testing it or suffer loop.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* fork.cc (resume_child): Give up on SuspendThread synchronization
	and use subproc_ready/forker_finished events.
	(sync_with_parent): Ditto.
	* sigproc.cc (wait_sig): Make sigcomplete_main manual reset to
	allow handling of nested interrupts.
	(wait_sig): Fix stupid typo on exit that would cause a
	loop to run for a long time.  Are exits faster now?

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (unlock_cs): Leave decision to release
	sig_dispatch_mutex to the caller.
	(set_process_mask): Call release_sig_dispatch_mutex explicitly
	if needed.
	(handle_sigsuspend): unlock_cs no longer takes an argument.
	(call_handler): Try to acquire the strace mutex prior to
	suspending the main thread to ensure that the mutex is always
	released.
	(sig_handle): Call release_sig_dispatch_mutex explicitly.
	* fhandler_console.cc (fhandler_console::write): Protect against
	signals while writing.
	* signal.cc (signal): Protect against signal dispatch.
	(sigaction): Ditto.
	* sigproc.cc (sig_dispatch_pending): Return status no longer needed.
	(sig_send): Assume pending_signals if sending signal to self.
	(allow_sig_dispatch): Accept synchronize argument to control whether
	to wait for wait_sig to do its thing.
	(release_sig_dispatch_mutex): Just awaken wait_sig loop and wait
	for acknowledgement if waitfor is TRUE.
	(wait_sig): Don't ever zero pending_signals to avoid a possible race.
	Set pending_signals for blocked signals, too.
	* sigproc.h: Add __SIGFLUSH signal.
	(class sig_protect): Allow destructor to wait for signal dispatch,
	or not given constructor argument.
	* strace.cc (get_strace_mutex): Renamed from waitfor_strace_mutex.
	(release_strace_mutex): External function for use by call_handler.
	This replaces raw calls to ReleaseMutex throughout.
	* syscalls.cc (_read): Use sig_protect to protect against signals.
	Other cosmetic cleanups.
	(_close): Protect function with sig_protect.
	* termios.cc (tcsetattr): Protect function with sig_protect.

Thu Sep 10 21:09:51 1998  DJ Delorie  <dj@cygnus.com>

	* syscalls.cc (_read): typo in matching printf format to args.

	* fhandler.cc (write): Switch to the Microsoft/DJGPP way of
	writing out text files: pass \r but prepend \r to \n.
	(read): Don't collapse multiple \r's.

	* delqueue.cc: rewritten for speed.  Don't check *every* entry in
	the list if we know the list is empty, plus check for duplicates.
	* delqueue.h: ditto.
	* path.cc (path_conv): If a path component is missing, short-
	circuit the symlink check.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* fhandler.h: Reorder fhandler status field so that device is
	in lower bits.  This allows gcc to optimize access to the device.
	* hinfo.cc: Inline not_open().
	* winsup.h: Inline hinfo::not_open().  Make hinfo::[] operator a
	simple array reference.
	* strace.cc: Change strace() to a macro.
	* include/sys/strace.h: Ditto.
	* syscalls.cc (read_handler): New function.  Called directly from
	_read for "non-slow" devices or via read_handler for slow devices.
	(_read): Use read_handler for reading.
	(read_helper): Ditto.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (do_exit): Don't ignore signals if reparenting.
	Besides being a race, this screws up the process which is
	actually executing.
	* fork.cc (fork): Don't create a new process group when
	forking or subprocesses won't respond to CTRL-C.
	* syscalls.cc (_read): Ensure correct setting of EINTR errno.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* fork.cc (sync_with_child): Consider it a success if the child
	has set the subproc_ready signal regardless of whether it has
	exited or not.
	* init.cc (dll_entry): Set read_helper_thread_info stuff to 0
	on dll initialization.  Windows 95 seems to keep garbage here,
	despite documentation to the contrary.
	* syscalls.cc (_read): Report on errors to create read_helper
	events.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (compute_argc): Limit debug_printf string argument size
	or suffer a buffer overrun.
	(do_exit): Add debugging statement.
	* exceptions.cc (call_handler): Remove extraneous sigproc_printf.
	Consolidate signal_arrived event with sig_was_dispatched.
	(events_terminate): Consolidate signal_arrived event with
	sig_was_dispatched.
	* fhandler.h: Rename a field to something more mnemonic.
	* fhandler_tty.cc: Throughout: Only set up fhandler_tty_master when
	actually using ttys.  Change tty_master `f' field to `console'.
	* tty.cc: Ditto.
	* fork.cc (sync_with_child): Add more information to "child died"
	error.
	* hinfo.cc (hinfo::build_fhandler): Call tty master constructor
	when appropriate.
	* select.cc (select_stuff::wait): Consolidate signal_arrived event
	with sig_was_dispatched.
	* sigproc.h: Ditto.
	* syscalls.cc (_read): Ditto.
	* winsup.h: Ditto.
	* sigproc.cc:  Ditto, throughout.
	(block_sig_dispatch): Don't reset signal_arrived.  Causes races.
	* spawn.cc (spawn_guts): Limit debug_printf string argument size
	or suffer a buffer overrun.
	* include/sys/strace.h:  Implement strace_minimal for very minimal
	output which, hopefully, will not affect the behavior of traced
	programs as much.

Thu Sep 10 21:09:51 1998  Geoffrey Noer  <noer@cygnus.com>

	* Makefile.in: build libwinspool.a with the dll name winspool.drv

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (build_argv):  Remove verbose debug_printf.
	(dll_crt0_1): Use shared data handle passed in from parent process
	when appropriate.  Remove extraneous debug_printf.
	* environ.cc (getwinenv): New function.  Returns (possibly cached)
	native version of an environment variable.
	(win_env::add_cache): Add cached version of posix and win env
	variables to local table.
	(posify): Modify for use with native caching.
	(setenv): Convert special environment variables to native here,
	when they are set.
	(struct parse_thing): Simplify struct.
	(struct parse_things): Extend table to accommodate "envcache"
	setting.
	(parse_options): Add "envcache" option to control whether special
	environment variables are cached.  Simplify handling of remembered
	parameters.
	(winenv): Modify for use with getwinenv.
	* exceptions.cc (unlock_cs): release_sig_dispatch takes an argument
	now.
	(set_process_mask): unlock_cs now wakens wait_sig when appropriate.
	(handle_sigsuspend): Reorganize to take advantage of new behavior
	of release_sig_dispatch_mutex and hopefully avoid a race.
	(handle_sig): Avoid waking wait_sig if we couldn't get the dispatch
	mutex.
	* exec.cc (strccpy): Change to modify second argument to point
	to position where "parse" stopped so that it doesn't have to be
	recalculated by the caller.
	(sexecvpe): Use find_exec () to find program to run.  If you've
	got a function for this, you might as well use it.
	* fhandler_tty.cc (fhandler_pty_master::process_input_to_slave):
	Report on signal being sent in termios_printf.  Use kill_pgrp
	interface.
	* fork.cc (fork_copy): Just copy everything at once rather than
	in individual pieces.
	(fork): Potentially move up sbrk() when DEBUGGING so that parent
	and child heaps are in sync.  Pass cygwin_shared_h to child.
	* path.cc (path_conv::path_conv): Make sure that a file is not
	a symlink when returning immediately.
	* sigproc.cc (sig_dispatch_pending): Return TRUE if signals were
	pending.
	(sigproc_init): Move sig_was_dispatched initialization here so
	that it will always be available to other functions which rely
	on it.  Otherwise these functions would have to wait for wait_sig
	to complete its initialization.
	(sig_send): Rework SIGSUSPEND handling.
	(release_sig_dispatch_mutex): Wait for signal to be dispatched
	after releasing mutex if argument is TRUE.
	(wait_sig): Remove sig_was_dispatched initialization from here.
	* sigproc.h: release_sig_dispatch takes an argument.
	* spawn.cc (perhaps_suffix): Take an optional argument indicating
	whether the path has already been converted to win32.
	(find_exec_1): Use getwinenv to get windows version of PATH.  Use
	windows version of individual directories to avoid posix lookups.
	(spawn_guts): Call strace_dump here to cause strace output to
	be slightly more synced when using strace caching.
	(spawnvpe): Use find_exec () to find program to run.  If you've
	got a function for this, you might as well use it.
	* syscalls.cc (_read): Only block signals for "slow" devices.
	* winsup.h: Changes needed for previous checkin and getwinenv.

Thu Sep 10 21:09:51 1998  DJ Delorie  <dj@cygnus.com>

	* path.cc (path_conv): bug fix when path ends in slash

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* fhandler.cc (fhandler_base::set_name): Use fhandler
	method for determining native name.  Avoid path_conv
	when possible.
	(fhandler_disk_file::get_native): New function, returns
	windows name of disk file.
	* fhandler.h: Add get_native() method to fhandler_*
	classes.
	* fhandler_serial.cc (fhandler_serial::get_native): Return
	windows name of serial port.
	* fhandler_tty.cc (fhandler_tty_master::init): Use consistent
	name for tty master.
	* fork.cc (fork_copy): Experimental change to avoid loop.
	* grp.cc (add_grp_line): Use realloc to extend group buffer.
	* hinfo.cc (hinfo::release): fd object should be deleted,
	not freed or suffer a memory leak.
	(init_std_file_from_handle): Reset first_fd_for_open to
	signal that std* locations have been opened.  Avoids use
	of these locations prior to full dtable setup.
	* passwd.cc (add_pwd_line): Use realloc to extend passwd buffer.
	* path.cc (path_conv::path_conv): Avoid checking for symlinks on
	network shares.  Check for existence of file prior to taking
	it apart for symlink checking (this needs more work).
	(windows_device_names): Make global.
	(get_device_number): Detect tty master.
	* sigproc.cc (wait_sig): Maintain a flag which indicates when
	signals are queued due to the wait_sig's inability to get a
	sig_dispatch mutex.
	(sig_dispatch_pending): Don't wake up the wait_sig thread if
	unless there are signals queued (see above) or force argument.
	(allow_sig_dispatch): Only wait for signal dispatch if something
	is queued.
	* sigproc.h: allow_sig_dispatch takes a (defaulted) argument now.
	* syscalls.cc (_open): Use default hinfo::find_unused_handle call.
	* net.cc:  Ditto, throughout.
	* pipe.cc: Ditto.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (do_exit): Ignore user initiated signals here.
	* fhandler.cc (fhandler_disk_file::open): Detect error condition
	on fhandler_base::open.
	* fhandler_console.cc (undo_input): Respond to compiler warnings.
	* grp.cc (getgrgid): Ditto.
	* times.cc (_tzname): Ditto.
	* fhandler_tty.cc (fhandler_Tty_slave::open): Cosmetic changes.
	* fork.cc: Clean up debugging output.
	* pinfo.cc (pinfo_init): Set pgid and sid to different values
	initially.  Let user program set sid appropriately if it is
	to be the owner of a tty.
	* sigproc.cc (allow_sig_dispatch): Try harder to detect when we
	should wait for a signal dispatch.
	* strace.cc (strace_open): Revert to previous mutex behavior.
	* include/sys/strace.h: Ditto.
	* syscalls.cc (_open): Detect error from fhandler open.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	Global changes:
	Store win32 name in fhandler structure to avoid multiple translations.
	Support close_on_exec at the Win32 level for all but sockets.
	Respond to gcc warnings.
	Use single fstat() call for devices.
	*::set_close_on_exec modified.
	* dir.cc (opendir): Use win32 name in stat to speed things
	up a little.
	* debug.cc: New file.  Provides routines for extra debugging
	when -DDEBUGGING is specified.
	* debug.h: New file. Definitions for debug.cc.
	* exceptions.cc (signals_init): Break out signal initialization
	from exceptions.
	(dump_status): Add thread name to stack dump output.
	(handle_exceptions): Renamed.
	(set_process_mask): Don't ever mask non-maskable signals.
	(ctrl_c_handler): Preliminary change to allow propagation of
	cygwin signals back to gdb.
	(sig_handle): Call do_exit directly from signal thread rather than
	attempting to redirect the main thread.
	* fhandler.cc (set_name): Store win32 name in fhandler structure.
	(*::open) name field is extraneous now. Use get_win32_name () to
	retrieve stored win32 name.
	(fhandler_base::fstat): Default to performing fstat on a device.
	(fhandler_disk_file::fstat): Renamed from fhandler_base::fstat.
	Operate only on disk files.
	(fhandler_base::set_close_on_exec_flag): New function sets flag
	without touching the handle.
	(fhandler_base::~fhandler_base): Free unix/win32 path names.
	(fhandler_disk_file::close): Only call delqueue.process_queue from
	this function since disk files are the only things that can
	be unlinked, currently.
	(fhandler_dev_null::open): Delete.
	(set_inheritence): New function.  Set handle inheritence.
	(fhandler_*::fork_fixup): New functions.  Inherit fhandler data
	after a fork.
	fhandler.h: *::set_output_handle - new method.
	Setup methods for use by select().
	fork.cc (fork): Call fixup_after_fork in child to inherit
	handles marked as non-inheritable on CreateProcess.
	hinfo.cc (hinfo::build_fhandler): Use new function to detect
	devices.
	(dup_for_exec): Delete obsolete function.
	(hinfo::dup2): Remove extraneous tests.
	(hinfo::select_*): Interfaces into select().
	(hinfo::release): Free fd in dtable.
	(hinfo::fixup_after_fork): New function.  Inherit close-on-exec
	handles from parent after fork.
	path.cc (mount_info::posix_path_p): Make inline.
	(path_conv::path_conv): Short circuit when path resolves to a device.
	(digits): Move here from hinfo.cc.
	(windows_device_names): Win32 names for Cygwin devices.
	(get_device_number): New function.  Return devie number given device
	name.
	(win32_device_name): New function.  Decode a windows device name
	and an optional "unit".
	(mount_info::conv_to_win32_path): Short circuit when path resolves to
	a device.
	* path.h: add device and unit fields to path_conv class.
	* select.cc: Rewrite for more structure, more OO.
	* sigproc.cc: (get_sig_dispatch_mutex): New function.
	(release_sig_dispatch_mutex): New function.
	* sigproc.h: sig_protect class.  Automatic protection from signals
	when used.
	* syscalls.cc (stat_dev): New function.
	(stat_worker): Short-circuit when a cygwin device is detected.
	* utils/ps.cc: Don't lock_pinfo when -f.  Compress format to fit
	more on a line.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (dll_crt0_1): Register name for main thread.
	* exceptions.cc (dump_status): Add thread name to diagnostic output.
	(__cygwin32_exception_handler): Rename to handle_exceptions.  Avoid
	creating a .core file.
	* exec.cc (sexecve): Reflect spawn_guts argument change.
	* fhandler_tty.cc (fhandler_tty_master::init): Use makethread to
	create a new thread.
	* select.cc: Create pipe/socket threads each time select is called.
	Use thread termination as indication of fd readiness.
	* sigproc.cc (sigproc_init): Use makethread to create a new thread.
	(wait_sig): Simplify default signal call slightly.
	* spawn.cc (spawn_guts): Accept child pinfo pointer rather than
	pid.  Reorganize so that common initialization is handled once.
	* strace.cc: Set strace_mutex to NULL initially to catch CreateMutex
	errors.
	* window.cc (gethwnd): Use makethread to create a new thread.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Add debug.o target.
	* cygwin.din: Separate pipe from _pipe.
	* dcrt0.cc (alloc_stack):  New, more precise method for allocating
	stack space after a fork.
	(dll_crt0_1): Use new child_proc_info class to retrieve information
	from possible parent process.  Remove #ifdef erroneously checked in.
	Remove extraneous syscall_printf.
	* exceptions.cc (signals_init): New function.
	* fhandler.cc (fhandler_make_pipe): Move to pipe.cc.
	* fhandler.h (fhandler_base): New = operator preserves unix_path_name_.
	* fhandler_tty.cc: Strip some tty functions from here into tty.cc.
	* fork.cc: Remove obsolete ifdefs.  Reorganize, streamline with new
	fork.
	* hinfo.cc: Speed up build_fhandler.
	* libccrt0.cc: Remove obsolete ifdefs.
	* pinfo.cc (pinfo_init): Simplified by new fork/spawn info passing
	method.
	* pipe.cc (make_pipe): Moved from fhandler.cc.  Handles MS-style
	_pipe.
	(pipe): Use new arguments to make_pipe.
	(_pipe): New MS-compatible function.
	* shared.cc: cygwin_shared_h make global so that it can be inherited
	via new fork/spawn info passing method.
	(open_shared_file_map): Detect if shared info is already set up from
	fork/spawn.
	* sigproc.cc (sigproc_init): Initialize signals with signals_init here.
	Use new fork/spawn info passing method.
	* spawn.cc (spawn_guts): Pass information in a structure to spawned
	process.  Identify structure type with a "magic number".
	* strace.cc (strace_printf): Only print program full path spec once
	to save space and clutter.  Preserve any windows error.
	* syscalls.cc (_open): Detect and avoid error return from
	build_fhandler.
	* tty.cc: Accept some non-fhandler functions formerly found in
	fhandler_tty.cc
	* winsup.h (pinfo): Remove some fields obsoleted by new fork/spawn
	info passing method.
	(child_info*): New classes for passing information to forked/spawned
	process.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Add debug.o target.
	* console.cc (fhandler_console::char_command): Fix failed merge.
	* dcrt0.cc (alloc_stack):  New, more precise method for allocating
	stack space after a fork.
	(dll_crt0_1): Use new child_proc_info class to retrieve information
	from possible parent process.  Remove #ifdef erroneously checked in.
	Remove extraneous syscall_printf.

Thu Sep 10 21:09:51 1998  Christopher Faylor <cgf@cygnus.com>

	Global changes:
	Replace pinfo hmap entry with "dtable" reference.
	Replace cygwin_shared .t field with '.tty' and allow indexing via
	tty into this array.
	Make fhandler_ constructors set the size of the structure into any
	created class.
	Change fhandler settings into a bit mask.  Use methods to access.
	Record device type in fhandler class.
	Remove old linearize/de_linearize code in favor of newer method
	uses more bullet-proof method for determing device type of inherited
	files.
	Protect various important handles from closing when operating
	under -DDEBUGGING.
	* dcrt0.cc (do_global_ctors): Renamed, made static and reused
	for calling from dll_crt0_1 to initialize cygwin.dll constructors.
	(do_global_dtors): Renamed.
	(dll_crt0_1): mark noreturn.  Use new do_global_ctors function.
	Call debug_init to initialize features turned on by -DDEBUGGING.
	Call dtable_init to initialize dtable, hinfo_init to initialize
	standard fds.
	(dll_crt0): Mark noreturn.  Move constructor calls to dll_crt0_1.
	(__main): Use new do_global_ctors ().
	Remove OLDWAY and _PPC_ conditionals.
	* environ.cc (environ_init): Use appropriate strace printf.
	* exceptions.cc (set_process_mask): Don't ever mask out unmaskable
	signals.
	* init.cc (dll_entry): Initialize storage for read_helper.
	* pinfo.cc (init_from_exec): Delete obsolete function.
	* sigproc.cc (sig_send): Implement myself_nowait to allow
	sending a signal to myself without waiting for synchronization.
	(wait_sig): Change method for determining whether signal should
	be examined slightly.
	* strace.cc (strace_printf):  Add ability to report on thread from
	which message originated.
	(threadname): New function
	* syscalls.cc (read_helper): New function.  Invoked in separate thread
	from _read.
	(_read): Use a separate thread for reads that can be interrupted
	with a TerminateThread().  Allows EINTR.
	(setdtablesize): Use new method for extending the size.  Callable
	from anywhere.
	(getdtablesize): Use new method for getting the current dtable size.
	* tty.cc: Remove use count in favor of a method which checks tty
	availability via an event.  Some code cleanup.
	(tty::inuse): New function for determining if a tty is
	in use by any process.
	(tty_list::terminate): Use new method for determining if a tty is in
	use.  Should avoid hangs waiting for non-existent processes to
	free up a tty.
	(tty::common_init): Common initialization for tty/pty master.
	(fhandler_tty_master::init): New function.
	(do_output): Use new method for determining if a tty is in use.
	(fhandler_pty_master::open): Use comon initialization code.
	(fhandler_pty_master::ptsname): static buffer is ok now.
	* tty.h: Reflect inuse changes and tty.cc cleanup.
	* winsup.h: Include debug.h for use when -DDEBUGGING.  Remove
	stuff previously here which was conditionally compiled with -DDEBUGGING.
	(hinfo_vec): Rename to hinfo.  Maintain argv style list of pointers
	to open fds.  Add methods to deal with above changes.
	(pinfo): Removals due to above changes.
	(shared_info): Rename t to tty.
	Add common defines to extern "C" section.

Wed Sep  9 22:24:50 1998  Christopher Faylor <cgf@cygnus.com>

	* path.cc (path_prefix_p_): Rewrite to avoid false match
	against root when remote path or \\x style disk device.
	* include/sys/strace.h: Implement new macro for use by
	malloc_printf which does not default to "on" if STRACE=1.
	This avoids massive strace logs.

Tue Sep  8 11:31:42 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (dll_crt0_1): Remove ill-advised ifdef NEEDOEM.

Thu Sep  3 17:54:18 1998  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in: Speed up dll links.
	* path.cc (chdir): Fix previous change.

Mon Aug 31 12:23:33 1998  Christopher Faylor <cgf@cygnus.com>

	* path.cc (chdir): Protect free from potential signal race.

Fri Aug 28 15:59:27 1998  Geoffrey Noer  <noer@cygnus.com>

	* dlfcn.h: delete, move it
	* include/dlfcn.h: here

Thu Aug 27 14:20:38 1998  Christopher Faylor <cgf@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* path.cc (path_conv::path_conv): remove trailing backslash from
	full win32 name, otherwise the last component of the path isn't
	checked for symlink.

Wed Aug 26 14:15:22 1998  Christopher Faylor <cgf@cygnus.com>

	* fhandler.h (fhandler_base): Make set_name() public and implement
	clear_name() to accommodate dup2.
	* hinfo.cc (dup2): Previous change exposed problem with dup2.
	Same unix_path_name_ ptr was being used in two separate fds.
	Fix this.

Wed Aug 26 12:10:27 1998  Christopher Faylor <cgf@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* malloc.cc: Use malloc_printf throughout.
	* path.cc (getcwd_inner): Allocate buffer with realloc to
	avoid a memory leak.
	* syscalls.cc (_close): delete unix_path_name_ explicitly since
	destructor is never called.
	* include/sys/strace.h: Add strace_malloc stuff.

Mon Aug 24 15:45:59 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/sys/ioctl.h: variable names in protos should start
	with two leading underscores.
	* include/sys/mman.h: ditto.
	* include/sys/mount.h: ditto.
	* include/sys/resource.h: ditto.
	* include/sys/smallprint.h: ditto.
	* include/sys/socket.h: ditto.
	* include/sys/strace.h: ditto.
	* include/sys/vfs.h: ditto.
	* include/sys/wait.h: ditto.
	* include/mntent.h: ditto.

Tue Aug 18 17:00:20 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from Trevor Yann (TYann@vet.com.au):
	* uname.cc (uname): report processor type for win98

Tue Aug 18 16:09:13 1998  Christopher Faylor <cgf@cygnus.com>

	* fork.cc (cygwin_fork_helper1): Start initial fd search
	to zero forked processes so that a close(0)/dup(fd) will work.

Mon Aug 17 16:58:09 1998  Christopher Faylor <cgf@cygnus.com>

	* winsup.h (hinfo): Remember initial fd to start searching
	for new fds.  This avoid assigning std/in/out/err to
	files opened early in initialization.
	(hinfo_vec::find_unused_handle): New default way to search
	for a new handle.  Avoids using std/in/out/err until the
	proper time in the initialization.
	* fhandler.cc (fhandler_make_pipe): Use default method for
	finding unused handle.
	* net.cc:  Ditto throughout.
	* pipe.cc (dup): Ditto.
	* syscalls.cc (_open): Ditto.
	* hinfo.cc (hinfo_vec::init_std_file): Set initial fd for open
	search to include std/in/out/err.

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* spawn.cc (perhaps_suffix): Use translated win32 path when
	determining if a .exe extension should be added or suffer adding
	a .exe extension twice.

Mon Aug 10 15:08:49 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/cygwin32/version.h: up minor version number

Mon Aug 10 07:04:13 1998  DJ Delorie  <dj@cygnus.com>

	* delqueue.cc: rewritten for speed.  Don't check *every* entry in
	the list if we know the list is empty, plus check for duplicates.
	* delqueue.h: ditto.

Sat Aug  8 14:03:52 1998  Eric Bachalo  <ebachalo@cygnus.com>

	* spawn.cc (perhaps_suffix): If report_failure_p is non-zero this
	function will search for (PROG is the pathname to the executable
	file)  PROG.exe, PROG, PROG.com, PROG.bat, and PROG.cmd and return
	either the full path name if found or NULL if not.
	(spawn_guts): If the file name of the executable end in either
	.exe, .com, .bat, or .cmd we assume that it is not a script file
	and therefore do not open the file to determine if it is.

Thu Aug  6 22:25:38 1998  Christopher Faylor <cgf@cygnus.com>

	* path.cc (path_conv): If a path component is missing, short-
	circuit the symlink check.  Bug fix for case where path ends
	in a slash.
	(path_conv::path_conv): Make sure that a file is not
	a symlink when returning immediately.  Avoid checking for
	symlinks on network shares.  Check for existence of file prior
	to taking it apart for symlink checking (this needs more work).

Sun Aug  2 19:17:59 1998  Christopher Faylor <cgf@cygnus.com>

	* select.cc (cleanup_pipe_thread): Cleanup thread handle or suffer
	handle leak.
	(cleanup_socket_thread): Ditto.
	* sigproc.cc (proc_subproc): Make wait thread manual reset to
	solve problem with nested waits not waiting correctly.
	* fhandler_tty (fhandler_tty_slave::open): Don't create the output
	mutex, just open it.  If it can't be opened, its an error.

Wed Jul 29 12:08:19 1998  Eric Bachalo  <ebachalo@loony.cygnus.com>

	* include/Windows32/Defines.h: Added Virtual-Key Code defines
	for the Win95 keys - VK_LWIN, VK_RWIN, and VK_APPS.

Tue Jul 21 14:47:59 1998  DJ Delorie  <dj@cygnus.com>

	* path.cc (path_prefix_p): optimize calls by comparing first
	characters inline.
	(path_conv): optimize by not checking both foo and foo/ for
	symbolic links.

Tue Jul 21 14:39:03 1998  Christopher Faylor <cgf@cygnus.com>

	* pinfo.cc (pinfo_init): Set myself->sid to 1 so that
	a program started up outside of cygwin will not trump
	other opens of ttys.  Fixes problem with pgid change below.

Tue Jul 21 12:59:21 1998  Christopher Faylor <cgf@cygnus.com>

	* path.cc (chdir): Force chdir to disk device to go to the root
	directory.

Tue Jul 21 09:32:23 1998  Christopher Faylor <cgf@cygnus.com>

	* pinfo.cc (pinfo_init): 0 is a very bad value for a default pgid.

Fri Jul 16 15:09:50 1998  Stan Cox  <scox@cygnus.com>

	* (gcrt0.c, gmon.c, profil.c, mcount.c, gmon.h, profil.h,
	   config/i386/profile.h): New files for gprof cygwin support.
	  Some code contributed by Tim Newsham for Secure Networks, Inc.
	* Makefile.in (LIBGMON_A, GMON_START, GMON_OFILES): New for gprof.

Mon Jul 13 19:29:00 1998  Eric Bachalo  <ebachalo@loony.cygnus.com>

	* dcrt0.cc (insert_files): Now both -@file and @file work as
	command line file insertion options.
	* fhandler_serial.cc (fhandler_serial::open): Enabled RTS Control
	Line by default to make full handshaking cables work for the
	D10V board. (CDB.fRtsControl)
	(fhandler_serial::tcsetattr): same as above

Wed Jul  8 15:53:35 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (dll_crt0_1): Avoid redundant strace_printf.

Wed Jul  8 15:05:10 1998  DJ Delorie  <dj@cygnus.com>

	* fhandler.cc (fhandler_base::lseek): Note lseek so that next
	write() can check for the Win95 "gap" bug.
	(fhandler_base::write): If Win95 and lseek past eof
	followed by write, use WriteFile to force the "gap" to be filled
	with zeros rather than left to the "undefined" data Win32 specifies.
	(fhandler_base::fhandler_base): initialize check_win95_lseek_bug_.
	* fhandler.h (class fhandler_base): Add check_win95_lseek_bug_
	for bug: when seek past EOF and write, win95 fills with random
	data (security hole).

Thu Jul  2 10:45:15 1998  Christopher Faylor <cgf@cygnus.com>

	* environ.cc (winenv): Be more paranoid when restoring special
	win32 environment variables beginning with '='.

Thu Jul  2 09:19:32 1998  Christopher Faylor <cgf@cygnus.com>

	* environ.cc:  Previous change was not rigorous enough.
	Track environment variables to convert in a structure which
	records the correct function for converting the environment
	variable from/to POSIX format.
	(isspecial): New function.
	(parse_options): Use template to initialize parse array.
	(posify): Use new conversion function.
	(winenv): Ditto.  Also restore special win32 environment variables
	beginning with '='.
	* path.cc (conv_path_list): Source argument should be const.
	(win32_to_posix_path_list): Ditto.
	(posix_to_win32_path_list): Ditto.
	* path.h: Reflect changes to path.cc.

Tue Jun 30 14:00:32 1998  Christopher Faylor <cgf@cygnus.com>

	* environ.cc (winenv): Avoid converting environment variables to
	windows style if they begin with something like a 'C:'.

Sun Jun 28 20:59:16 1998  Christopher Faylor <cgf@cygnus.com>

	* include/Windows32/Structures.h (MINMAXINFO): Add a missing
	*LP...

Thu Jun 25 10:45:38 1998  Christopher Faylor <cgf@cygnus.com>

	* signal.cc (sigpending): Stop from always reporting pending signals
	when no signals are actually pending.

Tue Jun 23 15:38:45 1998  Christopher Faylor <cgf@cygnus.com>

	* Makefile.in:  Add a new target.
	* cygwin.din: Add cygwin32_internal interface.
	* dcrt0.cc (dll_crt0_1): Don't call main if no main set.  Allows
	initialization from a .dll.
	* utils/ps.cc: Use new internal/external interface to cygwin to
	provide an unchanging interface to some cygwin internals.
	* external.h: Preliminary stab at an interface to cygwin32 for
	getting at the "naughty bits".
	* external.cc: External interfaces to some cygwin internal stuff.

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* exceptions.cc (sig_handle): When abnormally terminating,
	close_all_files in signal thread context to prevent socket hangs.

Thu Jun 18 15:17:06 1998  Christopher Faylor <cgf@cygnus.com>

	* pinfo.cc (pinfo_list::allocate_pid): Wrap pids at SHRT_MAX
	or ash complains.

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* window.cc (WndProc): Always kill timer before starting up
	a new one or eventually suffer a timer proliferation.

Mon Jun 15 09:40:30 1998  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc: Cosmetic change.

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* syscalls.cc (system): Ignore SIGINT, SIGQUIT and SIGCHLD while
	in a system() call.

Thu Jun 11 18:37:02 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/sys/syslog.h: add missing LOG_LOCALn bits

Tue Jun  9 22:29:26 1998  Christopher Faylor <cgf@cygnus.com>

	* dll_init.cc (DllNameIterator::operator const char* ()): Add
	a missing \n to a *_printf.
	* fhandler_tty.cc (fhandler_tty_slave::dup): Ditto.
	(fhandler_tty_slave::ioctl): Ditto.
	* errno.cc (errmap): Add an unrepresented windows error.
	Simplify table.

Tue Jun  9 17:21:44 1998  Christopher Faylor <cgf@cygnus.com>

	* errno.cc (errmap): Make sure that errmap array is
	terminated with a NULL or suffer a SIGSEGV.

Tue Jun  9 10:30:02 1998  Christopher Faylor <cgf@cygnus.com>

	Change `sprintf' to `__small_sprintf' throughout cygwin.
	* cygwin.din: Don't export exception handler.
	* exceptions.cc (__cygwin32_exception_handler): Rename to
	handle_exceptions.  Make static.  Redo core file generation
	slightly so that __small_sprintf can be used.
	(call_handler): Remove use of `rethere' in asm code.  Don't
	probe stack as this is potentially dangerous unless done
	meticulously.
	* select.cc (select): Redo to create thread whenever needed
	for pipe/socket.  Thread termination denotes fd readiness.

Mon Jun  8 14:31:11 1998  Christopher Faylor <cgf@cygnus.com>

	* hinfo.cc (set_std_handle): New function to set windows
	"standard" handles from cygwin handles.
	(hinfo_vec::dup2): Set windows standard handle if appropriate.
	* syscalls.cc (_open): Set windows standard handle if appropriate.

Sun Jun  7 16:34:00 1998  Christopher Faylor <cgf@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* fhandler_console.cc (fhandler_console::scroll_screen): Add a
	workaround for Win95 ScrollConsoleScreenBuffer bug which allowed
	scrolling to work correctly in both directions.
	(fhandler_console::char_command): Simulate underscore with cyan
	instead of magenta like on a real linux console.

Sat Jun  6 00:01:18 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc: Remove obsolete PPC and OLDWAY defines.
	* exceptions.cc: Remove obsolete PPC defines.

Fri Jun  5 22:18:01 1998  Christopher Faylor <cgf@cygnus.com>

	* utils/Makefile.in: install should build products if necessary.

Fri Jun  5 17:47:11 1998  Geoffrey Noer  <noer@cygnus.com>

	* errno.cc (seterrno): shouldn't & against 0xff since there
	are error codes above 255.

Fri Jun  5 14:35:36 1998  Christopher Faylor <cgf@cygnus.com>

	* exceptions.cc (ctrl_c_handler): Ignore CTRL_LOGOFF_EVENT or
	everybody gets signalled when a user logs off.  Allow program
	to clean up when receiving a CTRL_CLOSE_EVENT or CTRL_SHUTDOWN_EVENT.
	* spawn.cc (_spawnve): Delete hmap.vec from created child since
	it just gets overwritten in the child anyway.
	* pinfo.cc (lpfu): u -> user_data.

Thu Jun  4 22:45:12 1998  Geoffrey Noer  <noer@cygnus.com>

	* mmap.cc (mprotect): 3rd arg to VirtualProtect call should
	be new_prot, not prot.  Also, fix check for PROT_NONE (==,
	not &).

Wed Jun  3 16:37:43 1998  Geoffrey Noer  <noer@cygnus.com>

	* exceptions.cc: Fix typo in comment
	(ctrl_c_handler): Add comments, return FALSE on CTRL_CLOSE_EVENT,
	CTRL_LOGOFF_EVENT, and CTRL_SHUTDOWN_EVENT events.  Otherwise,
	we handle the console event ourselves, send a SIGINT, and return
	TRUE.

Wed Jun  3 14:36:08 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* path.cc (conv_to_win32_path, conv_to_full_win32_path): resolve
	symlinks before converting.

Wed Jun  3 02:11:23 1998  Geoffrey Noer  <noer@cygnus.com>

	* exceptions.cc (ctrl_c_handler): return zero when a
	CTRL_LOGOFF_EVENT occurs.

Wed Jun  3 01:01:17 1998  Geoffrey Noer  <noer@cygnus.com>

	Reorganize fhandler-related file layout.
	* Makefile.in: Remove console.o, add fhandler_console.o.  Add
	fhandler_serial.o.  Remove tty.o, add fhandler_tty.o.
	* fhandler_console.cc: Was console.cc.
	* console.cc: Delete.
	* fhandler_serial.cc: Was code in fhandler.cc.
	* fhandler.cc: Delete fhandler_serial routines.
	* fhandler.h: Fix comments describing fhandler file layout.
	* fhandler_tty.cc: Was code in tty.cc.
	* tty.h: Delete.
	* fhandler_tty.h: Was tty.h.
	* tty.cc: Delete code moved to fhandler_tty.cc.
	* winsup.h: Include fhandler_tty.h instead of tty.h.

Tue Jun  2 23:34:42 1998  Geoffrey Noer  <noer@cygnus.com>

	Don't need processor-specific sysdef directories:
	* sysdef/powerpc: remove all files
	* sysdef/i386: move all files to top of sysdef directory
	* configure.in: stop setting processor-specific sysdef variable
	* configure: regenerate
	* Makefile.in: build .a files from top-level sysdef files.

Tue Jun  2 16:52:18 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from lhall@rfk.com (Larry Hall):
	* console.cc (fhandler_console::fhandler_console): call
	fillin_info() to check if console attributes have already been
	set.  If so, set the default foreground color to be the default
	for the console, otherwise set it to white.
	(fhandler_console::char_command): use the default color to set fg,
	bg, and bold for all cases.

Mon Jun  1 14:05:01 1998  Christopher Faylor <cgf@cygnus.com>

	* dir.cc (writable_directory):  Avoid a malloc.
	(opendir): Convert to fully qualified path spec.  Use inode from
	stat as hash instead of recalculating.
	(readdir): Try hard to generate the same inode for filenames
	as inodes returned from stat().  Handle '.' and '..' inodes
	differently than normal files.  Note that '..' will still fail
	in certain pathological conditions.
	* fhandler.cc (fstat): Preserve errno around path conversion.
	* path.cc (path_conf::path_conv): Add an extra argument signifying
	whether caller wants a fully qualified Windows spec.
	(get_current_directory_name): New function.  Retrieves current
	directory name into internal buffer.
	(getcwd_inner): Reorganize.  Use get_current_directory_name()
	to retrieve a (possibly cached) directory name.
	(hash_path_name): Move function here from syscalls.cc.  Rewrite to
	deal (simplistically) with non-absolute path specs.  Use
	get_current_directory_name to absolutize path.
	* path.h: Reflect additional argument for path_conv.
	* select.cc (cygwin32_select): Remove newline from select_printf().
	* syscalls.cc (hash_path_name): Move to path.cc.
	(stat_worker): Always use full path spec so that inodes are
	calculated correctly.
	* uinfo.cc (getlogin): Make extern "C".
	* include/sys/resource.h: Put extern "C" around this file.

Mon Jun  1 13:16:03 1998  Christopher Faylor <cgf@cygnus.com>

	* console.cc: Comment out small_printfs which issue errors
	on things like invalid escape sequences.  This is very much
	unlike a normal terminal, or even like linux which console.cc
	purports to emulate.
	(console_read): Renamed from FakeReadConsole.  Streamline
	slightly.
	(fhandler_console::read): Ditto.

Fri May 29 22:41:18 1998  Geoffrey Noer  <noer@cygnus.com>

	* hinfo.cc: Include unistd.h, not fcntl.h.

Fri May 29 21:38:10 1998  Christopher Faylor <cgf@cygnus.com>

	* path.cc (mount_info::binary_win32_path_p): Don't allow
	the root mount to replace a //drive or //host specification.

Fri May 29 08:20:28 1998  Geoffrey Noer  <noer@cygnus.com>

	* winsup.h: Remove exports section in favor of external
	include files.  Fix some comments.
	* {console.cc, fcntl.cc, pipe.cc}: Include unistd.h.
	* dcrt0.cc (__main): Make extern "C".
	* strace.cc: Include time.h.
	* wait.cc (_wait): Make extern "C".
	* version.h: Bump minor version to 3 in honor of /dev/windows
	support.

Fri May 29 03:11:28 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* Makefile.in: Add fhandler_windows.o target
	* fhandler.h: Include <sys/ioctl.h>.  fhandler_windows: new
	fhandler class that handles access to Windows message queue.
	(fhandler_base::is_windows): new virtual member function
	* fhandler_windows.cc: New file, fhandler_windows class
	implementation.
	* hinfo.cc (hinfo_vec::build_fhandler): build fhandler_windows
	class for "/dev/windows".  Include <sys/ioctl.h>.
	* select.cc: New fd_windows_map class
	(fd_windows_map::convert_to_unix_fdset): New, check for Windows
	messages in a queue.
	(cygwin32_select): check for windows fd is passed to select call,
	increase size of harray by one to support windows pseudo-handle,
	do MsgWaitForMultipleObjects if windows fd passed to select call.

Thu May 28 18:22:24 1998  Ian Lance Taylor  <ian@cygnus.com>

	* utils/cygpath.cc: New file.
	* utils/Makefile.in (PROGS): Add cygpath$(EXEEXT).
	(cygpath$(EXEEXT)): Ne target.

	* include/sys/cygwin.h: Declare more path conversion functions.

Thu May 28 15:56:26 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/sys/ioctl.h: need to include <sys/cdefs.h>
	* syscalls.h: remove ioctl proto

Wed May 27 01:34:06 1998  Geoffrey Noer  <noer@cygnus.com>

	* cygwin.din: add sethostent/endhostent exports
	* net.cc (sethostent, endhostent): new stubs

Fri May 22 17:31:50 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/cygwin32/in.h: correct typo in IPPORT_WHOIS define

Fri May 22 17:00:48 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/sys/ioctl.h: add ioctl proto

Wed May 20 18:52:31 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/sys/param.h: delete, file overlaps with newlib's.
	Move it to newlib/libc/sys/cygwin32/sys where such files
	are supposed to go.

Wed May 20 18:20:35 1998  Geoffrey Noer  <noer@cygnus.com>

	* select.cc (auto_del_fd_set_map::auto_del_fd_set_map): correct
	C++ problem -- can't use parens in call to new.

Wed May 20 17:03:25 1998  Geoffrey Noer  <noer@cygnus.com>

	based on patch from newsham@lava.net (Tim Newsham):
	* select.cc: FIXMEs added/adjusted
	(select_sleep): new static select helper function
	(cleanup_sockthread): ditto
	(cleanup_pipethread): ditto
	(cygwin32_select): remove degenerate goto in favor of calling
	select_sleep, call cleanup_sockthread and cleanup_pipethread
	instead of previously duplicated code.

Wed May 20 02:21:37 1998  Geoffrey Noer <noer@cygnus.com>

	patch from Christopher Faylor <cgf@cygnus.com>
	* fhandler.cc (fhandler_serial::raw_read): When
	vmin_ == 0, vtime_ > 0, don't force only one char at a time
	to be read.
	(fhandler_serial::tcsetattr): set to.ReadIntervalTimeout
	and to.ReadTotalTimeoutMultiplier appropriately so reads
	will time out properly when vmin_ == 0, vtime_ > 0.

Tue May 19 09:05:46 1998  Christopher Faylor <cgf@cygnus.com>

	* init.cc (set_dllname): Use consistent "cygwin32" name for dll
	if the name of the dll is actually cygwin.  This will allow
	better interoperability between dlls which have been renamed,
	i.e., cygwindevo.dll -> cygwin98r1.dll.

Mon May 18 22:39:35 1998  Christopher Faylor <cgf@cygnus.com>

	* winsup.h: Remove sig* undefs since this is now done in newlib.
	Define SIGTOMASK define for use by signal mask operations.
	* exceptions.cc (__cygwin32_exception_handler): Use SIGTOMASK.
	(sig_handle): Ditto
	* signal.cc (sigpending): Ditto.
	(sigaddset):  Use SIGTOMASK.  Disallow signal 0.
	(sigdelset): Ditto.
	(sigismember): Ditto.
	* strace.cc (strace_printf):  It is possible for strace_mutex to
	be an invalid handle.  Open the mutex if so.  Call ReleaseMutex
	until exhausted since a signal may have interrupted an strace_printf.
	(strace_dump):  Call ReleaseMutex until exhausted.
	* tty.cc (do_output): Remove strace printf to avoid filling up strace
	output.
	(fhandler_tty_slave::read): Use SIGTOMASK.

Mon May 18 09:11:38 1998  Christopher Faylor <cgf@cygnus.com>

	* dcrt0.cc (dll_crt0_1): Clear errno before calling main.

Thu May 14 00:37:01 1998  Geoffrey Noer  <noer@cygnus.com>

	* dcrt0.cc: add comments, reformatting

Wed May 13 17:47:23 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* times.cc (to_time_t): prevent stat from returning incorrect
	file modification time (one second less) on fat partitions due
	to round-up error.

Wed May 13 16:03:07 1998  Geoffrey Noer  <noer@cygnus.com>

	* select.cc: add comments, FIXMEs, respace, delete old
	sockets-only case that was previously commented out.
	(cygwin32_select): in case where handles and sockets are
	set, don't check that always_ready_used is zero (that case is
	covered before).
	* syscalls.cc: delete unused file_queue struct.

Tue May 12 18:36:25 1998  Geoffrey Noer <noer@cygnus.com>

	* syscalls.cc (get_os_type): add FIXME

Tue May  5 14:02:12 1998  Christopher Faylor <cgf@cygnus.com>

	Throughout Cygwin replace use of "sa" SECURITY_ATTRIBUTE variables
	with appropriate global variables.
	* shared.cc (shared_init): Initialize global security attribute
	variables for use in various places around cygwin.
	* fork.cc (fork_init): Remove. Functionality replaced by above.
	* dcrt0.cc (dll_crt0_1): Remove obsolete fork_init() call.

Sat May  2 17:40:51 1998  Christopher Faylor <cgf@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* tty.cc (create_tty_master): Fill in ut_host utmp field with
	local host name instead of "local" to avoid "who" command timeouts.

Fri May  1 22:38:20 1998  Christopher Faylor <cgf@cygnus.com>

	* environ.cc:  Add a global to control com port reset behavior.
	(parse_options): Recognize "reset_com" as a CYGWIN32 option.
	* fhandler.cc (fhandler_serial::raw_read): Handle vmin and vtime
	more like UNIX.
	(fhandler_serial::open): Revive code to reset com port on open.
	Only reset the port if reset_com global is not set and if this
	function is being called explicitly by open.
	(fhandler_serial::tcsetattr): Make CRTSCTS flow control more
	like UNIX -- it should turn on hardware handshaking in both
	directions.  Handle vmin and vtime in a manner more consistent
	with UNIX.
	(fhandler_serial::tcgetattr): Reflect CRTSCTS changes above when
	reporting this state.
	* include/sys/termios.h: Move CRTSCTS and CRTSXOFF (sic) into
	16 bits or they will never be capable of being set.

Thu Apr 30 15:05:45 1998  Christopher Faylor <cgf@cygnus.com>

	* console.cc (fhandler_console::init): If resetting stdin,
	make sure to reset the ConsoleCtrlHandler.
	* exceptions.cc (set_console_handler): New function broken out
	of init_exceptions().  Sets the function responsible for handling
	CTRL-C.
	(init_exceptions): Snipped out set_console_handler.

Thu Apr 30 14:11:30 1998  Christopher Faylor <cgf@cygnus.com>

	* include/sys/cygwin.h: Remove cygnus-specific declaration.
	* winsup.h: Move cygnus-specific cygwin32_attach_handle_to_fd
	declaration here.  This function may eventually be replaced by
	an osf_* function.

Tue Apr 28 17:07:46 1998  Geoffrey Noer <noer@cygnus.com>

	* passwd.cc (parse, getpass): remove unneeded uses of NO_COPY
	* grp.cc (getgrgid, getgrnam): ditto

Tue Apr 28 16:18:03 1998  Geoffrey Noer <noer@cygnus.com>

	* version.h: bump minor version to 2
	* errno.cc: add FIXME

Wed Apr 22 15:43:56 1998  Geoffrey Noer <noer@cygnus.com>

	* syscalls.cc (cygname): delete
	* shared.cc (shared_name): new, was cygname
	* strace.cc, exceptions.cc, sigproc.cc, shared.cc: fix
	cygname references in light of above

Wed Apr 22 14:12:09 1998  Christopher Faylor <cgf@cygnus.com>

	* select.cc (fd_set_map::remove_pair_by_handle): minor optimization
	* strace.cc (strace_printf): change format for consistency

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* dcrt0.cc (dll_crt0): Call global constructors explicitly
	* tty.cc (create_tty_master): Remove code which attempted to
	invoke tty constructor

Tue Apr 21 16:18:27 1998  Christopher Faylor <cgf@cygnus.com>

	* environ.cc (ucenv): inline
	(posify): Ditto
	(environ_init): remove obsolete function use
	* path.cc (symlink_check_one): Set errno here where appropriate.
	(readlink): Rely on errno set by symlink_check_one rather than
	defaulting to EINVAL.  Should fix problems with RCS.

Tue Apr 21 15:36:41 1998  Christopher Faylor <cgf@cygnus.com>

	* Implement a NOSTRACE preprocessor define to allow building
	Cygwin32 without any STRACE code.
	* configure.in: Add entries for architecture specific programs
	to allow easier cross-compile builds
	* configure: Ditto
	* Makefile.in: Ditto
	* console.cc (fhandler_console::char_command): Fix two problems
	with cursor position report:  1) it reported position relative
	to beginning of buffer rather than beginning of screen,  2) it
	reported y, x in reversed order
	* dcrt0.cc: Remove NO_COPY from variables that don't need it.
	Remove variables obsoleted by NO_COPY.
	(dll_crt0_1): strace settings are now inherited.  Don't try
	to initialize strace early.  Remove initialization of variables
	which are now handled automatically by NO_COPY.  Set error mode
	for Cygwin32 to fail on critical errors rather than popping up
	a dialog box.
	* spawn.cc (spawn_guts): Always use default error mode when
	spawning a new process.  Move error message to more generally
	useful location.  Terminate signal handling in a cygwin parent
	process or two processes will be handling signals.
	(_spawnve): Inherit strace stuff
	* exceptions.cc (events_init): Provide more information on
	"Catastrophic failure".  Change error message wording slightly.
	* fork.cc: Remove obsolete structure
	(cygwin_fork_helper1): Remove use of obsolete structure.  Inherit
	strace settings in child processes.
	* sigproc.cc (sigproc_init): Set wait_sig priority immediately
	after thread creation.
	* smallprint.c: Remove unneeded include
	* strace.cc: Reorganize to handle NOSTRACE
	(strace_open): Use strace entries in pinfo structure which are
	now inherited
	(strace_dump): ditto
	(strace_init): preprocessor define STRACE_HHMMSS causes strace
	output to use alternate log file format.
	(strace_printf): ditto
	* syscalls.cc (access): Remove SetErrorMode in favor of global
	cygwin32 setting in dll_crt0_1.
	* fhandler.cc: Handle NOSTRACE
	* tty.cc: Ditto
	* window.cc: Ditto
	* include/sys/strace.h: Ditto
	* winsup.h: Move strace_file handle from per_process to pinfo so
	that it can be inherited.  Remove obsolete pinfo entry.

Tue Apr 21 14:30:52 1998  Christopher Faylor <cgf@cygnus.com>

	* hinfo.cc (cygwin32_attach_handle_to_fd): New function
	* include/sys/cygwin.h: Ditto.
	* cygwin.din: Export new cygwin-specific function

Tue Apr 21 02:32:08 1998  Geoffrey Noer  <noer@cygnus.com>

	* syscalls.cc: comment out file_queue struct that doesn't
	seem to be used for anything anymore.  Don't need to include
	stdarg.h or sys/socket.h.  Include utmp.h.  Minor respacing.
	Move all functions from misc.cc here.
	(_read): change strace debug printf function name to _read
	(logout): rename success to res
	* misc.cc: delete file
	* Makefile.in: adjust for above change

Tue Apr 21 01:45:05 1998  Geoffrey Noer  <noer@cygnus.com>

	* dir.cc: new file for directory-related functions, was
	dirsearch.cc.
	(mkdir, rmdir, writable_directory): move here from syscalls.cc,
	writable_directory no longer static
	* dirsearch.cc: delete file
	* winsup.h: add proto for writable_directory.
	* errno.cc: new file for errno-related functions, move errmap
	struct here from syscalls.cc
	(seterrno): move from syscalls.cc
	(strerror): move from strerror.cc
	* strerror.cc: delete file
	* syscalls.cc: delete everything moved to any of the above files
	* Makefile.in: adjustments for above

Thu Apr 17 16:43:23 1998  Geoffrey Noer  <noer@cygnus.com>

	* termios.cc: add comments, add extern "C" in front of exported
	calls, move debugging local functions to end of file
	* winsup.h: remove fork_terminate proto for function that is no
	longer with us.  Add strccpy proto.
	* spawn.cc (_spawnve): make static
	(strccpy): remove in favor of identical function in exec.cc
	* exec.cc (strccpy): no longer static

	patch from newsham@lava.net (Tim Newsham):
	* select.cc (cygwin32_select): fix off by one error, stop
	using memcpy to copy memory over itself

Thu Apr 16 16:23:00 1998  Geoffrey Noer  <noer@cygnus.com>

	* net.cc: respace, put all fhandler_socket functions together
	(getsockopt): fix case statement bug resulting in faulty strace
	output
	(setsockopt): ditto
	* shared.cc: throughout, rename global h to cygwin_shared_h
	* strerror.cc: make error global a local variable
	* fhandler.h: add comments, add virtual function always_read_ready
	to fhandler_serial which should return zero to allow non-blocking
	serial I/O.
	* Makefile.in: select.cc should depend on select.h

Wed Apr 15 16:14:01 1998  Geoffrey Noer  <noer@cygnus.com>

	* select.h: new file, containing macros used by select.cc.
	* select.cc: remove them from here, include select.h

Wed Apr 15 15:23:55 1998  Geoffrey Noer  <noer@cygnus.com>

	* ntea.cc (NTReadEARaw): mark as static, don't check allow_ntea
	since this is only accessed by functions that have already checked
	it.

Tue Apr 14 14:07:54 1998  Geoffrey Noer  <noer@cygnus.com>

	* cygwin.din: export truncate call

Mon Apr 13 23:15:13 1998  Geoffrey Noer  <noer@cygnus.com>

	Throughout Cygwin32, rename *u for per_process data *user_data.
	Likewise, rename *s for shared memory data *cygwin_shared.
	Respace where necessary.
	* registry.cc: minor respace
	* registry.h: ditto
	* net.cc: ditto
	* fhandler.cc (fhandler_base::read): don't redeclare int len
	* syslog.cc: add FIXME, reformatting, remove extern "C" around
	whole file, add before exported functions
	(syslog): rename second cp char pointer cp2
	(setlogmask): comment out unused function

Mon Apr 13 17:55:43 1998  Geoffrey Noer  <noer@cygnus.com>

	* environ.cc (parse_options): add "ntea" setting to CYGWIN32
	env variable.  Setting determines whether NTEA is used or not.
	* ntea.cc: Add allow_ntea global which is inited to FALSE.
	Now instead of immediately returning FALSE, make all
	functions check allow_ntea variable and use or not use NTEA
	based on its value.
	* ps.cc (main): widen Win32_pid field by one to better handle
	Win 95 pids.

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* shared.cc (shared_info::initialize): increase default
	heap_chunk_size to 128 mb to get around the problem that
	Cygwin32 still can't cope with a split heap properly.

Wed Apr  8 18:04:07 1998  Geoffrey Noer  <noer@cygnus.com>

	* net.cc (cygwin32_bind, cygwin32_getsockname, cygwin32_listen,
	cygwin32_shutdown): if should check sock, not s.

Wed Apr  8 15:00:46 1998  Geoffrey Noer  <noer@cygnus.com>

	Eliminate warnings revealed by -Wshadow -Wall:
	* console.cc (FakeReadFile): fix aggregate with partly bracketed
	initializer (add missing brackets).
	* tty.cc (fhandler_tty_slave::close): remove unused variable tty
	(fhandler_tty_slave::dup): ditto
	(fhandler_tty_slave::send_ioctl_request): ditto

Wed Apr  8 03:04:11 1998  Geoffrey Noer  <noer@cygnus.com>

	Eliminate warnings revealed by -Wshadow -Wall:
	* console.cc (FakeReadFile): change variable name index to
	modifier_index.
	(fhandler_console::read): remove second definition of flags
	* dcrt0.cc (build_argv): rename s to start, e to end
	(insert_files): reformat, add parens around assign used as truth
	value, make i a DWORD, remove dup def of i.
	* dlfcn.cc (set_dl_error): rename s to str
	(checkAccess): rename to check_access
	(checkPathAccess): rename to check_path_access
	(getFullPathOfDll): rename to get_full_path_of_dll, don't
	redeclare len
	* dll_init.cc (DllList::detachDll): rename index to dll_index
	* fork.cc (cygwin_fork_helper1): rename index to dll_index,
	reformat slightly, rename res in dll load section to loadres,
	don't redeclare rc two additional times
	(dump_jmp_buf): rename s to sbuf
	* grp.cc (initgroups): rename group arg to grp
	* hinfo.cc (digits): rename s to str
	(hinfo_vec::build_fhandler): rename first buf variable to
	buf_info, the second to buff.
	(hinfo_vec::linearize_fd_array): cast sizeof return to int,
	declare i in for loop
	(hinfo_vec::de_linearize_fd_array): declare i in for loop
	* misc.cc (nice): rename pri to priority, index to curr
	(cygname): rename s to str
	(login): rename tty to currtty
	(logout) put missing parens around arg to sizeof calls
	* net.cc (DuplicateSocket): rename function to duplicate_socket,
	rename s arg to sock
	(fhandler_socket::fhandler_socket): rename s arg to sock
	(socketpair): rename sin to sock_in
	(cygwin32_rexec): rename passwd arg to password
	* passwd.cc (parse): rename stat array to tmpbuf
	* resource.cc (fill_rusage): rename creation to creation_time,
	exit to exit_time, kernel to kernel_time, user to user_time
	(getrusage): rename rusage arg to rusage_in
	* sigproc.cc (proc_terminate): move i declaration outside of
	loop, get rid of extra declaration
	(getsem): rename s to str
	(proc_strace): declare i at top of function, remove extra two
	declarations of it later
	* smallprint.c: include ctype.h for isalnum proto
	(__small_vsprintf): put parens around assign used as truth value
	* spawn.cc (spawn_guts): rename both s variables to str, remove
	redeclarations of i
	* strace.cc (mark): rename s arg to str
	* syscalls.cc (chown): remove unused vars group, passwd
	(access): rename s to st
	(ctermid): rename s to str
	* termios.cc (cfsetospeed, cfsetispeed): rename s to speed
	* times.cc (times): rename creation to creation_time,
	exit to exit_time, kernel to kernel_time, user to user_time
	(time_t_to_filetime, timeval_to_filetime): rename time to time_in
	* tty.cc (create_tty_master): rename utmp variable our_utmp
	(fhandler_tty_master::init): rename ttynum arg ttynum_in

Tue Apr  7 17:18:05 1998  Geoffrey Noer  <noer@cygnus.com>

	* syscalls.cc (seterrno): add FIXME
	* path.cc (symlink_check_one): change comment wording

	patch from Tom Tromey (tromey@cygnus.com)
	* syscalls.cc (access): Call SetErrorMode to turn off critical
	errors dialog.

	patch from Mikey (jeffdb@netzone.com):
	* fhandler.cc (fhandler_disk_file::open): under Win95, set
	S_IXOTH|S_IXGRP|S_IXGRP if the first two bytes of a file contain
	a '#!'.
	(fhandler_disk_file::check_execable_p): consider shell scripts
	execable

Mon Apr  6 20:55:06 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/sys/cygwin.h: add protos for cygwin32 path conversion
	functions.

Wed Apr  1 16:12:58 1998  Geoffrey Noer  <noer@cygnus.com>

	* {fhandler.cc, fhandler.h, hinfo.cc, console.cc}: Rename
	fhandler_tty class to fhandler_serial

Tue Mar 31 16:27:36 1998  Geoffrey Noer  <noer@cygnus.com>

	* ntea.cc: temporarily disable reading/writing NTEA information
	due to the large penalty incurred on NT fat partitions.

Fri Mar 27 13:35:30 1998  Geoffrey Noer  <noer@cygnus.com>

	* environ.cc (parse_options): change struct to union to avoid
	references to uninitialized fields.

Thu Mar 26 19:03:00 1998  Eric Bachalo  <ebachalo@cygnus.com>

	* dcrt0.cc (insert_files): added this function to replace
	-@file in the command line with the contents of the file
	(dll_crt0_1): calls insert_files before building argv

Wed Mar 25 15:25:26 1998  Geoffrey Noer  <noer@cygnus.com>

	And more:
	* {fhandler.cc, fhandler.h, tty.cc, net.cc, console.cc}: make
	ioctl calls' cmd arg unsigned, ditto for access arg of init calls.
	* console.cc (fhandler_console::fillin_info): add parens around
	assignment used as truth value.
	(FakeReadFile): make copied_chars a size_t
	(fhandler_console::read): make i in loop unsigned
	* environ.cc (setenv): make l_value unsigned, add parens around
	assignments used as truth values.
	* exceptions.cc (call_handler): supposed to return an int and
	wasn't at the end of control flow.  Now returns 1 there.
	* fhandler.h (~fhandler_base): destructor should be marked virtual
	* misc.cc (login): add parens around assignment used as truth
	value.
	* net.cc: cast INVALID_SOCKET to int in comparisons
	(fhandler_socket::ioctl): remove int cast to FIONBIO since cmd
	is now unsigned
	(get_win95_ifconf): add cast to signed vs unsigned int comparison.
	* ntea.cc (NTReadEA): add cast to signed vs unsigned int
	comparison.
	* path.cc (getcwd_inner): make len a size_t
	* pinfo.cc (cygwin32_winpid_to_pid): add comment
	* select.cc (cygwin32_select): make wait_ret an int
	* signal.cc (kill_worker): add parens around assignments used as
	truth values.
	* sigproc.cc (wait_sig): make rc a DWORD
	(sig_send): add parens around assignment used as truth value.
	* strace.cc: make inqueue global a static DWORD
	* tty.cc (do_output): add cast to signed vs unsigned int
	comparison.
	(fhandler_pty_master::open): remove unused handle nh

Tue Mar 24 18:03:59 1998  Geoffrey Noer  <noer@cygnus.com>

	More spring cleaning:
	* net.cc: move LOAD macro definition out of winsock_init,
	correction to make it valid ANSI C++.
	* grp.cc (read_etc_group): pass default line directly to
	add_grp_line call

Mon Mar 23 19:21:00 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from cgf@bbc.com (Christopher Faylor):
	* spawn.cc (spawn_guts): Don't call close_all_files if a cygwin
	process has been spawned.  Otherwise, we close tty handles twice.

Fri Mar 20 23:01:24 1998  Geoffrey Noer  <noer@cygnus.com>

	* pinfo.cc (pinfo_list::init): Initialize next_pid to PBASE.
	(pinfo_list::operator []): Now index is given by pid mod size().
	(pinfo_list::allocate_pid): Allow more pid numbers than spaces in
	the process table.  Pids now can range from PBASE (1000) to
	INT_MAX.  At that point they wrap to 1000 again.  For speed, use
	modular arithmetic to map pids into table.
	* winsup.h: move PBASE to pinfo.cc, rename next_pid_index to
	next_pid
	* utils/ps.cc (main): reorg of what's printed where, listing pid
	first.

Thu Mar 19 15:05:07 1998  Geoffrey Noer  <noer@cygnus.com>

	* winsup.h: Change section name in NO_COPY definition.  We were
	using a .data$nocopy section to avoid copying certain data on
	fork.  The linker used to include this between __data_start__ and
	__data_end__, but that broke building the cygwin32 dll.  The fix
	is to rename the section ".data_cygwin_nocopy" and explictly
	include it after __data_end__.

Wed Mar 18 15:03:51 1998  Geoffrey Noer  <noer@cygnus.com>

	* tty.h: fix ttyslot proto; it returns an int
	* glob.h: fix glob proto; it returns an int

Mon Mar 16 16:16:40 1998  Geoffrey Noer  <noer@cygnus.com>

	* Makefile.in: stop installing the dll in the lib directory as
	well as the bindir.
	* environ.cc (parse_options): don't need to call malloc

Mon Mar 16 11:56:23 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from cgf@bbc.com (Christopher Faylor):
	* tty.cc (fhandler_tty_slave::dup): Don't set flags to 0.  Flags
	have already been set in wrapper.
	* net.cc: Rename `s' variable which shadows global `s'.
	* termios.cc: ditto
	* time.cc: ditto

Tue Mar 10 15:54:04 1998  Geoffrey Noer  <noer@cygnus.com>

	* version.h: up CYGWIN_DLL_VERSION_MINOR

Tue Mar 10 15:41:29 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from cgf@bbc.com (Christopher Faylor):
	* spawn.cc (spawn_guts):  Make argument handling after `#! pgm'
	handle spaces similarly to UNIX.  Close "linearized" file handles
	when a non-cygwin32 binary is executed or suffer hangs on exit.
	Reorganize lpReserved2 buffer to avoid conflicts with Microsoft
	usage which resulted in incorrect stdin/stdout operation with
	programs compiled using MSVC.
	* pinfo.cc (pinfo_init):  Accommodate change to lpReserved2
	organization.

Mon Mar  9 19:27:17 1998  Geoffrey Noer  <noer@cygnus.com>

	* syscalls.cc (_open): modify to take a variable number of
	arguments to match newlib's fcntl.h.
	* environ.cc (parse_options): rewrite struct known to conform
	to ANSI standards.  Can't statically initialize, so do so
	dynamically at the beginning of the function instead.

	patch from jeffdb@netzone.com (Mikey):
	* dcrt0.cc (build_argv, compute_argc): need to escape quotes

Sat Feb 28 16:41:54 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* fhandler.cc (fhandler_base::init): call set_flags based on
	access arg.
	* net.cc: include fcntl.h
	(fhandler_socket::fhandler_socket): made sockets O_RDWR

Thu Feb 26 23:41:54 1998  Geoffrey Noer  <noer@cygnus.com>

	Beta 19 release made.

Sun Feb 22 23:46:31 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* Makefile.in: Do not link cygwinb19.dll with libwsock32.a
	* exceptions.cc: add proto for i_WSACleanup.
	(sig_handle): call *i_WSACleanup if winsock was inited.
	* hinfo.cc: add proto for i_getpeername.
	(hinfo_vec::build_fhandler): call *i_getpeername if winsock
	was inited
	* net.cc: wsock32, i_wsockimports - new globals.  Throughout
	file, call winsock functions via indirect pointers.
	(winsock_init): dynamically load wsock32.dll and resolve addresses
	of exports.
	(cygwin32_rcmd, cygwin32_rexec, cygwin32_rresvport): resolve
	addresses of exports.
	* select.cc: add protos for i___WSAFDIsSet, i_WSAGetLastError,
	i_select, i_socket, i_closesocket.  WINSOCK_FD_ISSET changed to
	use indirect pointer.  Direct winsock calls changed to indirect.
	(cygwin32_select): initialize winsock before calling select in
	degenerate case.
	* winsup.h: remove protos for ScreenRows, ScreenCols,
	ScreenGetCursor, ScreenSetCursor.

Sun Feb 22 17:44:55 1998  Geoffrey Noer  <noer@cygnus.com>

	* environ.cc (parse_options): comment out -- no longer
	compiles with egcs.  Will rewrite/enable later.

Sun Feb 22 13:49:10 1998  Geoffrey Noer  <noer@cygnus.com>

	* syscalls.h: remove protos for _open, _read, _write since
	they are in newlib headers that are already included
	* syscalls.cc (_read): return int, not ssize_t
	(_write): ditto

Sat Feb 21 14:21:17 1998  Geoffrey Noer  <noer@cygnus.com>

	* Makefile.in: rename dll to cygwindevo.dll

Sat Feb 21 01:33:56 1998  Geoffrey Noer  <noer@cygnus.com>

	* cygwin.din: remove dup definition of endpwent

Thu Feb 19 14:20:21 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/cygwin32/cygwin_dll.h: Correct protection wrapper

Tue Feb 17 20:21:24 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/Windows32/Structures.h: tagBITMAPFILEHEADER should
	be packed.

Tue Feb 17 19:34:41 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from cgf@bbc.com (Christopher Faylor):
	* cygwin.din: export sigpause
	* signal.cc (sigpause): New "compatibility interface" to
	sigsuspend function.  Used currently by inetutils.

Tue Feb 17 11:43:27 1998  Ian Lance Taylor  <ian@cygnus.com>

	* tty.h (class tty): Add slave_opened field.
	* tty.cc (fhandler_tty_master::init): Initialize slave_opened.
	(do_output): Only return with EOF if the slave has been opened.
	(fhandler_tty_slave::open): Set slave_opened.
	(fhandler_pty_master::open): Initialize slave_opened.

	* tty.cc (fhandler_pty_master::read): Change type of n to DWORD.
	If there are no characters to read, and the descriptor is in
	nonblocking mode, just return EGAIN.

Mon Feb 16 15:11:25 1998  Ian Lance Taylor  <ian@cygnus.com>

	* tty.h (class tty): Remove handle_pid and slave_handles fields.
	(class tty_list): Add getcount method.
	* tty.cc (tty::init): Initialize input_handle and output_handle.
	(tty_list::free_tty): If we just freed the last reference to this
	tty, close input_handle and output_handle.
	(fhandler_tty_master::init): Don't initialize handle_pid and
	slave_handles.
	(do_output): Instead of just calling ReadFile, loop using
	PeekNamedPipe and check whether the tty has been closed.  Return 0
	on EOF and -1 on error.
	(process_output): Only print debugging error message if error
	occurs in do_output.
	(fhandler_tty_slave::open): Always duplicate handles from master.
	Never close handles in source.  Don't change slave_handles.
	(fhandler_tty_slave::close): Don't change slave_handles, and don't
	close tty handles.
	(fhandler_tty_slave::linearize): Call attach_tty.
	(fhandler_tty_slave::de_linearize): Don't call attach_tty.
	(fhandler_tty_slave::dup): Don't increment slave handles.
	(fhandler_pty_master::open): Don't initialize handle_pid and
	slave_handles.
	(fhandler_pty_master::close): Don't check slave_handles, and don't
	close tty handles.
	(fhandler_pty_master::read): Handle EOF return value from
	do_output.
	(fhandler_pty_master::linearize): Call attach_tty.
	(fhandler_pty_master::de_linearize): Don't call attach_tty.

	* fork.cc (cygwin_fork_helper1): Copy strace_mask from parent to
	child.

Thu Feb 12 20:33:57 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from cgf@bbc.com (Christopher Faylor):
	* utils/cygwin.cc: Modify -s option to use new strace_mask entry
	in pinfo.  Prepare for future ability to specify an strace file.

Thu Feb 12 11:57:26 1998  Geoffrey Noer  <noer@cygnus.com>

	* grp.cc (read_etc_group): add a default /etc/group in memory
	if /etc/group isn't found
	(getgrnam): return NULL if requested group isn't found instead
	of returning a default group

Wed Feb 11 15:59:10 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* strace.cc (strace_open): do not close u->strace_file if it
	points to stderr.
	* malloc.cc (malloc_init): do not check for application's malloc
	in a forkee, this breaks memory coherency in a forkee and forker.
	use_internal_malloc flag now copies on fork.

Tue Feb 10 18:11:30 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from cgf@bbc.com (Christopher Faylor)
	Throughout sources, mark statics and globals as NO_COPY where
	appropriate.
	* fork.cc (cygwin_fork_helper1): Remove #if 0 around fork_copy of
	cygwin data/bss.  Remove __malloc_copy since it is no longer
	necessary.

Tue Feb 10 15:30:19 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from cgf@bbc.com (Christopher Faylor)
	* console.cc (fhandler_console::write): Implement xterm style
	escape sequences for setting title in the console title bar.
	* fhandler.h: Define constants for console title escape sequence.

Tue Feb 10 14:16:17 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/a.out.h: remove junk chars introduced by mailer
	when this header was sent to us

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* libccrt0.cc: rename cygwin_attach_dll to cygwin32_attach_dll

	patch from cgf@bbc.com (Christopher Faylor):
	* environ.cc: fix off by one problem

Mon Feb  9 14:56:00 1998  Geoffrey Noer  <noer@cygnus.com>

	* Makefile.in: add registry.h to environ.o deps

Mon Feb  9 14:42:24 1998  Ian Lance Taylor  <ian@cygnus.com>

	* Makefile.in (DLL_OFILES): Rename dllinit.o to dll_init.o.

	* tty.cc (fhandler_tty_slave::close): Don't close the tty handles
	if the slave and the master are the same process.

	* path.cc (read_mounts): Change key parameter to reference, to
	avoiding running the destructor.

Mon Feb  9 13:53:50 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from cgf@bbc.com (Christopher Faylor):
	Moves all environment manipulation into environ.cc.
	Switches to CYGWIN32 for settings:
	  set CYGWIN32=[no]title [no]strip_title [no]binmode [no]glob
		       strace=mask:cache,file [no]tty
	(set STRACE=whatever is still honored).
	Propagates tty settings to all subprocesses regardless of
	unsetting of environment variable.
	Moves strace mask into pinfo structure for easier future
	manipulation by external program.  Moves strace_file into the
	vacated position for automatic use in forked processes.
	Propagates old title to execed processes so that they can
	correctly restore the correct title when they exit.
	* console.cc:  Use PID_USETTY setting in process_state so that
	tty state can be easily inherited.
	(set_console_title):  New function to set console title.
	* syscalls.cc:  Use PID_USETTY setting in process_state so that
	tty state can be easily inherited.
	* tty.cc: Ditto.
	* hinfo.cc: Ditto.
	(hinfo_vec::de_linearize_fd_array): Return last location in buffer
	for further potential processing.
	* dcrt0.cc:  Add global variables for control of glob and title,
	set by environ_init.  Mark some variables as NO_COPY.
	Remove routines and variables for dealing with environment.
	(dll_crt0_1): Move environment initialization into separate
	function.  Honor 'noglob' CYGWIN32 setting.
	* environ.cc (environ_init): New function to initialize the
	environ table.  Also scans for CYGWIN32 environment variable,
	setting appropriate values.
	(ucenv): New function.  Upper cases an environment variable.
	(parse_options): New function.  Parse CYGWIN_* environment
	variable.
	(posify): New function.  Convert a Windows env path spec to
	cygwin.
	(env_sort): New function.  Sort an environ block.
	(winenv): New function.  Returns a windows style environment
	block.
	* fhandler.cc (fhandler_base::read): Reflect change to location of
	strace_mask.
	* fork.cc (cygwin_fork_helper1): Remove save/restore of some
	settings since this is automatic now with new dll data copy.  Save
	PID_USETTY setting in child process_state.
	* strace.h: Cosmetic change.
	* pinfo.cc (pinfo_init):  Call environ_init here since it may
	affect further processing in this function.  Use old console title
	from "parent" process if execed process.  Reflect change to
	location of strace_mask.
	* spawn.cc (spawn_guts): Remove environment manipulation code.
	Use new winenv function call instead.  Save old title in block of
	memory copied to newly execed process if title is being displayed.
	* strace.cc:  Changes to reflect new location for strace_mask and
	strace_file.  These are now automatically inherited on fork.
	* winsup.h:  Move strace_mask into pinfo to allow possible
	manipulation by other processes.  Put u->strace_file in uptr
	structure so that it will be automatically duplicated on fork,
	removing the necessity of initializing strace in a forked
	process.  Add functions/variables associated with environment
	manipulation and console title setting.

Mon Feb  9 03:06:56 1998  Geoffrey Noer  <noer@cygnus.com>

	Extensive reformatting in new files from next patch.
	Rename dllinit.h file to dll_init.h and likewise for dll_init.cc.
	Rename cygwin_detach_dll to cygwin32_detach_dll throughout.
	Similarly, rename cygwin_attach_dll and _cygwin_dll_entry.
	And rename sanityAndSyncCheck to check_sanity_and_sync.
	Also:
	* dll_init.h: don't include winsup.h
	* dll_init.cc: include winsup.h here instead
	* dlfcn.cc: include winsup.h, don't include windows.h
	* cygwin.din: rename cygwin_detach_dll to cygwin32_detach_dll.

	patch from giac@dalim.de (Philippe Giacinti):
	Copy data areas of cygwin-compiled dlls on fork(),
	implement dlopen/dlsym/dlclose/dlerror calls.
	* Makefile.in: add dlfcn.o and dllinit.o to DLL_OFILES, add
	dllinit.h dependencies
	* cygwin.din: dll_dllcrt0, cygwin_detach_dll, dlopen, dlclose,
	dlsym, dlerror, dlfork -- new exports.
	* dcrt0.cc: include dllinit.h, mark u pointer as NO_COPY.
	(sanityAndSyncCheck): new, code moved from dll_crt0_1.
	Initialize all linked dlls before calling main().
	* dlfcn.cc: new file.
	* dllinit.cc: new file.
	* dllinit.h: new file.
	* exceptions.cc: mark some variables with NO_COPY.
	* fork.cc: include dllinit.h; declare cygwin.dll data/bss
	start/end.
	(cygwin_fork_helper1): copy data/bss of cygwin.dll itself to child
	process (the code is disabled now); copy data areas of
	linked/loaded dlls (if any); free loaded dll list on cleanup.
	* include/cygwin32/cygwin_dll.h: new file.
	* include/dlfcn.h: new file.
	* libccrt0.cc (cygwin_crt0_common): new, code derived from
	cygwin_crt0, MainFunc parameter added.
	(cygwin_crt0): call cygwin_crt0_common.
	(cygwin_attach_dll): new.
	* shared.cc: mark some data as NO_COPY
	* strace.cc: mark some data as NO_COPY
	* winsup.h: add dll_dllcrt0 proto, NO_COPY macro.

Sun Feb  8 17:51:26 1998  Geoffrey Noer  <noer@cygnus.com>

	* getopt.c: new.  Import Berkeley getopt code modified for use
	in Cygnus' kerberos implementation (including the writing of
	getopt_long by Chris Provenzano (proven@cygnus.com)) then modified
	a bit more to get it working in Cygwin32.  Although we were
	going to remove getopt, it appears that too many programs would
	need fixing to remove it completely.  Whether getopt should be
	included in Cygwin32 should be decided at a later time.
	* include/getopt.h: new.  Import Berkeley getopt.h.
	* Makefile.in: add getopt.o to LIBCOS
	* utils/Makefile.in: remove include of ../../include since
	getopt.h is now in winsup/include, also revert recent change
	of addition of GETOPT_OBJS.

Fri Feb  6 16:28:19 1998  Geoffrey Noer  <noer@cygnus.com>

	* cygwin.din: remove set_new_handler and cygwin_set_attributes
	exports
	* version.h: up major version number
	* Makefile.in: rename dll to cygwinb19.dll
	* syscalls.cc (cygwin_set_attributes): axe

Thu Feb  5 18:28:37 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/Windows32/Functions.h: add protos for
	DdeCmpStringHandles and DdeCreateDataHandle
	* Makefile.in: stop including ../libiberty/getopt* since
	we aren't exporting or using them
	* utils/Makefile.in: add new variable for libiberty getopt objs
	which is linked in for cygwin.exe

Thu Feb  5 17:59:12 1998  Geoffrey Noer  <noer@cygnus.com>

	syscalls.cc: move ppc dll_entry asm code to...
	dcrt0.cc: ...here

	Import new globbing code from NetBSD 1.3
	* glob: delete subdirectory
	* glob.c: new file
	* glob.h: new file
	* Makefile.in: remove glob from submakes, remove glob/libglob.a
	from DLL_IMPORTS, fix dcrt0 glob.h dependency
	* configure.in: don't configure glob subdirectory
	* configure: regenerate
	* dcrt0.cc: include glob.h, not glob/glob.h.
	(globify): don't call glob with GLOB_NOESCAPE which isn't a valid
	flag with this glob

Wed Feb  4 16:14:13 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	Allow system administrator to enter into the HKLM registry tree
	a predefined mount table inherittable by all cygwin users.  The
	predefined mounts are non-mandatory so the user's mount table has
	a higher priority than the default one.  Cygwin reads HKLM tree
	in read-only mode.
	* path.cc (read_mounts): new, code derived from
	mount_info::from_registry().
	(mount_info::from_registry): call read_mounts from user's table,
	then from system-wide mount table.
	* registry.cc (reg_session::reg_session): key and access arguments
	added.
	(reg_key::init): access argument added.
	(reg_key::reg_key): access argument added.
	* registry.h (class reg_key): init prototype changed, default
	argument of reg_key added.
	(class reg_session): default arguments of constructor added.

Wed Feb  4 15:38:59 1998  Geoffrey Noer  <noer@cygnus.com>

	* include/a.out.h: new coff header file

Wed Feb  4 01:55:18 1998  Geoffrey Noer  <noer@cygnus.com>

	* uinfo.cc: define DEFAULT_UID/GID here
	* winsup.h: removed DEFAULT_UID/GID defs and unused
	set_console_title proto.  Did some major reorganizing,
	and a little reformatting, commenting.

Tue Feb  3 23:59:23 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from cgf@bbc.com (Chris Faylor):
	Replace u->self and this_procinfo () with new `myself' pointer
	wherever appropriate.  Also replace get_pid() calls with a
	simple ->pid reference.

Mon Feb  2 12:34:49 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from sos@prospect.com.ru (Sergey Okhapkin):
	* console.cc (FakeReadFile): limit bytes to read to 30000 due to
	Win NT 4.0 SP3 bug.  Kill foreground process group with SIGWINCH
	on console buffer size change if tty support enabled.
	* include/sys/termios.h: define more constants.
	* tty.cc (fhandler_pty_master::ioctl): kill foreground process
	group with SIGWINCH on window resizing.

Mon Feb  2 12:14:49 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from cgf@bbc.com (Chris Faylor):
	* dcrt0.cc (dll_crt0_1):  Initialize u->self here, early in a
	forked process so the correct pid is used in strace output and so
	signals do not end up being erroneously sent to the parent.
	* exceptions.cc:  Make a global variable static.  Some minor
	optimizations.
	(call_handler): Make sure that the signal mask is restored when
	sig_dispatch mutex is unavailable.
	Reorder asm statements to prevent clobbering of flags register by
	preceding ors or risk random inexplicable behavior when returning
	from a signal handler.
	* fork.cc (cygwin_fork_helper1): Put setjmp restore in child's
	pinfo.  Have the child figure out its pid earlier in the
	initialization process.  Don't print a "child failed" error if the
	child failed during initialization due to a CTRL-C.  This is still
	not quite right (see comment).
	* sigproc.cc (sig_send): Remove unlock/lock_pinfo or suffer
	consistent hangs in zsh.  Make {allow,block}_sig_dispatch globally
	available.
	(wait_sig): Fix problem where blocked signals would still be
	processed if queued.  Add debugging SIGNOQUEUE conditional to turn
	off signal queueing, making cygwin more like traditional UNIX.
	* sigproc.h:  Add {allow,block}_sig_dispatch functions.

Mon Jan 26 17:33:57 1998  Geoffrey Noer  <noer@cygnus.com>

	* path.cc (mount_info::init): don't hardcode C: as the default
	slash mount.  Instead, use the drive letter that the OS is loaded
	on.

Mon Jan 26 13:33:57 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from cgf@bbc.com (Chris Faylor):
	* fork.cc (cygwin_fork_helper): Move setting PID_INITIALIZING
	process_state here to avoid erroneously setting it permanently
	via proc_register().
	* pinfo.cc (pinfo_init): Delay notifying "parent" when execing
	until this process is ready to receive signals or risk a race
	condition if exec parent calls sigproc_terminate prior to
	the child exec.
	* sigproc.cc (proc_subproc): Don't set PID_INITIALIZING here.
	It is too late in the process creation.
	(sig_send): Reset sigsuspend mutex prior to use to avoid a race.
	(wait_sig): Create sigsuspend mutex as an auto reset to attempt
	to avoid a race condition.  Notify parent that this process is
	ready if we were execed (code moved from pinfo_init).  Change
	PulseEvents to SetEvents to avoid races
	* spawn.cc (spawn_guts): Move setting PID_INITIALIZING
	process_state here to help avoid race.

Fri Jan 23 12:31:37 1998  Ian Lance Taylor  <ian@cygnus.com>

	* malloc.cc (malloc_critical_section): New static variable.
	(malloc_init): New function.
	(__malloc_lock, __malloc_unlock): New functions.
	* winsup.h (malloc_init): Declare.
	* heap.cc (heap_init): Call malloc_init.

Thu Jan 22 18:46:40 1998  Ian Lance Taylor  <ian@cygnus.com>

	* tty.h (class tty): Change slave_handles to int.
	* tty.cc (fhandler_tty_slave::open): Check for invalid tty
	handles.  If this is the first slave, set slave_handles to 2;
	otherwise, increment slave_handles.
	(fhandler_tty_slave::close): Only close the tty handles if the
	slave_handles field drops to 1.
	(fhandler_tty_slave::write): Add a debugging message if WriteFile
	fails.
	(fhandler_tty_slave::dup): Set ttynum of new fhandler.  Increment
	slave_handles if appropriate.
	(fhandler_pty_master::close): Only close the tty handles if the
	tty is no longer allocated.

	* tty.h (class tty): Add handle_pid and slave_handles fields.
	* tty.cc (attach_tty): Call connect_tty even if use_tty is not
	set.
	(detach_tty): Don't check use_tty.
	(fhandler_tty_master::init): Initialize handle_pid and
	slave_handles of tty.
	(do_input): Treat \r as end of line character.
	(do_output): Only set output_done_event if it is not NULL.
	(fhandler_tty_slave::open): Don't worry if we can't open
	output_done_event.  Check slave_handles field of tty to decide
	from where to duplicate the handles.  Call detach_tty on error.
	If we are now the owner of the slave handles, mark the tty
	appropriately.
	(fhandler_tty_slave::close): Only close output_done_event if it is
	not NULL.  Check for errors from CloseHandle.  Close the tty
	handles if we own them.
	(fhandler_tty_slave::write): Only wait for output_done_event if it
	is not NULL.
	(fhandler_tty_slave::read): If nobody owns the tty, return EOF.
	(fhandler_tty_slave::dup): Attach the tty.  Don't duplicate
	output_done_event if it is NULL.  Detach the tty on error.
	(fhandler_pty_master::open): Initialize handle_pid and
	slave_handles of tty.  Don't create output_done_event.
	(fhandler_pty_master::close): Only close output_done_event if it
	is not NULL.  Check for errors from CloseHandle.  Only close the
	tty handles if we own them.
	(fhandler_pty_master::read): Only set output_done_event if it is
	not NULL.
	* hinfo.cc (de_linearize_fd_array): Don't set use_tty just because
	we find a tty to delinearize.

Wed Jan 21 21:58:27 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from cgf@bbc.com (Chris Faylor):
	* sigproc.cc: Changes in wait_sig/sig_send semaphore/event
	signaling to attempt to eliminate races.

Tue Jan 20 16:11:05 1998  Geoffrey Noer  <noer@cygnus.com>

	Remove last remnants of the mixed case handling support.
	* path.cc (path_conv::path_conv): remove mixed_p init
	(mount_info::from_registry): don't check for fmixed
	(mount_info::to_registry): ditto
	(mount_item::getmntent): when setting ret.mnt_opts, only consider
	text vs binary flag
	(mount_item::init): remove init of mixed
	* path.h: remove mixed_p, mixed from path_conv class.  Remove
	unmixedcaseify proto.
	* include/sys/mount.h: comment out MOUNT_MIXED define, protect
	header against multiple inclusion

	A little header file cleanup.  Mostly to protect headers against
	multiple inclusion.  Some aren't strictly speaking necessary but...
	* include/sys/cygwin.h: protect header against multiple inclusion
	* include/sys/smallprint.h: ditto, also add cplusplus wrapper
	* include/sys/strace.h: comment last endif
	* include/cygwin32/in.h: change _LINUX_IN_H protect defines
	to _CYGWIN32_IN_H
	* include/arpa/inet.h: protect header against multiple inclusion
	* include/asm/types.h: ditto
	* include/net/if.h: ditto
	* include/netinet/ip.h: ditto
	* include/netinet/ip_icmp.h: ditto
	* include/netinet/in.h: ditto, remove commented out real header
	file
	* include/fcntl.h: protect header against multiple inclusion
	* include/memory.h: ditto
	* include/mntent.h: ditto
	* include/strings.h: ditto
	* include/syslog.h: ditto
	* include/termio.h: ditto

Tue Jan 20 12:51:59 1998  Ian Lance Taylor  <ian@cygnus.com>

	* strace.cc (strace_stderr): New static variable.
	(strace_init): Set strace_stderr.
	(system_printf): If not strace_stderr, use debug_printf to put the
	message in a trace file.

	* fhandler.h (fhandler_pty_master): Add neednl_ field.
	* tty.h (RESTART_OUTPUT_EVENT): Change to be different from
	IOCTL_DONE_EVENT.
	* tty.cc (fhandler_tty_master::init): Initialize neednl_.
	(do_output): Handle a length of one by using neednl_ to record an
	expansion of \n to \r\n which doesn't fit.  Never expand \r to
	\r\n.  Correct order of \r\n.
	(fhandler_tty_slave::open): Improve error handling.  Use
	DUPLICATE_CLOSE_SOURCE to close the pipes in the master process.
	(fhandler_tty_slave::dup): Duplicate the handles, rather than
	calling fhandler_tty_slave::open.
	(fhandler_pty_master::open): Initialize neednl_.
	(fhandler_pty_master::read): Return EOF for ERROR_BROKEN_PIPE,
	rather than error.  Set errno correctly.
	* hinfo.cc (digits): New static function.
	(build_fhandler): Always accept /dev/ptmx and /dev/ttyDDD, even if
	use_tty is not set.  use_tty now only controls the interpretation
	of /dev/tty.

Mon Jan 19 14:49:45 1998  Geoffrey Noer  <noer@cygnus.com>

	* sigproc.cc (sig_send): lock_pinfo_for_update during this
	function

Fri Jan 16 18:09:59 1998  Geoffrey Noer  <noer@cygnus.com>

	* sigproc.cc (sigproc_init): if we can't create a signal
	thread or can't create sync_proc_subproc mutex, fail with
	an api_fatal call rather than just returning

Fri Jan 16 18:08:49 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from cgf@bbc.com (Chris Faylor):
	Changed signal handling to use one semaphore and one shared
	memory array which is manipulated via Interlocked*() functions.
	* exceptions.cc (lock_cs): Comment.  Report on error.
	(unlock_cs): Add debugging statement.
	(sig_dispatch_pending): Remove obsolete function.
	(set_process_mask): Adapt to new signal method.
	(call_handler): Clear wait()ing threads here while main thread is
	suspended to avoid timing screwups.  Avoid calling the handler if
	can't get dispatch mutex (code moved from sig_handle).  Return
	status of acquiring the sig_dispatch mutex.
	(sighandle): Adapt to new signal method.  Reorganize to *always*
	honor sig_dispatch mutex or suffer deadlock on fatal signals when
	someone else has the mutex and we're attempting to cleanup.
	(events_init): Reflect change in cygname() arguments.
	* fork.cc (stack_dummy): New function.  Returns address of
	argument to determine bounds for eventual stack copy.
	(cygwin_fork_helper1): Call subproc_init to start up subproc
	thread if it is not alreay started.  Ensure that signals are
	blocked while forked process is initializing.  Change method of
	calculation for lower stack bounds to slightly more foolproof
	method.  Preserve some global settings in forked process.
	* misc.cc (cygname): Remove an unused argument.
	* pinfo.cc (pinfo_list::allocate_pid): Add a useful debugging
	statement.
	* shared.cc (open_shared_file_map): Reflect change in cygname()
	arguments.
	* signal.cc (kill_pgrp): Avoid killing dead processes.  Don't
	kill processes in my pgrp if not also in my ctty.
	(sigaction): Adapt to new signal method.
	(sigpending): Adapt to new signal method.
	* sigproc.cc: Many changes to adapt to new signal method.  Also
	delay waits for thread initialization until the thread needs to be
	contacted.
	* sigproc.h: Ditto.
	* spawn.cc (spawn_guts): Fix potential off-by-one error(?) in
	transcribing the argument list and add paranoid code to detect
	future overruns.  Change priority to highest so that waiting
	process will clear out quickly.
	(_spawnve): Call subproc_init() to start up subproc thread if is
	not already started.
	* strace.cc (strace_printf): Increase size of internal buffer so
	that long argument lists printed from spawn_guts do not overrun it
	so easily.
	* wait.cc (wait4): Set status flag to -1 prior to exit.  This will
	cause previous wait that was interrupted by a signal which
	dispatched to another wait to return the correct error value.
	* winsup.h (pinfo): Add _sigtodo array for new signal method.
	Remove obsolete field.  Reflect change in cygname arguments.

Thu Jan 15 13:07:07 1998  Ian Lance Taylor  <ian@cygnus.com>

	* syscalls.cc (mkdir): Don't permit the directory to be created if
	the parent directory is not writable.

	* syscalls.cc (fchmod): Call chmod with the path name, rather than
	just returning zero.

	* syscalls.cc (writable_directory): New static function.
	(_unlink): Don't permit the file to be removed if the directory is
	not writable.
	(rename): Don't permit the rename if either the source or
	destination directory is not writable.

	* syscalls.cc (chown): Set username and groupname lengths to UNLEN
	+ 1, rather than 100.  If getpwuid fails, try to look up the real
	user name to see if it is the same.  Don't report an error if
	there is no security mapping.

Wed Jan 14 15:34:20 1998  Ian Lance Taylor  <ian@cygnus.com>

	* syscalls.cc (setegid): New function which just returns ENOSYS.
	(chroot): Likewise.
	* cygwin.din: Export setegid, _setegid, chroot, and _chroot.

	* syscalls.cc (setmode): Rename from _setmode.  Change to return
	the old mode.  Remove old setmode function.
	* cygwin.din: Make _setmode an alias for setmode.

Wed Jan 14 14:46:00 1998  Geoffrey Noer  <noer@cygnus.com>

	* Makefile.in: don't strip cygwin.dll by default
	* winsup.h: minor reformatting, removed/reworded some comments

Mon Jan 12 13:53:03 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from cgf@bbc.com (Chris Faylor):
	Speed up cygwin pid calculation by staying in the range
	1000 through (1000 + PSIZE - 1).
	* pinfo.cc (pinfo_list::init): Change to reflect new pid
	calculation method.
	(pinfo_list::operator []): Ditto.
	(pinfo_list::allocate_pid): Ditto.
	* winsup.h (pinfo): Move pid and ppid into non-zeroed region since
	they are always set by allocate_pid.
	(pinfo_list): Change pid_base to next_pid_index to reflect new pid
	calculation method.
	(PBASE): New constant for new pid calcuation method.

Sat Jan 10 12:06:38 1998  Geoffrey Noer  <noer@cygnus.com>

	* syscalls.cc (process_deletion_queue): remove wrapper function
	(close_all_files): call s->delqueue.process_queue instead of
	going through wrapper.
	* fhandler.cc (fhandler_base::close): call
	s->delqueue.process_queue instead of using above wrapper.
	* winsup.h: remove process_deletion_queue proto
	* delqueue.h: up MAX_DELQUEUES_PENDING to 100 for now.  Rename
	v to dqueue for clarity.
	* delqueue.cc: v renamed to dqueue throughout.  Add FIXME
	describing why this whole delqueue system needs rewriting.

Fri Jan  9 13:18:44 1998  Geoffrey Noer  <noer@cygnus.com>

	Remove some historical baggage:
	* syscalls.cc (cygwin_set_attributes): remove commented-out code,
	add FIXME since this function should go away next time an
	incompatible change to cygwin.din is made.  Stop including
	include/sys/cygwin.h.
	* include/sys/cygwin.h: remove cygwin_set_attributes proto.
	Remove CYGWIN_FMODE_ALL_BINARY define.
	* hinfo (hinfo_vec::init_std_file_from_handle): remove old
	commented-out code
	* path.cc (unmixedcaseify): delete commented-out function
	(mixedcaseify): ditto
	* strerror.cc (strerror): delete commented-out code section

Tue Jan  6 18:51:40 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from cgf@bbc.com (Chris Faylor):
	Conform to POSIX method for sending SIGHUP to stopped processes.
	* dcrt0.cc (do_exit): Use new kill_pgrp function to kill orphaned
	children on group leader exit iff the children are stopped (per
	POSIX).
	* signal.cc (kill_worker): Negative signal now means to send
	a SIGCONT after the signal, to wake up the target process.
	(_kill): Break out pgrp handling into separate function.
	(kill_pgrp): New function pulled from _kill to send signals
	to processes in a given pgrp.

Tue Jan  6 14:37:43 1998  Geoffrey Noer  <noer@cygnus.com>

	patch from cgf@bbc.com (Chris Faylor):
	* fhandler.cc (fhandler_base::open): include
	FILE_FLAG_BACKUP_SEMANTICS in file_attributes when file is
	a directory.  Allows opening of directory as a file.  Allows
	use of handle to perform some operations on both directories and
	files.
	(fhandler_base::fstat): Loop when attempting to get volume serial
	number.  Works around an apparent Windows NT 3.51 bug.
	* times.cc (utimes): use FILE_FLAG_BACKUP_SEMANTICS flag
	to allow accessing directory times (may only work under NT;
	until now it didn't work under either OS).
	* winsup.h: Add O_DIROPEN constant.

Mon Jan  5 19:18:01 1998  Geoffrey Noer  <noer@cygnus.com>

	* Makefile.in: make winsup.h depend on winsup.h in accordance
	with below

	patch from cgf@bbc.com (Chris Faylor):
	* {*.cc, *.h}: Remove include files already present in winsup.h.
	Change empty function parameter	lists to (void) where appropriate.

	* fork.cc: Clean up include files.  Minor change to CreateProcess
	parameter list.
	* signal.cc: Remove ifdef'ed stuff.
	* smallprint.c: Add a necessary include file.
	* winsup.h: Add a common include file.  Add a function declaration
	for kill_pgrp.

Mon Jan  5 18:30:37 1998  Geoffrey Noer  <noer@cygnus.com>

	Fix spoofing of directory inodes.
	* syscalls.cc (hash_path_name): instead of initializing the
	hash to zero, take the value of the initial hash as a new
	argument.
	(_stat_worker): fix up hash_path_name reference in light of above
	* dirsearch.cc (opendir): initialize dir->__d_dirhash to the
	hash of the full directory name so readdir can make use of it.
	(readdir): compute d_ino by combining the directory hash
	calculated by opendir with the hash of the filename.
	* fhandler.cc: fix up hash_path_name reference in light of above

	* winsup.h: remove unnecessary protos for getkey, kbhit.  Adjust
	hash_path_name proto.