summaryrefslogtreecommitdiff
path: root/ChangeLog
blob: d346417655c788578e6968bccf347a87de106a83 (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
Sun Feb 13 11:17:33 2000  Nanbor Wang  <nanbor@cs.wustl.edu>

	* examples/Shared_Malloc/test_multiple_mallocs.cpp:
	* examples/Shared_Malloc/test_position_independent_malloc.cpp:
	* tests/Malloc_Test.cpp: Changed
	  ACE_HAS_POSITION_INDEPENDENT_MALLOC to
	  ACE_HAS_POSITION_INDEPENDENT_POINTERS.

Sat Feb 12 20:35:23 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

	* examples/Shared_Malloc/test_position_independent_malloc.cpp (initialize):
	  Zapped several temporary variables that were causing warnings
 	  when ACE_ASSERT is disabled.  Thanks to David Levine for
 	  reporting this.

Sat Feb 12 17:06:20 2000  Nanbor Wang  <nanbor@cs.wustl.edu>

	* ace/OS.h:
	* ace/Thread_Manager.cpp (ACE_Thread_Exit): Removed member
	  <status_> and its accessors.  They don't seem to be used
	  anywhere in ACE and can't be accessed by users.  Thanks to
	  "Elias Sreih" <sealstd1@nortelnetworks.com> for noticing this.

Sat Feb 12 15:15:01 2000  Nanbor Wang  <nanbor@cs.wustl.edu>

	* ace/README (ACE_HAS_POSITION_INDEPENDENT_POINTERS): Renamed
	  the depricated ACE_HAS_POSITION_INDEPENDENT_MALLOC to
	  ACE_HAS_POSITION_INDEPENDENT_POINTERS.

	* ace/OS.h: Made ACE_HAS_POSITION_INDEPENDENT_POINTERS=1 the default
	  if it is not defined already.  If you don't want the support of
	  position independent pointers (which means you don't care about
	  position independent malloc,)  define
	  ACE_HAS_POSITION_INDEPENDENT_POINTERS to 0.

	* ace/MEM_SAP.h:
	* ace/MEM_SAP.cpp:
	* ace/Malloc.h:
	* ace/Malloc.cpp:
	* ace/Malloc.i:
	* ace/Malloc_T.i:
	* ace/Memory_Pool.cpp: Changed ACE_HAS_POSITION_INDEPENDENT_MALLOC
	  to ACE_HAS_POSITION_INDEPENDENT_POINTERS.

	* ace/config-sunos5.5.h:
	* ace/config-win32-common.h: Removed depricated
	  ACE_HAS_POSITION_INDEPENDENT_MALLOC.

Sat Feb 12 14:40:20 2000  David L. Levine  <levine@cs.wustl.edu>

        * examples/Connection/misc/Connection_Handler.cpp,
          examples/Logger/Acceptor-server/server_loggerd.cpp,
          examples/Logger/simple-server/Logging_Handler.cpp (handle_timeout):
          added ACE_UNUSED_ARG (arg), only with ACE_NDEBUG.

Sat Feb 12 00:27:45 2000  Nanbor Wang  <nanbor@cs.wustl.edu>

        * ace/OS.h: Changed to conditionally define
          ACE_DEFAULT_TEMP_DIR_ENV according to whether the unicode is
          supported or not.

        * ace/MEM_SAP.h:
        * ace/MEM_SAP.cpp:
        * ace/MEM_Acceptor.cpp (accept):
        * ace/MEM_Connector.cpp (connect): Made UNICODE friendly.  Thanks
          to Steve for reporting the problem.

Fri Feb 11 13:26:49 2000  Nanbor Wang  <nanbor@cs.wustl.edu>

        * ace/MEM_Acceptor.cpp (accept): Changed to use
          ACE_reinterpret_cast to cast (sockaddr *) to (sockaddr_in *).
          This eliminate the warning on HPUX aCC compiler.

Fri Feb 11 01:16:15 2000  Nanbor Wang  <nanbor@cs.wustl.edu>

        * ace/MEM_Acceptor.cpp:
        * ace/MEM_Acceptor.h: Changed to use ACE_LACKS_INLINE_FUNCTIONS to
          determine where to include MEM_Acceptor.i file as ASYS_INLINE is
          used.  Thanks to Marina and SunCC 5 for reporting the problem.

Thu Feb 10 21:57:04 2000  Nanbor Wang  <nanbor@cs.wustl.edu>

        * ace/MEM_SAP.h
        * ace/MEM_SAP.i (set_buf_len): Removed the const'ness of argument
          <buf>.

Thu Feb 10 14:09:56 2000  Nanbor Wang  <nanbor@cs.wustl.edu>

        * ace/ace_dll.dsp:
        * ace/ace_lib.dsp: Added MEM_* files.

Thu Feb 10 13:49:34 2000  Nanbor Wang  <nanbor@cs.wustl.edu>

        * ace/MEM_SAP.h:
        * ace/MEM_SAP.i:
        * ace/MEM_SAP.cpp: Implemented the adaptation layer for managing
          shared memory in shared memory transport.

        * ace/MEM_Addr.h:
        * ace/MEM_Addr.i:
        * ace/MEM_Addr.cpp: Implemented the "endpoint" addressing
          mechanism for shared memory transport.  The ACE_MEM_Addr make
          sure the "endpoint" is not on an interface that is accessable
          outside of the running host.  It also serves as endpoint
          identification and provides the <same_host> checking method.

        * ace/MEM_IO.h:
        * ace/MEM_IO.i:
        * ace/MEM_IO.cpp: Implemented the IO routines for shared memory
          transport.  Currently, these IO routines treat shared memory
          transport as a streaming devide and copy the data into its own
          buffer before sending the data over.  We'll add method for
          acquiring and sending the internal buffer later.

        * ace/MEM_Acceptor.h:
        * ace/MEM_Acceptor.i:
        * ace/MEM_Acceptor.cpp:
        * ace/MEM_Connector.h:
        * ace/MEM_Connector.i:
        * ace/MEM_Connector.cpp:
        * ace/MEM_Stream.h:
        * ace/MEM_Stream.i:
        * ace/MEM_Stream.cpp: These classes emulate SOCK_* classes but use
          shared memory as their transport mechanism.

        * ace/Malloc_T.cpp: Fixed a mis-matched ACE_TRACE message.

        * ace/OS.h: Added definitions of ACE_MEM_ACCEPTOR,
          ACE_MEM_CONNECTOR and, ACE_MEM_STREAM.

        * ace/Makefile: Aded MEM_* files and updated dependencies.

        * tests/Malloc_Test.cpp: Removed explicit template instantiations
          for ACE_Malloc[_T] as they are taken care of in MEM_SAP.cpp
          now.

        * examples/IPC_SAP/SOCK_SAP/CPP-memclient.cpp:
        * examples/IPC_SAP/SOCK_SAP/CPP-memserver.cpp:
        * examples/IPC_SAP/SOCK_SAP/CPP_memclient.dsp:
        * examples/IPC_SAP/SOCK_SAP/CPP_memserver.dsp:
        * examples/IPC_SAP/SOCK_SAP/SOCK_SAP.dsw: Added a simple example
          on how to use the shared-memory transport.

Thu Feb 10 10:18:00 2000  Ossama Othman  <ossama@uci.edu>

        * THANKS:

          Added Hajdukiewicz Markus <MHajdukiewic@heyde.de> and Gerwin
          Robert <RGerwin@heyde.de> to the list of fame.

        * configure.in (ACE_LACKS_SETSCHED):

          Fixed test so that it defines ACE_LACKS_SETSCHED when
          sched_setscheduler() isn't found.  This was the intended
          behavior.  Thanks to Hajdukiewicz Markus <MHajdukiewic@heyde.de>
          and Gerwin Robert <RGerwin@heyde.de> for providing a patch for
          this problem.

          (ace_cv_feature_cxx_std_template_specialization):

          It appears that this variable had to be quoted when testing if
          it was set to "yes" on AIX.  Thanks again to Markus and Robert
          for providing a patch.

Wed Feb 09 00:41:36 2000  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tests/Pipe_Test.cpp (main): Spawn command should be
          "./Pipe_Test" and not "Pipe_Test".  Otherwise the test will fail
          if the user does not have "." in his/her PATH.  Thanks to Ossama
          for reporting this problem.

Tue Feb 08 21:22:45 2000  Irfan Pyarali  <irfan@cs.wustl.edu>

        * ace/Token: Yesterday's change caused one problem.  There was no
          way to distinguish which thread was going to be the next owner.
          So the following happened:

          Thread A had a read lock and was waiting in select().  Thread B
          wanted a write lock, therefore it executed the sleep hook, and
          then waited on the condition.  Thread A got up through the sleep
          hook, signaled thread B, released the lock and went back to grab
          the read lock.  Even though thread B was runnable, it hadn't
          gotten a chance to become the owner and <in_use_> was still
          zero.  When thread A tried to reacquire the read lock, it
          succeeded.  Thread B finally ran to find out that the token was
          in use and went back to sleep, and hence got starved in the
          process.

          Therefore, the following changes were made to fix the above:

          - wakeup_next_waiter() always reset <in_use_> and <owner_>.  If
            there is a waiter, it sets <in_use_> and <owner_> for the next
            owner.

          - release() doesn't reset <in_use_> and <owner_> since
            wakeup_next_waiter() now does.

          - renew() doesn't set or reset <in_use_> and <owner_> since
            wakeup_next_waiter() now does.

          - shared_acquire() doesn't set <in_use_> and <owner_> since
            wakeup_next_waiter() now does.

          - The while loops in shared_acquire() and renew() now loop until
            the calling thread becomes the owner.

          Note that this version of the Token implementation is still
          better than the previous one since it does not double delete on
          timeouts and wakes up the next waiter if it timed out and became
          the owner simultaneously.

Tue Feb 08 21:46:51 2000  Girish Birajdar  <birajdar@lucent.com>

        * include/makeinclude/platform_vxworks5.x_g++.GNU:
          added SIMSPARCSOLARIS support.

Tue Feb  8 16:29:38 2000  Ossama Othman  <ossama@uci.edu>

        * ltcf-cxx.sh:
        * ltconfig:
        * ltmain.sh:

          Updated from latest libtool multi-language branch versions.

Tue Feb  8 14:25:46 2000  Ossama Othman  <ossama@uci.edu>

        * ace/config-sunos5.5.h (ACE_HAS_TYPENAME_KEYWORD):

          According to ACE's configure script, Sun C++ 5.0 also supports
          the typename keyword.

Tue Feb  8 16:17:21 2000  Steve Huston  <shuston@riverace.com>

        * ace/Thread_Manager.h: Added comment text to ACE_Thread_Manager::wait
          noting that it doesn't wait during ACE_Object_Manager rundown.

Tue Feb  8 14:16:50 2000  Ossama Othman  <ossama@uci.edu>

        * ace/config-sunos5.5.h (ACE_HAS_USING_KEYWORD):

          Sun C++ 5.0 supports the `using' keyword.  Thanks to David Wicks
          <wicks@swbell.net> for pointing this out.

Mon Feb 07 21:11:32 2000  Irfan Pyarali  <irfan@cs.wustl.edu>

        * ace/Token: Bug 416
          (http://ace.cs.wustl.edu/bugs/show_bug.cgi?id=416) was causing
          problems for TAO/tests/Leader_Followers.  The current owner of
          the token was in the process of waking up the next thread. In
          the meantime, the thread that was going to be woken up next
          timed out.  This lead to double deletes from queues and double
          decrements of counters: one by the thread doing the signaling
          and the other by the thread timing out. In addition, the other
          threads waiting for token never woke up since there was nobody
          to wake them up.

          The following changes were made to rectify this problem:

          - ACE_Token::ACE_Token_Queue::insert_entry() factored out common
            code for adding followers to the queue.

          - The thread adding itself to the waiter queue and changing the
            counters is the one responsible for undoing the state
            changes.  The thread doing to wake up is only responsible for
            the signaling.

          - When a thread timeouts, it must check if it was also selected
            as the next owner.  If it was, it must wakeup another waiter.

          - renew() was simplified and made consistent with
            shared_acquire() and release().

          - wakeup_next_waiter() abstracted out the code for the selection
            of the next owner.

          - Improved state management including values for <this->owner_>
            and <this->in_use_>.

          - The wait() loop was not correct. We now loop until the token
            is no longer in use.  This way if the token ownership was taken
            by another (new) waiter thread by the time we wake up, we simply
            go back to sleep.

Mon Feb  7 17:54:06 2000  Jeff Parsons  <parsons@cs.wustl.edu>

        * bin/run_all_list.pm:
          Added TAO/tests/DynAny_Test/run_test.pl to the general
          and single-threaded test groups.

Mon Feb  7 17:30:00 2000  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * ace/ACE.cpp (out_of_handles): Added ENOTSUP (Operation not
          supported) check for SunOS. This helped in solving a bug when
          the Cached_Conn_Test was executed using a single-threaded build.
          Thanks to Steve Huston <shuston@riverace.com> for reporting this
          bug.

Mon Feb  7 17:28:40 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * netsvcs/clients/Naming/Client/main.cpp (main): Removed two
          warnings that crept in recently.  Thanks to David Levine
          for reporting this.

Mon Feb  7 08:34:26 2000  Darrell Brunsch <brunsch@uci.edu>

        * docs/ACE-subsets.html:
          Removed the instructions for subsets on Win32. Subsets are not
          supported under MSVC Project files.

Sun Feb  6 20:44:26 2000  Ossama Othman  <ossama@uci.edu>

        * ace-config.1.in:

          Updated e-mail address of author (me).

        * configure.in:

          Updated e-mail address of configure script maintainer (me again).

          (PURE_CACHE_DIR):

          Fixed syntax of shell script variables.  This fixes a problem
          that occurred on FreeBSD.

          (LIBS):

          Removed manual addition of some thread related libraries.  They
          are now in the auto-detection list in threads.m4.

        * m4/compiler.m4 (ACE_SET_COMPILER_FLAGS):

          Improved support for HP aCC, and corrections.  Set WERROR to
          "+We67" to cause use of "#pragma once" to be an error instead of
          a warning.

        * m4/features.m4 (ACE_CHECK_ASYNCH_IO):

          Reduce timeout value in test program from INT_MAX to 5 seconds.

        * m4/threads.m4 (ACE_CHECK_THREADS):

          Add "-xnolib" to CXXFLAGS when testing thread flag support using
          Sun C++.  Sun C++ links a thread function stub library in the
          single-threaded case.  The stubs are no-ops but they exist,
          nonetheless.  This causes the link tests used to determine if a
          thread flag is needed to incorrectly pass.

Sun Feb  6 14:52:28 2000  Ossama Othman  <ossama@uci.edu>

        * ace/Makefile.am (libACE_Demux_la_SOURCES):

          Added `QtReactor.cpp' to list of sources.

          (libACE_Other_la_SOURCES):

          Added `QoS_Session_Impl.cpp' and `QoS_Session_Factory.cpp' to
          the list of sources.

          (HEADER_FILES):

          Added `Min_Max.h', `QoS_Session_Impl.h' and
          `QoS_Session_Factory.h' to the list of headers.

          (INLINE_FILES):

          Added `QoS_Session_Impl.i' to the list of inline files.

        * ace/OS.h (ACE_LOFF_T):

          HP-UX has a 64 bit offset type "off64_t."

Sat Feb  5 20:49:50 2000  Ossama Othman  <ossama@uci.edu>

        * ltcf-c.sh:
        * ltcf-cxx.sh:
        * ltconfig:
        * ltmain.sh:

          Updated from latest libtool multi-language CVS branch.

        * m4/compiler.m4 (LDFLAGS):

          Remove "-xildoff" from the Sun C++ linker flags.  It doesn't
          seem to be needed since the compiler is smart enough to know
          when to use it.

Fri Feb  4 23:12:36 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * netsvcs/lib/Client_Logging_Handler.cpp (handle_input): Added code to
          handle the case where all the data isn't available when we do a
          "recv()" from the socket.  Thanks to David X. Callaway
          <david.x.callaway@intel.com> for reporting this.

        * ace/Log_Msg.cpp (open): Add a special-purpose case for NT to make sure
          that handles are reused in the client logging daemon.  Thanks to
          David X. Callaway <david.x.callaway@intel.com> for reporting
          this.

Fri Feb  4 19:29:31 2000  Darrell Brunsch <brunsch@uci.edu>

        * ace/Process.h:
        * ace/Process.cpp:
          The method command_line_argv () now returns a LPTSTR const *
          instead of a char * const *.  This enables it to compile under
          UNICODE.  Thanks to Steve Huston for pointing this out.

Fri Feb  4 16:46:42 2000  Steve Huston  <shuston@riverace.com>

        * tests/run_tests.sh: Added . to PATH to be sure that tests which
          fork/exec and rely on PATH to find the program (like Pipe_Test)
          run correctly.

Fri Feb  4 16:31:22 2000  Steve Huston  <shuston@riverace.com>

        * tests/Message_Queue_Notifications_Test.cpp: Use ACE_HAS_THREADS
          rather than ACE_MT to leave out the ACE_Barriers in Watermark_Test
          class when building without threads to avoid compile errors on
          Sun C++ 4.2.

Fri Feb  4 15:11:53 2000  Steve Huston  <shuston@riverace.com>

        * ace/config-hpux-11.00.h: New config file to handle building on
          HP-UX 11.00 with aCC, CC, or g++ (tested on 2.95.2). This file
          will be the new file for this platform when autoconf is not used.
          The other config-hpux-11* files will go away soon (maybe before
          ACE 5.1 is released).

Fri Feb  4 15:56:31 2000  Steve Huston  <shuston@riverace.com>

        * include/makeinclude/platform_hpux_gcc.GNU: Added -fstrict-prototype
          for HP-UX 11 - it resolves a pthread_atfork dispute between two
          slightly different declarations in pthread.h and unistd.h.

Thu Feb  3 11:38:15 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace/Malloc_T.cpp (unbind): Removed the != 0 test since it was
          causing ambiguity problems for G++.  Thanks to David Levine for
          reporting this.

        * ace/Malloc_T.cpp (unbind): Make sure to update the prev_ pointer
          so that we don't end up with an improperly linked list.  Thanks
          to Sandro Doro <doro.s@flashnet.it> for reporting this.

        * examples/Shared_Malloc/test_position_independent_malloc.cpp: Only
          explicitly instantiate a template for ACE_Malloc_T if we've got
          ACE_HAS_POSITION_INDEPEDENT_MALLOC enabled.  Thanks to David
          Levine for reporting this.

Thu Feb  3 11:40:27 2000  Ossama Othman  <ossama@uci.edu>

        * docs/ACE-subsets.html:

          Added some notes about building ACE subsets using MSVC++.
          Thanks to Paul von Behren <vonbepd@lmy-deja.com> for providing
          the tips.

Thu Feb  3 11:38:15 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace/OS.i,
        * ace/Synch.cpp: Added a cast of (short) to the use of USYNC_THREAD
          in order to prevent ambiguity problems for KAI C++.  Thanks to
          Chad Elliott <elliott_c@ociweb.com> for reporting this.  This
          fixes bugid 418.

        * ace/OS.cpp (thr_create): Added yet another cast to (long) for
          PRIORITY_MAX so that the types will be consistent for the
          ace_min() function.  Thanks to Stephen Moon <smoon@oxmol.co.uk>
          for reporting this.

Thu Feb  3 08:38:22 2000  Carlos O'Ryan  <coryan@uci.edu>

        * bin/run_all_list.pm:
          Disable the $TAO_ROOT/orbsvcs/tests/Event/* tests under single
          threaded builds because the tests do indeed use threads.

Wed Feb  2 23:35:19 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace/OS.cpp (thr_create): Added a cast to (long) for
          PRIORITY_MAX so that the types will be consistent for the
          ace_min() function.  Thanks to James Briggs
          <James.Briggs@dsto.defence.gov.au> for reporting this.

Wed Feb 02 21:56:32 2000  David L. Levine  <levine@cs.wustl.edu>

        * bin/check_build_logs: added -p option to check Purify
          output for anomaly and leak reports.

Wed Feb 02 16:29:19 2000  David L. Levine  <levine@cs.wustl.edu>

        * ace/OS.cpp (lwp_getparam): if the LWP is in the TS
          class, set the policy to ACE_SCHED_OTHER instead of
          ACE_SCHED_RR.  That's the only thread scheduling policy
          that's supported in TS class on Solaris, where this function
          can be used.  Thanks to Chris Gill for tracking this bug down.

Wed Feb 02 12:46:53 2000  Nanbor Wang  <nanbor@cs.wustl.edu>

        * ace/OS.cpp (open): Changed to determine whether files should be
          opened using FILE_SHARE_DELETE flag on Win32 at runtime.  This
          allows ace libraries built for Win95/98 work correctly on NT.
          Thanks to Alex Chachanashvili <achacha@panix.com> for reporting
          this. [Bug 419]

        * ace/OS.{h,i,cpp}:  Added a static data member of type
          OSVERSIONINFO on win32 and initialize it in
          ACE_OS_Object_Manager::init to cache the OS version
          informaiton.

Wed Feb  2 11:08:33 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace/Thread.h: Clarified that cancel() is only portable
          on platforms that support cancellation.  Thanks to Jason
          Czavislak <jczavislak@osprey.smcm.edu> for motivating this.

Wed Feb  2 08:43:29 2000  Carlos O'Ryan  <coryan@uci.edu>

        * include/makeinclude/platform_linux_lxpthread.GNU:
          Add support for gprof, not very useful when compared to
          Quantify, but helps.

        * bin/auto_compile:
          Some tests print ERROR to indicate a failure.

Tue Feb  1 12:59:28 2000  Ossama Othman  <ossama@uci.edu>

        * ltcf-cxx.sh:

          Added HPUX shared library support for the aCC C++ compiler.

Tue Feb  1 09:40:50 2000  Ossama Othman  <ossama@uci.edu>

        * tests/Pipe_Test.cpp (main):

          Exit with error if child exited with error.  Previously, the
          test returned successfully which was misleading.

        * ltcf-cxx.sh:
        * ltconfig:
        * ltmain.sh:

          Updated from latest libtool multi-language branch sources.

Mon Jan 31 00:09:11 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * Added the following changes for Borland C++Builder 4:

          ace/OS.cpp: Removed processor architecture "hack" since
          Borland C++Builder 4 supports the required structure definition,
          and earlier versions are no longer supported.

          ace/OS.h: Do not define the ACE_No_Heap_Check class when
          building with Borland C++Builder.

          ace/OS.h, OS.i, config-win32-borland.h: Updated compiler version
          numbers for macro definitions.

          ace/Thread_Manager.h: ACE_Thread_Descriptor_Base class needs to
          be exported when building a DLL.

          include/makeinclude/build_dll.bor, build_exe.bor, build_lib.bor:
          Added makefile target for "clean".

          include/makeinclude/compiler.bor: Added -D_DEBUG compiler flag
          when building debug configuration.

          include/makeinclude/outputdir.bor: Allow object directory to be
          overridden.

          Thanks to Christopher Kohlhoff <chris@kohlhoff.com> for
          contributing these.

        * ace/OS.i: Minor reformatting.

        * ace/SOCK_Dgram_Mcast: Updated the implementation comments related to
          the subscribe_ifs() return value of 1 to indicate why this is
          needed.  Also, updated the documentation to indicate to check
          for -1 on failure.  Thanks to Mark Boriac for motivating this.

        * etc/Svc_Conf_l.cpp.diff: The context diff was incorrectly
          written, therefore, the wrong ACE_YY_BREAK was being commented
          out.  This is now fixed.  Thanks to David Levine for reporting
          this.

        * examples/Shared_Malloc/test_position_independent_malloc.cpp:
          Added a typedef to handle cases where
          ACE_HAS_POSITION_INDEPENDENT_MALLOC is not set.  Thanks to David
          Levine for reporting this.

        * examples/Service_Configurator/Misc/main.cpp (main): Changed
          int i to size_t i to avoid complaint about signed/unsigned
          mismatch.  Thanks to David Levine for reporting this.

Sun Jan 30 12:35:20 2000  Nanbor Wang  <nanbor@cs.wustl.edu>

        * ace/Token.cpp (remove_entry): <tail_> should point to <prev>
          entry if we are removing the last entry in the queue.  Thanks to
          Irfan for pointing this out.

Sat Jan 29 12:56:16 2000  bala  <bala@cs.wustl.edu>

        * ACE version 5.0.13 released.

Fri Jan 28 20:14:20 2000  Carlos O'Ryan  <coryan@uci.edu>

        * ace/RB_Tree.h:
        * ace/RB_Tree.i:
          current_size() was not const.

Fri Jan 28 13:57:37 2000  Fred Kuhns    <fredk@cs.wustl.edu>

        * fixed QoS realted bugs in QoS_Session_Impl.cpp QoS_Session_Impl.h
          SOCK_Dgram_Mcast.cpp.  Just added some error checking and
          check errno after call to join_leaf.

Thu Jan 27 20:25:37 2000  Irfan Pyarali  <irfan@cs.wustl.edu>

        * ace/Token.cpp (shared_acquire and renew): Must decrement
          <waiters_> in case of condition variable wait errors and
          timeouts.

        * ace/TP_Reactor.cpp (handle_events): If the user gives us a
          timeout, we must call <token_.acquire_read> with that timeout.
          Also, we must be more careful when dealing with the return value
          from <token_.acquire_read> to distinguish timeouts from errors.

Thu Jan 27 16:52:40 2000  James Hu <jxh@entera.com>

        * ace/Message_Block.*:
          Added a ACE_Message_Block::reset() method that puts the
          rd_ptr() and wr_ptr() back to the beginning of the message
          block.

Thu Jan 27 16:38:03 2000  Steve Huston  <shuston@riverace.com>

        * ace/Asynch_IO.h: Updated comments for ACE_Asynch_Read_Stream::read
          and ACE_Asynch_Write_Stream::write to state that the affected
          message block's wr_ptr and rd_ptr, respectively, are updated upon
          successful completion of the operation.

Thu Jan 27 11:06:22 2000  Nanbor Wang  <nanbor@cs.wustl.edu>

        * ace/Parse_Node.cpp: Strings duplicated using ACE::strnew() must
          be deleted using delete[] instead of delete.  Thanks to
          Christopher Kohlhoff <chris@kohlhoff.com> for catching this.

Thu Jan 27 09:11:52 2000  Steve Huston  <shuston@riverace.com>

        * ace/Message_Block.h: Tried to clarify the comments regarding the
          handling of the data block pointer in the <ACE_Data_Block>
          manipulating functions. Thanks to Defang Zhou <dzhou@zoo.uvm.edu>
          for pointing out the lack of documentation regarding this.

        * THANKS: Added Defang Zhou to the Hall of Fame.

Thu Jan 27 00:15:08 2000  Irfan Pyarali  <irfan@cs.wustl.edu>

        * ace/ACE.cpp (recv_n and send_n): There was a bug in these
          methods introduced by the double while loops and the use of a
          single break ;-) Changed break to a return.  Thanks to the
          HPUX_aCC auto compile build for leading me to this bug!

Wed Jan 26 21:49:16 2000 James Hu <jxh@entera.com>

        * ace/Message_Block.*:
          Added new methods mark(), capacity(), and ::total_capacity().
          mark() points at base_ + cur_size_, capacity_ returns
          max_size_, and total_capacity_ sums all capcity()'s for all
          MBs in the continuation.  Changed space() to return
          mark() - wr_ptr().

Wed Jan 26 21:03:43 2000  Darrell Brunsch <brunsch@uci.edu>

        * ace/High_Res_Timer.cpp: Thanks to Adamo, Vince <adamo@vignette.com>
          who noticed that global_scale_factor_ wasn't being set on ACE_WIN32
          when QueryPerformanceFrequency () worked.  Now the code sets it
          to one when that happens.

Wed Jan 26 17:04:24 2000  Steve Huston  <shuston@riverace.com>

        * ace/Proactor.h: Changed some comments to work better with the
          HTML man page generator.

Tue Jan 25 16:23:52 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * examples/Shared_Malloc/test_position_independent_malloc.cpp: Updated
          this example to use the ACE_Malloc_T<> template with the
          ACE_PI_Control_Block so that we get true "position-independent"
          malloc behavior.  Thanks to Rick Ohnemus
          <rjohnemus@systemware-inc.com> for reporting this.

Tue Jan 25 14:05:42 2000  Irfan Pyarali  <irfan@cs.wustl.edu>

        * ace/Connector.cpp (connect_i): In addition to checking <sh_copy>
          for a zero value, <*sh_copy> should also be checked for a zero
          value.

Mon Jan 24 12:09:14 2000  Irfan Pyarali  <irfan@cs.wustl.edu>

        * ace/Connector.cpp (connect_i):
        * ace/Strategies_T.cpp (ACE_Cached_Connect_Strategy::connect_svc_handler):

          Cannot use <sh> after the connector lock has been released since
          other threads now have access to <sh> and can reset it.  We must
          use <sh_copy> instead (even when activating the newly connected
          svc_handler).  This should help with TAO/tests/MT_Client
          crashes.

Sun Jan 23 14:08:12 2000  Ossama Othman  <ossama@uci.edu>

        * ace/OS.h (setgid):

          Added prototype for ACE_OS::setgid() method.

        * ace/OS.i (setgid):

          Added wrapper for setgid() system call.

          (getgid):

          Removed duplicate getgid() wrapper, and fixed it so that it
          returns with ENOTSUP on Win32 platforms, just like the getuid()
          wrapper.

Sat Jan 22 21:10:49 2000  Ossama Othman  <ossama@uci.edu>

        * configure.in:

          Moved check for old GNU C++ to m4/compilers.m4.

        * m4/acinclude.m4 (ACE_CONVERT_WARNINGS_TO_ERRORS):

          This macro depends on the compiler settings performed by the
          ACE_SET_COMPILER_FLAGS macro, so added an
          AC_REQUIRE([ACE_SET_COMPILER_FLAGS]).

        * m4/compiler.m4 (ACE_SET_COMPILER_FLAGS):

          Moved check for old GNU C++ from configure.in to here.

Sat Jan 22 15:27:39 2000  Douglas C. Schmidt  <schmidt@danzon.cs.wustl.edu>

        * ace/Svc_Conf_l.cpp: Updated this file to use the new
          "warning-free" generated file.

        * etc/Svc_Conf_l.cpp.diff: Commented out a YY_BREAK macro that was
          causing an "unreached statement" warning on some C++ compilers.
          Thanks to David Levine for reporting this.

        * tests/Thread_Pool_Test.cpp: In the method
          test_empty_message_shutdown() we don't need to allocate a new
          message block when sending a "null" message.  This removes
          another memory leak.  Thanks to David Levine for reporting this.

Sat Jan 21 12:30:33 2000  Ossama Othman  <ossama@uci.edu>

        * ace/ACE.cpp:
        * ace/Service_Config.cpp:
        * ace/Template_Instantiations.cpp:

          Moved ACE_LOCAL_MEMORY_POOL/ACE_Null_Mutex related template
          instantions to ACE.cpp.  This fixes a single threaded build
          problem.

Thu Jan 20 09:15:50 2000  Ossama Othman  <ossama@uci.edu>

        * bin/bootstrap:

          Create NEWS file before automake is run.  Automake complains
          about missing NEWS file.

Thu Jan 20 09:03:37 2000  Ossama Othman  <ossama@uci.edu>

        * NEWS:

          This file is currently generated during the autoconf support
          bootstrapping process.  As such, it shouldn't be placed under
          version control.  Removed this file from the repository.

        * configure.in:

          Added thread related preprocessor flags to CPPFLAGS prior to
          running the tests that check for the pthread_cancel() strtok_r()
          prototypes in case such flags are needed on some platforms.

          If the configure script determines that no usable thread library
          was found it then removes any thread related preprocessor flags
          from the CPPFLAGS preprocessor flags variable.

        * ace/README:

          Added description of ACE_HAS_ALT_CUSERID.

        * m4/threads.m4 (ACE_CHECK_THREADS):

          Remove any definitions of _REENTRANT and _THREAD_SAFE from the
          preprocessor flags prior to checking if the compiler defines
          either one, and prior to searching for compiler thread flags by
          using the sed stream editor.  This is done instead of using the
          "-U" preproccesor flag since using that flag may undefine the
          same preprocessor macros potentially defined by the thread flag
          being tested.

          Added "kthread" to the list of thread flags to be searched.
          FreeBSD uses "-kthread" to enable support for kernel threads.

          (ACE_CHECK_THREAD_FLAGS):

          Relaxed criteria used to determine if compiler provides thread
          support by removing requirement that either _REENTRANT or
          _THREAD_SAFE should be defined.

          (ACE_CHECK_THREAD_CPPFLAGS):

          Added this test.  It checks if the compiler defines thread
          related preprocessor flags, such as _REENTRANT and
          _THREAD_SAFE.  The test is a compile-time test that is performed
          after the thread flag search test so that the thread flag (if
          any) is used during this test in case it defines any
          preprocessor flags.

Wed Jan 19 23:21:07 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tests/Thread_Pool_Test.cpp (test_queue_deactivation_shutdown): Make
          sure to release the message block once we've decided to shutdown
          the message queue to avoid a memory leak.  Thanks to David
          Levine for reporting this.

Tue Jan 19 13:33:08 2000  Joe Hoffert  <joeh@cs.wustl.edu>

        * ace/ATM_Addr.cpp, ATM_QoS.cpp:
          Fixing format characters for ACE_Log_Msg::log() method.

Tue Jan 18 20:56:58 2000  Ossama Othman  <ossama@uci.edu>

        * THANKS:

          Added Daniel Lang <dl@leo.org> to the list of contributors.

        * acconfig.h (ACE_HAS_ALT_CUSERID):

          Added this ACE macro to the list of macros.

        * configure.in:

          Thanks to Daniel Lang <dl@leo.org> for motivating the following
          ACE+autoconf related FreeBSD 3.4 fixes.

          (ACE_LACKS_SEMBUF_T):

          Improved the test for this macro by including <sys/types.h> and
          <sys/ipc.h> prior to <sys/sem.h>.   It incorrectly failed on
          FreeBSD.  Presumably this change should correct the problem.

          (ACE_HAS_ALT_CUSERID):

          Added test for this macro.  It should get defined for platforms
          that lack support for or have deprecated support for the
          cuserid() function, and have POSIX password file functions.

          (ACE_LACKS_PWD_FUNCTIONS):

          Added getpwuid() to list of functions necessary for
          ACE_LACKS_PWD_FUNCTIONS to *not* be defined.

          (ACE_LACKS_PTHREAD_CANCEL):

          Added check for the pthread_cancel() prototype.  If it doesn't
          exist then don't use pthread_cancel(), i.e. define
          ACE_LACKS_PTHREAD_CANCEL.  It it probably a bad idea to create a
          prototype for pthread_cancel in ACE, so just don't use
          pthread_cancel().  FreeBSD 3.4 appears to have the
          pthread_cancel() function but no prototype for it.

        * ace/OS.i (cuserid):

          Changed Linux implementation so that it can be used for other
          platforms by simply defining ACE_HAS_ALT_CUSERID.

          Added preprocessor error if ACE_HAS_ALT_CUSERID and
          ACE_LACKS_PWD_FUNCTIONS are both defined.  ACE's alternate
          cuserid() implementation requires that password file related
          functions exist.

        * ace/config-linux-common.h:

          Define ACE_HAS_ALT_CUSERID on glibc 2.1.x since the use of the
          system cuserid() is discouraged.

        * m4/acinclude.m4:

          Cosmetic updates.

Tue Jan 18 22:53:18 2000  Toshio HORI <toshi@etl.go.jp>

        * include/makeinclude/platform_vxworks_5.x_g++.GNU:
          added support for compiling ACE for VxWorks/SPARC target.

Tue Jan 18 15:55:54 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * netsvcs/ACE-netsvcs.html: Fixed a typo.  Thanks to
          Brian Jones <bjones@edgemail.com> for reporting this.

        * ACE-INSTALL.html: Updated the text from
          Dr. Toshio HORI <toshi@etl.go.jp>.

Tue Jan 18 15:37:25 2000  Joe Hoffert  <joeh@cs.wustl.edu>

        * ace/ATM_Connector.{cpp,h,i}, ATM_QoS.{cpp,h}, ATM_Stream.{cpp,i}:
          Adding changes to support FORE's latest WinSock2 ATM support.

Tue Jan 18 13:44:34 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tests/Thread_Pool_Test.cpp: Replaced int with size_t to
          prevent compiler warnings comparing signed and unsigned
          quantities.

Tue Jan 18 09:13:43 2000  David L. Levine  <levine@cs.wustl.edu>

        * ACE-INSTALL.html: ACE works just fine on RedHat 5.1 and
          later, not just 5.1 through 6.1.  Thanks to Raj Narayanaswamy
          <rnarayanaswamy@hologic.com> for asking about this.

Mon Jan 17 18:03:17 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace/Process_Manager.cpp: Under WIN32, the ACE_Process_Manager
          registered itself as an event handler with ACE_Reactor, but did
          not properly unregister itself when it closed.  For error to be
          noticed, you must instantiate ACE_Process_Manager with an
          ACE_Reactor.  ACE_Process_Manager should *not* be run as a
          singleton.  It must be instantiated such that it will be
          destroyed *before* the ACE_Reactor is destroyed.

          When you call ACE_Process_Manager::spawn, the newly created
          process is added to the ACE_Process_Manager's process table and
          (under WIN32) the ACE_Process_Manager is registered as an event
          handler for the new process (ace/Process_Manager.cpp, line 523)
          using this call:

          r->register_handler (this, proc->gethandle ());

          This will happen for every process spawned. Thus,
          ACE_Process_Manager will potentially be associated with more
          than one WIN32 process handle.

          When the ACE_Process_Manager was destroyed, the dtor calls
          ACE_Process_Manager::close which (for WIN32) attempts to remove
          ACE_Process_Manager as an Event_Handler from the ACE_Reactor
          using the following code (ace/Process_Manager.cpp, line 256)

          this->reactor ()->remove_handler (this, 0);

          This version of ACE_Reactor::remove_handler is:

          int ACE_Reactor::remove_handler
          (
                ACE_Event_Handler *event_handler,
                ACE_Reactor_Mask mask
          );

          It calls event_handler->get_handle() to obtain the handle to
          which 'event_handler' is associated.  The problem is that
          ACE_Process_Manager::get_handle returns ACE_INVALID_HANDLE, so
          the ACE_Reactor never properly unregistered the
          ACE_Process_Manager. This is now fixed and should work correctly
          on Win32 and other platforms.

          Thanks to Greg Gallant <gcg@intercap.com> for tracking all this
          down and providing the fix.

        * ace/Process_Manager.cpp (open): Wrapped the setpgid() call with a
          #if !defined (ACE_LACKS_SETPGID) to remove spurious run-time
          warnings on platforms that don't support setpgid().  Thanks to
          Craig Perras <cperras@watchguard.com> for reporting this.

        * ace/NT_Service: Reformatted this head to conform to the ACE
          programming guidelines.  Also, replaced

          #if defined (ACE_HAS_WINNT4) && ACE_HAS_WINNT4 != 0)

          with

          #if defined (ACE_WIN32)

          This change allows a single dll to be built that supports both
          NT and Win9x.  The app can use GetVersionEx() to check whether
          the platform is NT or not dynamically, or it can just call the
          various service functions, which will return a function not
          supported error.  Thanks to Craig Perras
          <cperras@watchguard.com> for reporting this.

        * tests/Thread_Pool_Test.cpp: Enhanced this test to illustrate how
          to shut down Tasks using either the "empty message" strategy or
          the "queue deactivation" strategy.

        * ace/Message_Queue.h: Updated the documentation of the enqueue*()
          and dequeue*() methods to clarify which errno values are set
          when the calls return -1.

        * examples/Threads/thread_pool.cpp: Updated this example to
          remove the use of the now-defunct "wait_for_threads_to_shutdown"
          feature of ACE_Task.

        * ace/Task_T: Removed the recent feature added on

          Sat Jan  8 09:44:51 2000  Douglas C. Schmidt
          <schmidt@tango.cs.wustl.edu>

          that allowed to an ACE_Task's destructor to wait for threads in
          a task to exit.  It turns out this is practically impossible to
          use correctly because of the way that destructors are destroyed
          from the "top down".  However, it's trivial to get the same
          behavior by simply calling the Tasks's wait() method whenever
          you want to implement barrier synchronization on a Task's thread
          exits.

        * tests/Thread_Pool_Test.cpp: Updated this test to illustrate
          various strategies to wait for threads to exit.  Thanks to Mark
          C. Barnes <marcus@muse3d.com> for motivating this example.

Mon Jan 17 14:20:17 2000  Nanbor Wang  <nanbor@cs.wustl.edu>

        * ace/OS.h:
        * ace/OS.i: Changed the signature of isatty to (int) and added a
          (ACE_HANDLE) version for Win32.

        * ace/Makefile:
        * ace/Svc_Conf_l.cpp: Removed the explicit casting of fileno()
          from int to ACE_HANDLE.

        * ace/config-WinCE.h: Added ACE_LACKS_ISATTY.

        * ace/OS.i (isatty): Removed WinCE specific section.

Mon Jan 17 00:53:37 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace/OS.h: Added a cast to (long) for ACE_THR_PRI_FIFO_MIN,
          ACE_THR_PRI_FIFO_MAX ACE_THR_PRI_RR_MIN, ACE_THR_PRI_RR_MAX,
          ACE_THR_PRI_OTHER_MIN, ACE_THR_PRI_OTHER_MAX since these are all
          used as priority values, which is defined as a long.  This
          should solve a problem with the ACE_MAX()/ACE_MIN() templates on
          Linux with G++.  Thanks to Bala for reporting this problem.

        * netsvcs/lib/Logging_Strategy: Added a new '-w' option that
          instructs the logging strategy to "wipeout", rather than append
          to, an existing logfile.  Thanks to David X. Callaway
          <david.x.callaway@intel.com> for reporting this.

Sun Jan 16 21:32:18 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace/OS.h: Moved the #defines for ACE_MIN and ACE_MAX into the
          new $ACE_ROOT/Min_Max.h file, along with their template function
          definitions.

        * ace: Added a new file called Min_Max.h that uses templates, rather
          than macros, to implement the ACE_MIN and ACE_MAX macros.  This
          is a "Good Thing" because the use of macros has undesirable
          side-effects due to the "call-by-name" semantics of macro
          paramter expansion...  If for some reason your compiler can't
          handle this, please #define ACE_LACKS_MIN_MAX_TEMPLATES in your
          config.h file.  Thanks to Derek Dominish
          <Derek.Dominish@Australia.Boeing.com> for contributing this.

Sun Jan 16 16:43:10 2000  Ossama Othman  <ossama@uci.edu>

        * ace/config.h.in:

          Removed this file from the repository.  It is automatically
          generated when autoconf support is bootstrapped into a
          workspace.

Sun Jan 16 16:13:00 2000  Ossama Othman  <ossama@uci.edu>

        * acconfig.h:
        * configure.in:

          Added support/tests for:

            ACE_LACKS_SETREGID
            ACE_LACKS_SETREUID
            ACE_LACKS_SETREGID_PROTO
            ACE_LACKS_SETREUID_PROTO

        * ace/ACE.cpp:
        * ace/Configuration.cpp:

          Moved template instantiations related to ACE_LOCAL_MEMORY_POOL
          to ACE.cpp, and fixed them so that they work in the single
          threaded case.  The idea is to place this set of template
          instantiations in a "common" area, since TAO also needs these
          templates instantations.

Sun Jan 16 10:49:26 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace/Makefile (Svc_Conf_l.cpp): Fixed the "isatty()" sed hack to
          use fileno and then add a cast to (ACE_HANDLE) since this is
          what the ACE_OS::isatty() wrapper expects Thanks to Nanbor and
          Bala for reporting this.

        * etc/Svc_Conf_l.cpp.diff: Added a #define for ACE_YY_NO_UNPUT
          to supress an unnecessary warning.

        * tests/ARGV_Test.cpp (main): Fixed several warnings.

        * ace/Process.i: Rearranged the order of the process_name() methods
          so they are defined before being used/inlined.

Sat Jan 15 19:59:00 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace: Reran flex on Svc_Conf.y to generate the Svc_Conf_l.cpp file
          with Darrell's fixes.

Sat Jan 15 15:49:28 2000  Darrell Brunsch <brunsch@uci.edu>

        * ace/config-win32-common.h:
          Readded the ACE_LACKS_FCNTL macro, since it seems to have been
          missed in the latest changes to the config-win32 files.

        * ace/Makefile:
          With Doug's help, added a couple of new commands to the generation
          of the Svc_Conf_l.cpp, because the generated files were causing
          a warning on NT.

Sat Jan 15 00:41:12 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace/ARGV: Added a new add() method that adds an entire argv
          array in one fell swoop.

        * netsvcs/clients/Naming/Client/main.cpp (main): Replaced
          the ad hoc use of argc/argv processing with the ACE_ARGV
          approach.

        * examples/Service_Configurator/Misc/main.cpp (main): Replaced
          the ad hoc use of argc/argv processing with the ACE_ARGV
          approach.  Note that this required the enhancement shown in the
          following bullet.

        * ace/Svc_Conf.l: Updated the Service Configurator lexer so that
          it will also accept strings that are delimited by single quotes,
          as well as double quotes.  This helps to simplify the use of
          ACE_ARGV to create svc.conf entries "on-the-fly".

        * tests: Added a new test ARGV_Test.cpp that  illustrates how to
          use advanced features of <ACE_ARGV>.  Thanks to Suresh Kannan
          <kannan@uav.ae.gatech.edu> for contributing this.

        * ace/config-win32-common.h: Added

          #define ACE_LACKS_SETREGID
          #define ACE_LACKS_SETREUID

          Thanks to Christopher Kohlhoff <chris@kohlhoff.com> for
          reporting this.

        * ace/Task.h: Added a comment to the suspend() and resume() methods
          encouraging developers not to use these methods unless
          absolutely necessary.  Thanks to Mark C. Barnes <marcus@muse3d.com>
          for motivating this.

        * ace: Reorganized the config-win32*.h files
          to insulate the different compiler configurations from each
          other.  The changes are as follows:

          * Concatenated config-win32.h and config-win32-common.h to form
            the new config-win32-common.h.

          * Moved MSVC-specific language defines from config-win32-common.h
            into config-win32-msvc.h

          * Updated the other compilers' files to add required language
            defines originally in config-win32-common.h.

          Thanks to Christopher Kohlhoff <chris@kohlhoff.com> for
          contributing this.

Fri Jan 14 15:42:28 2000  Irfan Pyarali  <irfan@cs.wustl.edu>

        * ace/Select_Reactor_T.cpp (work_pending): Made the code more
          general such that any thread can call it, i.e., it is not
          limited to the owner thread.  This change alleviated the need
          for the specialization in TP_Reactor.

Fri Jan 14 01:48:26 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace/Process: Moved the command_line_argv() from the
          non-Win32 part of the ACE_Process class to the generic
          part since it shouldn't depend on the platform.  Thanks
          to Michael Kircher for reporting this.

        * ace/Process: Consider a process that spawns a number of
          processes using a same executable name but with different
          arguments <say svc.conf file..>. Depending on the arguments,
          each process does different things.  Currently
          <ACE_Process::spawn> calls <execvp> with argv[0] as the
          exeutable name. Therefore, if you do a <ps> command now, all
          these processes will look the same, since they are all launched
          with the same command.

          But for <execvp> call, you could actually give a different
          executable name and a different argv[0]. This helps us to have
          the name for a process to be different from the executable
          name. In this case, <ps> command will show the processes with
          different argv[0] names.

          Therefore, we added a method called <process_name> to
          ACE_Process_Options to specify the executable name.  If you do
          not call <process_name> method, argv[0] is taken as the
          executable name.  Thanks to Alex Arulanthu <alex@sylantro.com>
          for these enhancements.

Thu Jan 13 20:11:55 2000  Irfan Pyarali  <irfan@cs.wustl.edu>

        * ace/TP_Reactor.cpp (work_pending): This version is similar to
          the select reactor except there is no owner check.

        * ace/Select_Reactor_T.cpp (work_pending): The handle set must be
          copied before calling select().

Thu Jan 13 16:06:19 2000  Balachandran Natarajan  <bala@cs.wustl.edu>

        * bin/auto_compile:
        * bin/run_all.pl:
        * bin/run_all_list.pm: Added an AMI test case for testing in the
          nightly builds.

Wed Jan 12 23:46:36 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace/Service_Config.h: Updated the
          ACE_Service_Config::close_singletons() method documentation to
          reflect the fact that it no longer deletes the Allocator, which
          is deleted by the ACE_Object_Manager now.  Thanks to Craig
          Perras <cperras@watchguard.com> for reporting this.

Wed Jan 12 09:49:57 2000  David L. Levine  <levine@cs.wustl.edu>

        * bin/make_release: don't create diffs if not installing
          the kit.

Wed Jan 12 07:22:42 2000  David L. Levine  <levine@cs.wustl.edu>

        * Makefile (CONTROLLED_FILES): removed
          man/man3/Makefile.am and man/html/Makefile.am.  There
          addition in
          Tue Jan  4 12:58:54 2000  Ossama Othman  <othman@cs.wustl.edu>
          caused creation of .zip files to break.  zip doesn't like
          multiple occurrences of a file, apparently. [Bug 408]

Tue Jan 11 21:59:34 2000  David L. Levine  <levine@cs.wustl.edu>

        * bin/make_release (create_kit): disable creation of
          md5 files, because it didn't work:  just empty files
          were created.  I think that it was looking in the wrong
          directory.

Tue Jan 11 21:26:14 2000  David L. Levine  <levine@cs.wustl.edu>

        * bin/make_release (check_workspace): removed the bootstrap
          invocation.  That is done in create_kit (), and should only
          be done once.  (create_kit): set umask to 2, so that the
          kits will have group write permission.

Tue Jan 11 17:39:10 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace/Service_Config.h: Updated the ACE_Service_Config::close()
          method documentation to reflect the fact that it no longer
          closes the singletons (these are closed by the
          ACE_Object_Manager now).  Thanks to Craig Perras
          <cperras@watchguard.com> for reporting this.

Tue Jan 11 17:22:21 2000  bala  <bala@cs.wustl.edu>

        * ACE version 5.0.12 released.

Mon Jan 10 12:50:10 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace/Select_Reactor_T.h (class ACE_Select_Reactor_T): Reformatted the
          documentation a bit...

Mon Jan 10 15:37:22 2000  Irfan Pyarali  <irfan@cs.wustl.edu>

        * ace/Pair_T: Added const accessors to the pair class.  Also,
          changed the Reference_Pair accessors to be const.  Thanks to
          Serge Kolgan <skolgan@cisco.com> for reporting this.

Sun Jan  9 00:25:58 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace/Process.i (setreugid): Added an ACE_UNUSED_ARG for the
          ACE_LACKS_PWD_FUNCTIONS case.  Thanks to David for catching
          this!

        * ace/Process.i (setreugid): Guard against the case where
          ACE_LACKS_PWD_FUNCTIONS.  Thanks to David Levine for
          reporting this problem with VxWorks.

        * ace/Pair_T.h: Reformatted to conform to the ACE style.

Sat Jan  8 09:44:51 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * examples/Threads/thread_pool.cpp: Revised the example to
          illustrate the new "wait_for_threads_in_destructor" feature of
          ACE_Task.

        * examples/Threads/task_four.cpp: Reformatted the code.

        * ace/Task_T: Added a new flag to the constructor that enables
          applications to request that an ACE_Task will wait in its
          destructor for any and all threads in the task to exit before
          returning.  Thanks to Valery Arkhangorodsky
          <valerya@servicesoft.com> for suggesting this.

        * ace/OS.i: Needed to add an extern "C" {} block around the
          setregid() and setreuid() functions.  Thanks to David Levine
          for reporting this.

Fri Jan  7 20:01:48 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace/OS.i,
          ace/config-sunos5.5.h: Some platforms seem to lack function
          prototypes for setreuid() and setregid(), even though they are
          in the library.  Therefore, I've added

          #define ACE_LACKS_SETREGID_PROTOTYPE

          and

          #define ACE_LACKS_SETREUID_PROTOTYPE

          macros to handle this case.

        * ace/Process: Added support to allow UNIX applications to
          automagically set the real and effective user/group ids when
          ACE_Process::spawn() is called.  Thanks to Craig Perras
          <cperras@watchguard.com> for contributing this.

        * ace: Updated the following files to include

          #define ACE_LACKS_SETREGID
          #define ACE_LACKS_SETREUID

          config-chorus.h
          config-cray.h:168
          config-cygwin32-common.h
          config-freebsd-pthread.h
          config-freebsd.h:33
          config-hpux-9.x.h
          config-lynxos.h
          config-netbsd.h
          config-sunos4-g++.h
          config-sunos4-sun4.1.4.h
          config-win32-common.h

          Ideally, Ossama's autoconf stuff will auto-detect anything that
          I'm missing.

        * ace/OS: Added wrapper facade methods for setregid() and
          setregid().

Fri Jan  7 16:05:32 2000  Ossama Othman  <ossama@uci.edu>

        * configure.in:

          Only define ACE_HAS_XT if both the Xt headers and libraries are
          available.  Previously, the existence of the Xt libraries was
          not part of the XtReactor enable criterion.

        * m4/compiler.m4 (ACE_SET_COMPILER_FLAGS):

          Added C++ preprocessor flag documentation and trivial support.

          Many AIX related compiler flag updates.

        * m4/platform.m4 (ACE_SET_PLATFORM_MACROS):

          Moved/consolidated platform-specific settings from configure.in
          to here.

          Improved AIX support (updates, fixes, etc).

Fri Jan  7 10:48:55 2000  Nanbor Wang  <nanbor@cs.wustl.edu>

        * bin/run_all_list.pm: Added missing commas.

Thu Jan 06 22:26:42 2000  Irfan Pyarali  <irfan@cs.wustl.edu>

        * ace/OS.i (fcntl): There was a special fcntl() for Win32.
          Removed that special version and added ACE_LACKS_FCNTL to
          config-win32-common.h.

        * ace/ACE.cpp: Removed the non-"_n" versions of send/recv
          functions that deal with message blocks.  Since we deal with
          continuation chains and linked messages, we are essentially
          dealing with "_n" style functions.  Also, improved the error
          handling in case of timeouts.

        * ace/Strategies_T.cpp
          (ACE_Cached_Connect_Strategy::connect_svc_handler): If an error
          occurs while activating the handler, the <activate_svc_handler>
          method will close the handler.  We must set the handler to zero
          to make sure that the higher layer doesn't try to close the
          handler again!

Thu Jan  6 15:00:56 2000  Ossama Othman  <othman@cs.wustl.edu>

        * aclocal.m4:
        * configure:
        * All Makefile.in:

          Removed these files.  They are automatically generated, so they
          should not be in the repository.  Thanks to David for pointing
          out that my ACE+autoconf updates caused CVS conflicts when
          updating existing workspaces.

Wed Jan  5 10:09:35 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace/Dirent.h: Added an ACE_Export on the ACE_Dirent class.  I'm
          surprised this hasn't been a problem before...  Thanks to
          Dominic Williams <dom@connected-place.co.uk> for indirectly
          motivating this change.

        * ace/SString.h: Updated the documentation for the various string
          wrapper facades to clarify that they don't perform any locking.
          Thanks to Jerry Jiang <javalist@21cn.com> for motivating this.

Wed Jan 05 09:53:04 2000  David L. Levine  <levine@cs.wustl.edu>

        * ace/SOCK_Stream.[hi] (sendv_n): added const to iov[]
          argument declaration.  Thanks to Rob Ruff <rruff@scires.com>
          for reporting that TAO's AV service failed to compile
          with Sun CC 5.0 because of this.

Tue Jan  4 15:06:41 2000  Ossama Othman  <othman@cs.wustl.edu>

        * configure.in:

          Added note that asks user to use stock ACE build procedure
          detailed in ACE-INSTALL.html in the event that the configure
          script fails.

Tue Jan  4 14:40:17 2000  Ossama Othman  <othman@cs.wustl.edu>

        * ace/OS.h:

          AIX defines "off64_t" as its 64 bit offset type.  Typedef
          ACE_LOFF_T as that type if ACE_HAS_LLSEEK or ACE_HAS_LSEEK64 is
          defined.  This should correct a problem that occurred during an
          AIX configure script run.  Thanks to Mike Winter for pointing
          this out.

Tue Jan  4 14:09:51 2000  Ossama Othman  <othman@cs.wustl.edu>

        * configure.in:

          Fixed test that checks if sched.h is needed for thread
          scheduling definitions.  This should correct problems discovered
          on RedHat 6.1 installations.  Thanks to

          Improved sys_nerr and sys_errlist[] tests by checking for
          external global variables in libraries.  This should correct a
          problem discovered in an AIX configure script run.  Thanks to
          Mike Winter for providing feedback.

Tue Jan  4 13:23:26 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace/Service_Config: Updated the documentation for the various
          open() methods and the constructors.  Thanks to Christopher
          Kohlhoff <chris@kohlhoff.com> for reporting this.

Tue Jan  4 12:58:54 2000  Ossama Othman  <othman@cs.wustl.edu>

        * Makefile (CONTROLLED_FILES):

          man/man3/Makefile.am and man/html/Makefile.am previously weren't
          being labelled.  Thanks to David for pointing this out.

Mon Jan  3 21:01:53 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * examples/Service_Configurator/IPC-tests: Updated the
          README file so it'll point to the right documentation!  Thanks
          to John Buttitto for reporting this.

Tue Jan 04 07:26:24 2000  David L. Levine  <levine@cs.wustl.edu>

        * ACE version 5.0.11 released.

Mon Jan 03 07:34:38 2000  David L. Levine  <levine@cs.wustl.edu>

        * ace/OS.i (gmtime_r): return res instead of *res, because
          the function returns a struct tm *, not a struct tm.

Sun Jan  2 11:02:54 2000  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * ace/OS.i (gmtime_r): We should return *res rather than
          *result to make the behavior correct for Win32.  Thanks to
          J. Afshar <jafshar@vignette.com> for reporting this.

Sun Jan 02 00:50:00 2000  Chris Gill  <cdgill@cs.wustl.edu>

        * ace/OS.{cpp, h, i}
          ace/Signal.cpp
          ace/Synch.cpp
          ace/config-psos-diab-ppc.h: Added support for native mutexs,
          condition variables, and thread-specific storage in pSOS.  Native
          pSOS mutexes, where available, support several cool features,
          including lock recursion and priority inheritance protocol and
          priority ceiling protocol support.

Sat Jan 01 09:16:39 2000  David L. Levine  <levine@cs.wustl.edu>

        * ChangeLog,Makefile: moved to ChangeLog-99b.