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
|
Wed Jan 27 13:04:55 1999 David L. Levine <levine@cs.wustl.edu>
* ACE version 4.6.17 released.
Wed Jan 27 12:32:22 1999 David L. Levine <levine@cs.wustl.edu>
* ACE-INSTALL.html include/makeinclude/platform_vxworks5.x_g++.GNU:
default PERL_PATH to "perl", and added notes to set it to the full
perl path if perl is not on your path.
Wed Jan 27 10:16:06 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
* docs/ACE-guidelines.html:
Added an entry for the creation of files containing template
code.
Tue Jan 26 20:44:36 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/SOCK_IO.cpp (send,recv): Changed to use sendv/recvv to
handle variable arguments send/recv.
* ACE-INSTALL.html: Fixed the dead link to CE-status. Thanks to
Mike Preradovic <michael_preradovic@epicdata.com> for reporting
this.
Tue Jan 26 14:38:11 1999 David L. Levine <levine@cs.wustl.edu>
* include/makeinclude/platform_vxworks5.x_g++.GNU: expanded
the information on the PERL_PATH environment variable for
NT hosts. Thanks to Peter Weat <weatp@syntron.com> for
reporting this.
Tue Jan 26 13:40:51 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/High_Res_Timer.cpp (elapsed_time_incr): Rearranged the
formula to avoid compilation errors for platforms without
ULONGLONG. Thanks to David for the tip.
Tue Jan 26 12:01:19 1999 Jeff Parsons <parsons@cs.wustl.edu>
* ACE_wrappers/tests/CDR_Test.dsp:
* ACE_wrappers/tests/CDR_Test.cpp:
Added lines to the test code to send the output to
the log file, and deleted the unnecessary Header
Files folder in the project.
* ace/CDR.{i,cpp}:
Relocated the longdouble comparison operators'
definitions, and moved a misplaced '}', which
were causing build errors.
Tue Jan 26 10:55:02 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Active_Map_Manager.h:
The _T.h file has to be included *after* the inclusion of the .i
file, otherwise the template may not see the inline functions;
the problem only showed up on IRIX.
Mon Jan 25 22:11:36 1999 Jeff Parsons <parsons@cs.wustl.edu>
* ACE_wrappers/tests/CDR_Test.dsp:
* ACE_wrappers/tests/tests.dsw:
* ACE_wrappers/tests/versions_tests/CDR_Test.dsp:
* ACE_wrappers/tests/versions_tests/version_tests.dsw:
* ACE_wrappers/tests/run_tests.sh:
* ACE_wrappers/tests/run_tests.psosim:
* ACE_wrappers/tests/run_tests.bat:
* ACE_wrappers/tests/run_tests.vxworks:
Fixed the project files (they had incorrrect project
settings, I think) and updated the workspace files.
Also, on a tip from Nanbor, added CDR_Test to the
various run_tests files.
Mon Jan 25 20:22:01 1999 Jeff Parsons <parsons@cs.wustl.edu>
* ace/CDR.{h,i,cpp}:
* ace/Basic_Types.h:
* ACE_Wrappers/tests/CDR_Test.cpp:
Better design of ACE CDR, compiles and runs on NT, g++
and CC.
Mon Jan 25 09:35:42 1999 Steve Huston <shuston@riverace.com>
* ace/ACE.cpp (handle_timed_complete): If connect times out, set
errno to ETIMEDOUT, not ETIME. Matches what will happen if a
simple blocking connect times out.
* ace/OS.i (ACE_OS::accept, ACE_OS::recv): (only non-Win32), if
call fails and errno is EAGAIN, change it to EWOULDBLOCK.
* tests/MT_SOCK_Test.cpp: Remove EAGAIN hacks; above changes fix
this for all programs.
Sun Jan 24 22:04:42 1999 David L. Levine <levine@cs.wustl.edu>
* docs/ACE-guidelines.html: added operator==/!= guideline.
Sun Jan 24 20:25:44 1999 Irfan Pyarali <irfan@cs.wustl.edu>
* ace: When a class provides operator==, it must also provide
operator!=. Also, both these operators should be const.
Fixed the above violations in:
ACE_TSS_Ref
ACE_Thread_ID
ACE_Registry::Binding
ACE_Registry::Name_Component
ACE_Active_Map_Manager_Key
* ace/Map_Manager: Renamed methods that may become identical if
INT_ID is the same as size_t. Thanks to Ossama for helping with
this.
Sun Jan 24 19:46:55 1999 Jeff Parsons <parsons@cs.wustl.edu>
* ace/CDR.{h,i,cpp}:
* ace/Basic_Types.h:
Made some fixes to make DEC cxx happy, but I'm going to
undo many of the typedefs and change the design. These
changes will hopefully lead to a clean build with cxx,
but the CDR classes are not yet in finished form.
Sun Jan 24 19:26:34 1999 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/SString.cpp (set): Fixed usage case of when the incoming
string is not zero but the length specified is zero.
* tests/SString_Test.cpp (main): Added zero sized strings and
single character strings to the test.
Sun Jan 24 19:09:45 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/config-win32-common.h
(ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR): VC apparently
does it right.
Sun Jan 24 17:22:02 1999 Ossama Othman <othman@cs.wustl.edu>
* ace/SString.cpp (substring): the variable "length" was misspelled
on one of the lines in the method.
Sun Jan 24 16:17:58 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/README:
* ace/OS.h:
* ace/config-g++-common.h:
* ace/config-osf1-4.0.h:
* ace/config-psos-diab.h:
* ace/config-psos-tm.h: Replace ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR
with ACE_HAS_WORKING_EXPLITCIT_TEMPLATE_DESTRUCTOR to reflect
the true problem. Thanks to Ossama for suggesting the name.
Sun Jan 24 16:20:17 1999 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/ACE-FMM:
Added an entry about the DONT_CALL flag to remove_handler().
* docs/tutorials/00[45789]:
* docs/tutorials/01[012]:
Many changes from Yamuna, Pradeep, Kirthika and Ossama. In all,
there were 62 files changed. Mostly the .html's due to
recombination and colorization.
Sun Jan 24 14:23:07 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/SString.cpp: The substring() method did not check for zero
length. Thanks to Mike Goldman for this fix.
Sun Jan 24 02:08:57 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
* websvcs/lib/URL_Addr.cpp:
* websvcs/lib/URL_Addr.h:
* websvcs/lib/URL_Addr.i:
* websvcs/tests/Test_URL_Addr.cpp:
Added support for mailto: URLs
Sat Jan 23 23:53:29 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
* websvcs/Makefile:
* websvcs/lib/Makefile:
* websvcs/lib/URL_Addr.h:
* websvcs/lib/URL_Addr.i:
* websvcs/lib/URL_Addr.cpp:
* websvcs/tests/Makefile:
* websvcs/tests/Test_URL_Addr.cpp:
Added a small library to keep basic Web related wrappers. The
first set is a small collection of URL address classes,
including HTTP and FTP representations.
Sat Jan 23 23:26:17 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/High_Res_Timer.{h,cpp} (elapsed_time_incr): Added a new
function to access the incremental timer in nanosecond.
Sat Jan 23 23:08:27 1999 Jeff Parsons <parsons@cs.wustl.edu>
* ace/CDR.{h,i,cpp}:
Caught numerous inline ordering errors and mistakes in
long double functions (not defined on NT) with g++.
Sat Jan 23 21:13:47 1999 Jeff Parsons <jp4@cs.wustl.edu>
* tests/tests.dsw:
* tests/CDR_Test.dsp:
* tests/Makefile:
* tests/CDR_Test.cpp:
New test in the suite for the new ACE CDR classes (see below).
* TAO/TAOACE.dsw:
* TAO/TAOACE_static.dsw:
* ace/Makefile:
* ace/CDR.{h,i,cpp}:
* ace/OS.h:
* ace/Basic_Types.h:
CDR stuff modified from TAO library. Typedefs, default
constants and macros added to OS.h and Basic_Types.h.
There is now complete CDR functionality in ACE, except
for the interpreter, and thus also no handling of Any
or TypeCode types.
Sat Jan 23 17:50:22 1999 Steve Huston <shuston@riverace.com>
* tests/MT_SOCK_Test.cpp: 1. Check for EAGAIN as well as EWOULDBLOCK
after an accept fail (this change will probably be removed at some
point when we figure out how to handle EAGAIN/EWOULDBLOCK).
2. Close the ACE_SOCK_Acceptor in the server before going into
the "reap children" loop so any half-connected clients will get
closed.
Sat Jan 23 17:25:48 1999 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* ace/Hash_Map_Manager_T.{h,cpp}: Reverted changes made since the
ACE_Hash_Map_Manager_Ex was getting used in shared memory and
hence could not have "virtual" methods.
Sat Jan 23 04:53:12 1999 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Active_Map_Manager: Added a new associative container (map
abstraction) that associates system generated keys with user
specified values. Since the key is system generated, searches
are very fast and take a constant amount of time. This map uses
a key that keeps information of the index and the generation
count of the slot it represents. Since the index information is
part of the key, lookups are super fast and predictable.
This performance of this map is truely awesome:
- inserts O(1) worse case
- lookups O(1) worse case
- deletes O(1) worse case
* ace/Map_Manager: Completely reworked the internals of the
Map_Manager. A number of problems were addressed:
(a) Finding an empty slot took O(n). New code takes O(1).
(b) Resizing was lame as it increased by ACE_DEFAULT_MAP_SIZE
everytime. The new scheme is cool since it grows
exponentially up to 64K and after that grow in chunks of
32K.
(c) Old scheme used a simple but inefficient <is_free_> flag.
The new scheme uses two doubly linked list to track used and
free slots. Note that this scheme still uses an array to
manage the search structure but manages the two linked list
on top of the array. Thanks to Carlos for this cool idea.
(d) current_sizewas broken. This is fixed in the new code.
(e) Inlined a bunch of small functions.
* tests/SString_Test.cpp: Added empty string test.
* ace/Containers_T.h (operator=): ACE_Array_Base must be fully
qualified: ACE_Array_Base<T>. Thanks to Susan Liebeskind
<shl@janis.gtri.gatech.edu> for pointing this out.
* tests/Map_Manager_Test.cpp (test_map_manager): Added
Active_Map_Manager to the test.
Fri Jan 22 21:27:14 1999 Kirthika Parameswaran <kirthika@cs.wustl.edu>
* ace/Hash_Map_Manager_T.h
(class ACE_Hash_Map_Entry): Modified the destructor to be
"virtual" so that it gets invoked on the destruction of its
derived class objects.
(class ACE_Hash_Map_Manager_Ex): Modified the destructor to be
"virtual" so that it gets invoked on the destruction of its
derived class objects.
Modified shared_find () to be "virtual" so that it can be
defined in its derived classes.
Declared a virtual method for creating new entries for the map
called create_entry ().
* ace/Hash_Map_Manager_T.cpp
(create_entry): Added this virtual method which creates a new
map entry. This is necessary to allow the map to contain various
types of map entries.
(bind_i):
(trybind_i):
(unbind_i):
Used create_entry () to obtain a new entry object.
* ace/Hash_Purgable_Map_Manager_T.{h,i,cpp}:
The ACE_Hash_Purgable_Map_Manager_Ex derives from
ACE_Hash_Map_Manager_Ex and provides the feature of purging
K entries from the map. The default purging algorithm is Least
Recently Used, which has been implemented using a virtual timer
that increments whenever an entry is looked up or used. Each
entry has a purge_tag which is the timestamp updated by the
timer value whenever it is referenced. The entry is an object of
ACE_Hash_Purgable_Map_Entry class which is derived from
ACE_Hash_Map_Entry.
(purge): This is the method which flushes K entries from the
map. Locks are held.
(purge_i): This method also flushes K entries but w.o. locks
being held.
(create_entry): Creates an ACE_Hash_Purgable_Map_Entry object.
(shared_find): This method is used to lookup and verify whether
an entry is present in the map. Also, the purge_tag of the entry
is updated with the current timer value.
* tests/Purgable_Map_Manager.cpp: Added this test which
illustrates the use of the Hash_Purgable_Map_Manager to maintain
a cache map. Also displays the change in the map size on
purging.
Fri Jan 22 16:10:35 1999 Steve Huston <shuston@riverace.com>
* ace/Select_Reactor_Base.cpp (ACE_Select_Reactor_Notify::handle_input)
EAGAIN is also a legit errno value (not only EWOULDBLOCK) for end
of data on pipe. Makes count of dispatches returned from
ACE_Select_Reactor's handle_events correct in the presence of
notifications.
* ace/OS.i (ACE_OS::sema_init): Always init s->name_ to 0, else it
might be non-zero (and junk) when deleted.
* ace/config-hpux11.h: Added an overrideable ACE_TIMER_SKEW of 10 msec.
Fri Jan 22 15:07:08 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Containers_T.cpp: Yikes, don't delete the fixed stack since
it wasn't allocated dynamically! Thanks to Mike Goldman
<whig@by.net> for this fix!
Fri Jan 22 13:08:00 1999 Chris Gill <cdgill@cs.wustl.edu>
* ace/ACE.{cpp, h}: added static methods ACE::gcd, which computes the
greatest common divisor of two u_longs using Euclid's algorithm, and
ACE::minimum_frame size, which computes the minimum enclosing frame
size for two u_longs.
Thu Jan 21 20:45:09 1999 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/006/client_acceptor.h
* docs/tutorials/006/client_handler.cpp
* docs/tutorials/006/client_handler.h
* docs/tutorials/006/page01.html
* docs/tutorials/006/page02.html
* docs/tutorials/006/page03.html
* docs/tutorials/006/page04.html
* docs/tutorials/006/page05.html
Integrated changes from Vishal and Kirthika
* docs/tutorials/008/combine.shar
* docs/tutorials/008/page02.html
* docs/tutorials/008/page03.html
* docs/tutorials/008/page04.html
* docs/tutorials/009/combine.shar
* docs/tutorials/009/directed_client.cpp
* docs/tutorials/009/page01.html
* docs/tutorials/009/page02.html
* docs/tutorials/009/page03.html
* docs/tutorials/009/page04.html
* docs/tutorials/009/page05.html
* docs/tutorials/009/server.cpp
Changes from Kirthika plus colorization.
Thu Jan 21 16:01:50 1999 James CE Johnson <jcej@lads.com>
* docs/tutorials/007/Makefile:
* docs/tutorials/007/combine.shar:
* docs/tutorials/007/page01.html:
* docs/tutorials/007/page02.html:
* docs/tutorials/007/page03.html:
* docs/tutorials/007/page04.html:
* docs/tutorials/007/page05.html:
* docs/tutorials/007/page06.html:
* docs/tutorials/007/page07.html:
* docs/tutorials/007/page08.html:
* docs/tutorials/007/page09.html:
* docs/tutorials/007/thread_pool.cpp:
* docs/tutorials/008/Makefile:
* docs/tutorials/008/combine.shar:
* docs/tutorials/008/directed_client.cpp:
* docs/tutorials/008/page01.html:
* docs/tutorials/008/page02.html:
* docs/tutorials/008/page03.html:
* docs/tutorials/008/page04.html:
* docs/tutorials/008/page05.html:
* docs/tutorials/008/server.cpp:
* docs/tutorials/009/Makefile:
Included Kirthika's abstract.
Colorized both tutorials & convereted to new format.
Thu Jan 21 14:25:58 1999 David L. Levine <levine@cs.wustl.edu>
* ace/SString.h: changed !ACE_HAS_WINCE wrap of ostream
operators to !ACE_LACKS_IOSTREAM_TOTALLY.
* ace/OS.i (getuid): added static cast of -1 to uid_t on
Chorus, to avoid compiler warning about change in sign.
* ace/OS.h: moved (protected) MAXHOSTNAMELEN #define from
pSOS and NT-only code to where its visible on all platforms.
When we removed the #include of rpc.h, we lost the
#define of MAXHOSTNAMELEN on Chorus.
Thu Jan 21 15:19:26 1999 James CE Johnson <jcej@lads.com>
* docs/tutorials/001/Makefile:
* docs/tutorials/001/page01.html:
* docs/tutorials/001/page02.html:
* docs/tutorials/001/page03.html:
* docs/tutorials/001/page04.html:
* docs/tutorials/001/page05.html:
* docs/tutorials/005/client_handler.cpp:
* docs/tutorials/005/page02.html:
* docs/tutorials/005/page03.html:
* docs/tutorials/005/page04.html:
* docs/tutorials/005/page05.html:
* docs/tutorials/005/page06.html:
* docs/tutorials/006/client_handler.cpp:
* docs/tutorials/006/page01.html:
* docs/tutorials/006/page02.html:
* docs/tutorials/006/page03.html:
* docs/tutorials/006/page04.html:
* docs/tutorials/006/page05.html:
Incorporated new comments from Vishal, Yamuna and Pradeep.
Thu Jan 21 13:05:31 1999 Steve Huston <shuston@riverace.com>
* docs/tutorials/Makefile: Removed include .depend to allow the
whole set of tutorials to be built from the top. Thanks to James
Johnson for guiding this fix.
Wed Jan 20 19:47:16 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.{h,i,cpp} (fopen): Reimplement fopen using Win32 APIs so
ACE_OS::unlink behaves the same as it does on UNIX platforms.
Both ACE_OS::open and ACE_OS::fopen have been corrected.
There's also a ACE::open_temp_file which should be the prefered
method to open temp files when ACE_HANDLE is used. That's
because Win32 tries to map the file opened by
ACE::open_temp_file to memory.
* ace/Parse_Node.cpp (symbol): <func> need to be initialized.
Thanks to David for reporting the bug.
Wed Jan 20 17:37:21 1999 Steve Huston <shuston@riverace.com>
* ace/Log_Msg.h: Added "do {} while (0)" as defs for ACE_HEX_DUMP,
ACE_ERROR, ACE_DEBUG when ACE_NLOGGING is defined. Having null defs
for these caused MSVC some problems. Thanks to Doug Schmidt for
giving (and explaining) the correct definitions.
Wed Jan 20 13:38:03 1999 David L. Levine <levine@cs.wustl.edu>
* ace/OS.i (readdir_r): added ACE_UNUSED_ARG (entry)
without ACE_HAS_REENTRANT_FUNCTIONS.
* docs/ACE-guidelines.html: added guideline for calling
ACE_OS::unlink () immediately after opening a temporary file.
* *.h: replaced () around #pragma implementation argument. Thanks
to Susan Liebeskind <susan.liebeskind@gtri.gatech.edu> and
Steve Huston for reporting and confirming that it's necessary
AIX.
Wed Jan 20 01:48:21 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Parse_Node.cpp (symbol): Remembered to pass down the
"gobbler" in a Static_Function_Node. Thanks to Eric C. Newton
<ecn@smart.net> for reporting and providing the fix.
Tue Jan 19 17:52:49 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/SString.h: Clarified the role of the <release> argument for
the <set> method. Thanks to Sudhanshu Garg
<sg2@ladybug.cec.wustl.edu> for suggesting this.
Tue Jan 19 16:15:26 1999 David L. Levine <levine@cs.wustl.edu>
* OS.i,README,config-cygwin32-common.h,config-linux-common.h,
config-psos-diab.h,config-psos-tm.h,config-psosim-g++.h,
config-sco-5.0.0-mit-pthread.h,config-sco-5.0.0.h,
config-tandem.h: removed removed include of rpc/rpc.h, and
ACE_LACKS_RPC_H. Thanks to Susan Liebeskind
<susan.liebeskind@gtri.gatech.edu> for initially suggesting this,
and to Russ Noseworthy for reporting another problem (on
SunOS 5.6 w/o threads) with it. ACE doesn't need it.
* bin/g++dep: removed /project/doc/pkg/gnu/bin from PATH so that
I can run make depend on Linux.
Tue Jan 19 12:14:09 1999 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* Makefile (CONTROLLED_FILES): Added ChangeLog-98b to the
CONTROLLED_FILES macro. Thanks to Susan Liebeskind
<susan.liebeskind@gtri.gatech.edu> for suggesting this.
Tue Jan 19 10:24:00 1999 Chris Gill <cdgill@cs.wustl.edu>
* apps/JAWS/PROTOTYPE/HTTPU/HTTPU.{dsp, dsw}: converted to MSVC++ 6.0
(and backward compatible) format.
* apps/JAWS/PROTOTYPE/HTTPU/http_headers.{cpp, h}: fixed ACE_RB_Tree
templates, template instantiations. Thanks to Sridhar Sabella
(ssabbella@cemax.com) for pointing this out.
Tue Jan 19 00:42:44 1999 Irfan Pyarali <irfan@cs.wustl.edu>
* examples/Log_Msg/test_callback.cpp (log): Removed the use of
cerr and used ACE_OS::printf() instead.
* ace/Log_Record.cpp (print): Fixed comparison between signed and
unsigned. Thanks to David Levine for pointing this out.
Mon Jan 18 23:55:03 1999 Darrell Brunsch <brunsch@cs.wustl.edu>
* ACE-INSTALL.html: Added more info on Alpha configuration
problems and fixes.
Mon Jan 18 23:07:38 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.cpp (open): Files opened with CreateFileA (on Win32 of
course,) are now opened with FILE_SHARE_DELETE flag set. This
allows ACE_OS::unlink to work as it should. However, I haven't
figured out how to make unlink work with file opened with fopen
yet. Apparently, fopen does not open file with
FILE_SHARE_DELETE.
Mon Jan 18 22:54:18 1999 Darrell Brunsch <brunsch@cs.wustl.edu>
* ace/ace_dll.dsp:
* ace/ace_lib.dsp:
Updated NT Alpha configurations.
* apps/gperf/src/gperf.dsp:
* apps/gperf/src/gperf_lib.dsp:
Added NT Alpha configurations.
Mon Jan 18 22:14:00 1999 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/011/message_queue.cpp:
* docs/tutorials/011/page02.html:
ACE_Message_Block::copy() will advance the wr_ptr() for us.
Previously, I was doing that myself in run_test(). The test only
worked because I never wrote data to the block after that. If I
had, things would have broken horribly.
Mon Jan 18 20:41:48 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Message_Block.h: Clarified that the wr_ptr() is incremented
by n as a result of the copy operation. Thanks to Zoran
Ivanovic <zorani@pathcom.com> for suggesting this.
* ace/INET_Addr.h (ACE_INET_Addr): Changed the default for
ipaddr_format to 1 (which is what it had been originally) rather
than 0 since the original way is faster since it doesn't use
DNS. Thanks to Zoran Ivanovic <zorani@pathcom.com> for finding
this.
Mon Jan 18 20:31:47 1999 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/006/client_handler.cpp:
Typo...
* docs/tutorials/006/*.html:
* docs/tutorials/006/combine.shar:
Colorized, added Kirthika's abstract.
Mon Jan 18 16:19:56 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.cpp (open): If a file is open with _O_TEMPORARY flag set
on Win32, we also set the FILE_ATTRIBUTE_TEMPORARY so OS will
try to cache it in memory to speed up access.
* ace/ACE.cpp (open_temp_file): On Win32, temporary file should be
opened with _O_TEMPORARY flag set, not FILE_DELETE_ON_CLOSE.
* include/makeinclude/wrapper_macros.GNU: My previous fix of
avoiding multiple definition of ACE_NDEBUG was not correct. Now
the macro check where should the definition go to. Thanks to
David for showing me the right way to do this.
Mon Jan 18 11:23:06 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
* include/makeinclude/platform_irix6.x-sgic++.GNU:
Added the -multigot flag when building shared libraries,
otherwise TAO/orbsvcs is too big.
Mon Jan 18 09:54:54 1999 David L. Levine <levine@cs.wustl.edu>
* ace/config-sunos5.5.h: moved ACE_HAS_PRIOCNTL #define so
that it's defined even without threads. Thanks to
Russ Noseworthy for reporting this.
* ace/OS.cpp (lwp_getparams): removed ACE_MT_SAFE check
that Doug added Saturday. It's not necessary with the
above fix to config-sunos5.5.h.
* examples/Log_Msg/test_ostream.cpp: don't try to create the
ofstream if ACE_LACKS_IOSTREAM_TOTALLY. Also, removed
declarations of unused argc/argv arguments because some
g++ versions complain about them.
Mon Jan 18 08:17:49 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/SOCK_IO.cpp,
ace/SOCK_Dgram.cpp: Added
ACE_UNUSED_ARG (timeout);
to the #else part of the recv (iovec *) methods. Thanks to Mike
Goldman for reporting this.
Mon Jan 18 01:13:57 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/CORBA_macros.h: ACE_TRY_NEW_ENV also needs to define a new
CORBA::Environment even with native exceptions. Mark exception
caught by ACE_CATCH as unused arg to avoid compilation warnings.
Mon Jan 18 00:12:13 1999 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.6.16 released.
Sun Jan 17 16:40:22 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* tests/Reactor_Exceptions_Test.cpp (main): Changed the LM_INFO
message to indicate that C++ exception support isn't ENABLED on
a platform, rather than saying that it's not supported at all...
Sun Jan 17 15:35 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/SString.cpp (operator<<): The operator<< used to print out
ACE_WString caused an infinite loop on platform without UNICODE
defined because we didn't convert the wide string on these
platform. However, since an ACE_WString always contains a wide
string, the conversion from wide string to char string should
always be done here. Thanks to Scott Snyder
<snyder@d0sgif.fnal.gov> for noticing this bug.
(operator<<): Changed the ACE_SString and ACE_CString version to
check against the case when the internal <rep_> contains 0.
The ACE_CString version was printing out the string one char a
time. Can't see any reason why this is done like this. Changed
to print out the underlying <rep_> directly.
Sun Jan 17 14:42:39 1999 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/001/*:
* docs/tutorials/002/*:
* docs/tutorials/003/*:
* docs/tutorials/004/*:
* docs/tutorials/005/*:
Converted to the new (colorized) format used by T13 and beyond.
I will convert the remaining tutorials (6-12) as each is reviewed.
* docs/tutorials/005/fix.Makefile:
* docs/tutorials/006/fix.Makefile:
* docs/tutorials/007/fix.Makefile: Replaced by ../fix.Makefile.
* docs/tutorials/010/Makefile:
* docs/tutorials/011/Makefile:
* docs/tutorials/012/Makefile:
* docs/tutorials/013/Makefile:
* docs/tutorials/014/Makefile:
* docs/tutorials/016/Makefile:
* docs/tutorials/017/Makefile:
These all referenced ../007/fix.Makefile. They now reference
../fix.Makefile instead.
Sun Jan 17 13:50:16 1999 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/tutorials/002/handler.h:
* docs/tutorials/002/handler.h:
* docs/tutorials/002/page03.html:
* docs/tutorials/003/client.cpp:
* docs/tutorials/003/page01.html:
* docs/tutorials/004/page01.html:
* docs/tutorials/005/client_handler.h:
* docs/tutorials/005/page02.html:
* docs/tutorials/005/page04.html:
* docs/tutorials/005/page05.html:
* docs/tutorials/005/server.cpp:
More improvements from Doug's class (and Ossama). Each "page2"
includes an abstract by Kirthika.
Reviewers to date:
Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
Kirthika Parameswaran <kirthika@cs.wustl.edu>
Balachandran Natarajan <bala@cs.wustl.edu>
Pradeep Gore <pradeep@cs.wustl.edu>
Ossama Othman <othman@cs.wustl.edu>
Sat Jan 16 19:08:12 1999 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* ace/High_Res_Timer.cpp: Added #ifdef so high-res timers work
correctly on KCC. Thanks to Scott Snyder
<snyder@d0sgif.fnal.gov> for contributing this.
* tests/test_config.h: Updated randomize() so that it uses a
"fixed" seed, so that it will produce "reusable" random numbers.
* include/makeinclude/platform_linux_kcc.GNU (LD): Added the -lm
flag. Thanks to Scott Snyder <snyder@d0sgif.fnal.gov> for
contributing this.
* tests/run_tests.sh: Added an
LD_LIBRARY_PATH=../netsvcs/lib:$LD_LIBRARY_PATH so that we can
use a relative name for the svc.conf files used in the
Time_Service_Test and Tokens_Test.
* ace/config-irix6.x-common.h: Added support for long double for
KCC. Thanks to Scott Snyder <snyder@d0sgif.fnal.gov> for
contributing this.
* ace/config-irix6.x-kcc.h: Added KCC support. Thanks to Scott
Snyder <snyder@d0sgif.fnal.gov> for contributing this.
* ace/config-osf1-4.0.h: Added KCC support. Thanks to Scott
Snyder <snyder@d0sgif.fnal.gov> for contributing this.
* ace/IOStream.h: Fixed up the PUT_CODE and GET_CODE macros so
that they work with KCC. Thanks to Scott Snyder
<snyder@d0sgif.fnal.gov> for contributing this.
* ace/Env_Value_T.h (ACE_Convert): Added a new ACE_Convert
constructor for u_int so that TAO compiles correctly with KCC.
Thanks to Scott Snyder <snyder@d0sgif.fnal.gov> for contributing
this.
* include/makeinclude/platform_osf1_4.0_kcc.GNU: Added a new
platform config file for KCC. Thanks to Scott Snyder
<snyder@d0sgif.fnal.gov> for contributing this.
Sat Jan 16 18:13:29 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* include/makeinclude/wrapper_macros.GNU: Commented out adding
ACE_NDEBUG to CCFLAGS to avoid defining it twice. Most (if not
all) platforms include CFLAGS into CCFLAGS. So, if "make
debug=0" no longer work on your platform, then, you may need to
add "CCFLAGS += $(CFLAGS)" into your platform_xxx.GNU.
Sat Jan 16 13:40:40 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Proactor.cpp (schedule_timer): Had to add an
ACE_SYNCH_RECURSIVE_THREAD_MUTEX in place of
ACE_Recursive_Thread_Mutex to avoid problems when threads=0.
* ace/OS.cpp (lwp_getparams): For some reason we had to
add
# if defined (ACE_HAS_STHREADS) || (defined (sun) && (ACE_MT_SAFE != 0))
instead of
# if defined (ACE_HAS_STHREADS) || defined (sun)
to avoid problems when threads=0.
* ace/Asynch_IO.cpp: Replaced some ACE_Thread_Mutex decls with
ACE_SYNCH_MUTEX to avoid problems with threads=0.
* ace/config-sunos5.6.h: If defined(_POSIX_C_SOURCE) &&
_POSIX_C_SOURCE >= 199506L) || defined (__EXTENSIONS__) then
#define ACE_HAS_SIGWAIT to avoid compilation errors. Thanks to
Russ Noseworthy for reporting this.
* ace/OS.i: Fixed the ACE_OS::readdir_r() so that it doesn't fail
if threads are disabled via "make threads=0". Thanks to Russ
Noseworthy for reporting this.
* ace/FILE_Connector.h (ACE_FILE_Connector): Added the O_CREAT
flag to the list of flags passed to connect(). This ensures
that the file is created if it doesn't already exist. Thanks to
Pradeep Gore <pradeep@cs.wustl.edu> for reporting this.
Fri Jan 15 21:28:04 1999 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Log_Msg (ACE_Log_Msg_Callback): Added an interface class
used for getting logging callbacks. Users who are interested in
getting the logging messages directly, can subclass this
interface and override the log() method. They must then register
their subclass with the Log_Msg class and make sure that they
turn on the ACE_Log_Msg::MSG_CALLBACK flag.
Your log() routine is called with an instance of
ACE_Log_Record. From this class, you can get the log
message, the verbose log message, message type, message
priority, and so on.
Remember that there is one Log_Msg object per thread.
Therefore, you may need to register your callback object with
many Log_Msg objects (and have the correct synchronization in
the log() method) or have a separate callback object per
Log_Msg object.
Thanks to Chris Lahey <clahey@ix.netcom.com> for suggesting this
and send patches.
* examples/Log_Msg/test_callback.cpp: Added new example for
Log_Msg. This program tests the Log_Msg abstraction wrt writing
to user defined callback objects.
Fri Jan 15 21:10:25 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/CORBA_macros.h: Made sure ACE_CORBA_HAS_EXCEPTIONS always
gets set properly. Added ACE_ADPOT_CORBA_ENV to reuse a
existing CORBA::Environment variable.
Fri Jan 15 17:05:12 1999 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Log_Record: Factored out the redundant formatting code. The
new scheme also allows the end user to get to verbose formatted
string. Thanks to Nanbor for helping out with this.
Fri Jan 15 17:15:18 EST 1999 James CE Johnson <jcej@lads.com>
* docs/tutorials/templates.html
docs/tutorials/001/acceptor.h
docs/tutorials/001/logger.h
docs/tutorials/001/page01.html
docs/tutorials/001/page02.html
docs/tutorials/001/page03.html
docs/tutorials/001/page04.html
docs/tutorials/001/page05.html
docs/tutorials/001/server.cpp
docs/tutorials/003/page01.html
Many changes from Ossama plus a new abstract (for T3) from
Kirthika.
Fri Jan 15 14:40:26 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/SOCK_IO,
ace/SOCK_Dgram: Modified the recv(iovec *) and recvv(iovec *)
methods so that they use select() to avoid spinning if no data
is available. Thanks to Mike Goldman <whig@by.net> for this
fix.
Fri Jan 15 10:47:26 1999 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* ace/Service_Repository.cpp: If a service being removed from the
Service_Repository used the Service_Repository while being
removed it could access objects that had already been deleted.
Fix this by decrementing the current_size_ member in
"real-time". Thanks to Eric Newton for reporting this.
Fri Jan 15 08:08:31 1999 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.6.15 released.
Fri Jan 15 07:20:46 1999 Chris Gill <cdgill@cs.wustl.edu>
* ace/OS.i: Fixed variable names in isatty () on NT
Fri Jan 15 03:45:46 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* docs/exceptions.html: Rewrote the exception handling guildlines
based on ACE's try macros.
Fri Jan 15 01:32:55 1999 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.6.14 released.
Fri Jan 15 00:03:32 1999 Irfan Pyarali <irfan@cs.wustl.edu>
* examples/Log_Msg/test_ostream.cpp: Added new example for
Log_Msg. This program tests the Log_Msg abstraction wrt writing
to stderr and to a file.
Thu Jan 14 21:50:22 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/CORBA_macros.h: Added a new set of try macros which help
application developers write portable code that handles
CORBA::Exception portably. The macros will work with any ORB.
The total number of macros has reduces significantly and they
should be much easier to use because the rules all follow the
same style.
The new try macros should be prefered over the original try
macro in $TAO_ROOT/TAO/try_macros.h because those macros will
soon be *DEPRICATED* once we finished convert TAO to use the new
macros.
Please see ACE_wrappers/docs/exceptions.html for guidelines and
rules of using ACE's try macros.
Thu Jan 14 20:41:33 1999 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* ace/OS: Moved some code around to consolidate the getuid() and
isatty() functions.
* ace/OS: Added support for the setuid() call. Thanks to Susan
Liebeskind <susan.liebeskind@gtri.gatech.edu> for suggesting
this.
Thu Jan 14 16:18:37 EST 1999 James CE Johnson <jcej@lads.com>
* docs/tutorials/001/page02.html:
docs/tutorials/001/page03.html:
Included Kirthika Parameswaran's <Kirthika@cs.wustl.edu>
abstract and analogy. Thanks Kirthika!
* docs/tutorials/001/Source.tgz:
docs/tutorials/001/acceptor.h:
docs/tutorials/001/logger.h:
docs/tutorials/001/server.cpp:
docs/tutorials/001/page[345].html:
* docs/tutorials/002/page0[23].html:
docs/tutorials/002/handler.h:
Added improvements from Kirthika, Pradeep and Yamuna
Thu Jan 14 11:46:25 1999 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* ace/Synch_T.h: Pointed out that we can only parameterize
ACE_Condition<> with ACE_Thread_Mutex and ACE_Null_Mutex.
Thanks to Knut-Havard Aksnes <knut@orion.no> for reporting
this.
Thu Jan 14 02:33:37 1999 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.6.13 released.
Thu Jan 14 00:07:34 1999 Irfan Pyarali <irfan@cs.wustl.edu>
* docs/tutorials/014/stream.cpp: Added #include "ace/streams.h".
Wed Jan 13 23:18:03 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.h:
* config-g++-common.h:
* config-osf1-4.0.h:
* config-psos-diab.h:
* config-psos-tm.h: Revert my previous change. Removed the
ChangeLog entry about the change.
Wed Jan 13 22:30:49 1999 David L. Levine <levine@cs.wustl.edu>
* include/makeinclude/platform_chorus_ghs.GNU: removed
explicit link with libedgnoe.a, because GreenHills adds
that implicitly.
* ace/OS.h: added quick hack to ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR
logic to allow compilation with g++.
Wed Jan 13 18:48:30 EST 1999 James CE Johnson <jcej@lads.com>
* docs/tutorials/004/client.cpp:
docs/tutorials/010/message_queue.cp:
docs/tutorials/011/message_queue.cpp:
docs/tutorials/012/message_queue.cpp:
docs/tutorials/013/message_queue.cpp:
docs/tutorials/014/EndTask.h:
docs/tutorials/019/client.cpp:
docs/tutorials/019/client2.cpp:
docs/tutorials/019/server.cpp:
docs/tutorials/019/server2.cpp:
docs/tutorials/019/shmem.cpp:
docs/tutorials/020/client.cpp:
docs/tutorials/020/server.cpp:
docs/tutorials/021/client.cpp:
docs/tutorials/021/mpool.cpp:
docs/tutorials/021/mpool.h:
docs/tutorials/021/server.cpp:
Fixed many NT issues found by Irfan. Most are related to the
fact that NT doesn't have SysV shared memory.
Wed Jan 13 04:45:59 1999 James C Hu <jxh@cs.wustl.edu>
* ace/Cache_Object.{h,cpp}:
* ace/Cache_Manager.{h,cpp}:
* ace/Cache_Manager_T.{h,cpp}:
* ace/Cache_Hash_T.{h,cpp}:
* ace/Cache_Heap_T.{h,cpp}:
* ace/Hash_Bucket_T.{h,cpp}:
Supporting infrastructure for the new Filecache. These classes
form the basis of a generic in memory cache engine.
Wed Jan 13 02:17:57 1999 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/OS.cpp (writev): This function should use ACE::write_n
instead of ACE::send_n. Similarly, readv() should use
ACE::read_n instead of ACE::recv_n.
* ace/ACE.cpp (send): This function should use ACE_OS::sendv
instead of ACE_OS::writev. Similarly, recv() should use
ACE_OS::recvv instead of ACE_OS::readv.
* docs/tutorials: Fixed all the NT project files.
Tue Jan 12 22:41:05 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/config-freebsd.h: Uncommented ACE_HAS_SIGWAIT. This is
required for FreeBSD 2.2.8. Thanks to John Aughey
<jha@FreeBSD.ORG> for reporting this.
* ace/SOCK_IO.{h,i}:
* ace/SOCK_Stream.{h,i} (sendv_n/recvv_n): Moved these functions
from SOCK_IO to SOCK_Stream where it makes more sense to have
the semantic of sending/receiving <n> bytes.
Tue Jan 12 19:52:26 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ACE-INSTALL.html: Added more info on dynamically linking
run-time libraries.
* ace/SOCK_IO.{h,i,cpp} (sendv,recvv,sendv_n,recvv_n): Renamed
vector send/recv. There were name clashing since these methods
have similar signatures to some send_n/recv_n in
ACE_SOCK_Stream, they got hidden by the derived methods.
Renaming them solve the problem.
Tue Jan 12 10:59:58 1999 David L. Levine <levine@cs.wustl.edu>
* include/makeinclude/platform_chorus_ghs.GNU: fixed location of
libedgenoe.a, so that a symlink in $(GHS_DIR) is no longer necessary.
Thanks to Steve Kay for reporting this.
* ace/config-mklinux.h: removed ACE_HAS_SOCKLEN_T, addedUSE_XOPEN.
Thanks to Andreas Tobler <toa@pop.agri.ch> for these updates.
Tue Jan 12 08:44:11 EST 1999 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com>
* ace/Acceptor.cpp (handle_close):
Since the reactor_ data member is made private, we need to use
its accessor method to retrieve it.
Tue Jan 12 02:12:38 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.h (ACE_DES_NO_FREE,ACE_DES_FREE): These two macros
shouldn't be treated differently no matter
ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR is defined or not.
Otherwise, virtual destructor won't work in one of the original
definitions.
There shouldn't be different different definitions for calling
template destructor explicitly either. However, we need to find
that out. The meaning of ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR
seems to be reversed. That needs to be fixed also.
Tue Jan 12 00:18:15 1999 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* ace/Event_Handler.h: Moved the priority_ and reactor_ data
members into the private section of the class since these can
always be accessed via their accessor methods. Thanks to Mike
Goldman <whig@by.net> for reporting this.
Mon Jan 11 15:30:26 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Process.{h,i} (get_process_attributes,get_thread_attributes):
Removed the constness from the return value to avoid Intel C++
warnings. Thanks to Karel Zuiderveld
<kzuiderveld@vitalimages.com> for reporting this.
* bin/ADDIDL.DSM: A VB script to add new IDL files into DevStudio
projects. Thanks to Peter <weatp@syntron.com> for contributing
this nice tool.
Mon Jan 11 12:54:26 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/SOCK_IO: Added const qualifiers to all the send*() and
recv*() methods that take ACE_Time_Value values. Thanks to Jody
Hagins <jody@atdesk.com> for reporting this.
* ace/SOCK_IO: Added a new send_n() method that uses the new
ACE::sendv_n() method!
* ace/ACE: Added a new sendv_n() and writev_n() method that sends
all the bytes in the iovec!
* ace/ACE.h (ACE): Added default values of 0 for ACE::writev() and
ACE::readv().
* examples/NT_Service: Tidied up the formatting to conform to the
ACE programming guidelines.
Mon Jan 11 10:23:06 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/config-freebsd-pthread.h: Added ACE_LACKS_READDIR_R.
* ace/config-freebsd.h: Added ACE_LACKS_READDIR_R,
ACE_HAS_NONCONST_MSGSND, ACE_LACKS_MALLOC_H. ACE_HAS_SIGINFO_T
only applies to 3.0 and above. Thanks to Ivan Pascal
<pascal@info.tsu.ru> for reporting the change.
Sun Jan 10 21:52:57 1999 David L. Levine <levine@cs.wustl.edu>
* tests/Message_Queue_Notifications_Test.cpp (iterator_test):
added comment explaining why a message queue size of 32 Kb
is used, instead of the default of 16 Kb.
* docs/ACE-guidelines.html: added guidelines for boolean types
and function return values.
Sun Jan 10 17:33:29 1999 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* tests/Message_Queue_Notifications_Test.cpp: Replaced delete mb
with mb->release(). Thanks to Susan Liebeskind
<susan.liebeskind@gtri.gatech.edu> for reporting this
inconsistency.
* ace/Task_T.h,
ace/Message_Queue_T.h: Clarified the fact that the
ACE_Time_Value arguments to the Message_Queue methods
use absolute, rather than relative, time. Thanks to
Stanford S. Guillory <sguillory@vignette.com> for pointing out
the need for this clarification.
Sun Jan 10 09:18:41 1999 Martin Krumpolec <krumpo@pobox.sk>
* ace/Log_Msg.cpp (log): only re-enable tracing if it had
not been explicitly disabled.
Sun Jan 10 01:06:18 1999 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Log_Msg.cpp (log): Change call from exit() to abort().
* ace/OS.i (abort): Added new function.
Sat Jan 9 22:05:07 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* bin/tao_env.pl: A new perl script that help you translate _env
to TAO_IN_ENV.
Sat Jan 09 10:53:37 1999 David L. Levine <levine@cs.wustl.edu>
* ace/Name_Proxy.cpp (open): swapped branches of conditional
so that options.time_value () is used if USE_TIMEOUT is enabled.
Thanks to Mike Goldman <whig@by.net> for reporting this.
Fri Jan 08 19:19:17 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.h: Applied ACE_TEXT to the definition of
ACE_DEFAULT_TEMP_FILE on Win32. Thanks to
<gwross@west.raytheon.com> for reporting this.
Fri Jan 08 13:24:12 1999 David L. Levine <levine@cs.wustl.edu>
* ace/Synch.h (ACE_Process_Mutex): made data members
private instead of public. Thanks to Peter Gross
<pgross@signalsoftcorp.com> for reporting this.
* examples/Threads/reader_writer.cpp: removed volatile
qualifier from declaration of "shared_thr_id", so that
the file will compile on DU 4.0 with DCE threads. The
volatile qualifier caused a type mismatch with
ACE_thread_t. And, it's not necessary, because all
access of the shared_thr_id is guarded.
* include/makeinclude/platform_chorus_ghs.GNU: added gnuch68
to -alttools, and removed bin from AR; use libedgnoe.a instead
of libedg.a with GHS 1.8.9.1.
* ace/config-sunos5.5.h: don't define ACE_HAS_XPG4_MULTIBYTE_CHAR
with ghs, because its version 1.8.9 doesn't seem to support it.
Also, with ghs, replaced the __ctype [] declaration with an
#include of <stdlib.h>, because that's cleaner. Finally,
added ACE_HAS_BROKEN_ENUMS for ghs (1.8.9).
Thu Jan 07 09:05:27 1999 David L. Levine <levine@cs.wustl.edu>
* ace/config-sunos5.5.h: added ACE_HAS_SIG_C_FUNC with
Sun CC >= 4.2. Sun CC 5.0 needs it; Sun CC 4.2 doesn't
object to it on SunOS 5.5.1, 5.6, and 5.7. Thanks to
Neil Cohen <nbc@aikisoft.com> for figuring out how to
compile ACE with Sun CC 5.0.
* include/makeinclude/platform_sunos5_sunc++.GNU: only
use -features=castop and -rtti with Sun CC 4.2. CC 5.0
doesn't support them; I assume that it enables RTTI by
default. Thanks to Neil Cohen <nbc@aikisoft.com> for
reporting this.
* ACE-INSTALL.html: added ACE_HAS_REGEX #undef suggestion for
shared lib link problems with egcs 1.1.x on Solaris 2.5.x.
Thanks to Bob McWhirter <bob@werken.com> for reporting this
problem.
Thu Jan 07 04:45:36 1999 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.6.12 released.
Thu Jan 07 04:01:08 1999 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Containers_T.cpp (max_size): No need to reallocate if the
new size is the same. Thanks to Mike Goldman <whig@by.net> for
pointing this out.
* ace/Strategies_T.cpp (check_hint_i and cleanup_hint_i):
purge_i() should be called after the entry is closed.
* Select_Reactor_Base.cpp (unbind): The next <max_handlep1_>
should be calculated not only based on the <wait_set> but also
the <suspend_set>.
Thanks to Mark L. Boriack <mboriack@std.saic.com> for providing
a description of this bug.
Wed Jan 06 21:42:11 1999 David L. Levine <levine@cs.wustl.edu>
* ace/OS.cpp (thr_create): moved #endif /* ACE_LACKS_SETDETACH */
outside of }, to allow compilation on DU 4.0/cxx with DCE threads.
* ace/config-osf1-4.0.h: with DCE threads only, added
ACE_LACKS_THREAD_PROCESS_SCOPING.
Wed Jan 06 16:36:21 1999 David L. Levine <schmidt@cs.wustl.edu>
* ACE version 4.6.11 released.
Wed Jan 06 15:15:37 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Service_Config.cpp (process_directive,close): Moved the
deletion of <svc_conf_file_queue_> into close method.
Otherwise, there's no way to reconfigure the service
configuration once it get started. Thanks to Mike Goldman
<whig@by.net> for reporting the problem.
Wed Jan 6 14:27:24 EST 1999 James CE Johnson <jcej@lads.com
* docs/tutorials/021/*:
Completed the ACE_Malloc<> tutorial. It could be a lot better
than it is but I'm still new to ACE_Malloc...
* docs/tutorials/021/online-tutorials.html:
Added the link for #21
Tue Jan 05 22:55:07 1999 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Strategies_T.cpp (cleanup_hint_i and check_hint_i): Since we
are holding the connection cache lock in these methods, the
Svc_Handler should not call purge(). If it does, a deadlock
will occur (unless we have recursive locks) since we are already
holding the connection cache lock. Therefore, we zero out the
recycler before calling svc_handler->close() and purge out the
svc_handler entry ourself (through purge_i()).
Thanks to Mark L. Boriack <mboriack@std.saic.com> for providing
a precise example illustrating this bug.
Tue Jan 5 18:48:47 James CE Johnson <jcej@lads.com>
* docs/tutorials/templates.html: Fixed a number of problems here.
Thanks to Amos Shapira <Amos_Shapira@icomverse.com> for pointing
them out.
* docs/tutorials/colorize: I pulled out the colorization code from
combine into this standalone script. One of these days I'll fix
combine so that the code isn't duplicated...
Tue Jan 5 16:14:00 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/config-irix6.x-common.h:
Added ACE_TIMER_SKEW definition.
* ace/FILE.cpp:
Fixed the seek() prototype, is was declared as taking a "off_t"
argument, but is was defined with a "long" argument,
unfortunately in most platforms this was not a problem.
Tue Jan 05 13:15:35 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Service_Config.i (open): Be sure to pass down the
<ignore_static_svcs> argument down to the real open method.
Tue Jan 05 08:08:06 1999 David L. Levine <levine@cs.wustl.edu>
* tests/MM_Shared_Memory_Test.cpp (spawn): fixed syntax error
by moving ) to end of ACE_ERROR invocation.
* ace/config-osf1-4.0.h: added 10 ms ACE_TIMER_SKEW, so that
MT_Reactor_Timer_Test passes.
* ace/config-lynxos.h: added 10 ms ACE_TIMER_SKEW, so that
MT_Reactor_Timer_Test comes closer to passing. It now
chokes on the wait () near the end.
* ace/OS.i (thr_getspecific): moved return 0 statement inside
the Draft 7/STD #else block, to avoid warning about unreachable
statement with Draft 4/6.
* ace/config-osf1-4.0.h: with Draft 4 pthreads, added
ACE_LACKS_READDIR_R.
* tests/MT_Reactor_Timer_Test.cpp (main): added printout if
wait () fails.
Tue Jan 5 00:59:04 1999 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* ace/Synch: Changed the remove() method of ACE_Thread_Mutex,
ACE_Mutex, ACE_Semaphore, ACE_RW_Mutex, ACE_Event,
ACE_Thread_Condition_Mutex, ACE_File_Lock, and
ACE_Recursive_Thread_Mutex so that they check a flag to see if
remove() has already been called. If it has, then the remove()
call does nothing. This avoids nasty problems on platforms like
Win95 that fail mysteriously if locks are destroyed multiple
times. Note that our solution isn't perfect since it won't
protect against race conditions if multiple threads call
remove() simultaneously. However, if this happens it's a sign
that the application was designed incorrectly... Thanks to Paul
Felix <pef@fluent.com> and Irfan for tracking this down.
* ace/FILE: Added new methods, seek() and tell(), that are more
intuitively named than the existing position() methods. The
position() methods have been retained for backwards
compatiblity, but are now marked as deprecated.
* ace/OS.h: Added a macro for ACE_DEFAULT_HTTP_PORT, which
is 80 of course...
* ace/INET_Addr.cpp: Make sure that addr_to_string() correctly
checks the length of its buffer before doing a sprintf(). In
addition, added an option to print the results in either ip-addr
format or ip-name format.
* ace/Mem_Map.cpp (map): where ace/Mem_Map.cpp mmap() will succeed
if the length of the file mapping is 0, which will be the case
if we've just created the file. This was the wrong place to
make this check.
* tests/MM_Shared_Memory_Test.cpp: Cleaned up a few things
in this test so that it'll be easier to maintain.
Mon Jan 04 08:45:45 1999 David L. Levine <levine@cs.wustl.edu>
* ace/config-sunos5.7.h: only use the g++ hacks if the
g++ version is prior to 2.8. Assume that later versions
were built on SunOS 5.7 host, and/or don't have header
files that are incompatible with the system headers.
* bin/create_ace_build: changed symlink creation failure from
error (with termination) to warning create_ace_build.
Mon Jan 4 03:15:57 1999 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* ace/Mem_Map: If we're remapping an already-mapped file
(i.e., the base_addr_ != 0) && the addr parameter IS 0 (i.e.,
the user isn't trying to respecify where to map this file), then
we'll try to map over top of the existing region, which implies
"MAP_FIXED".
Sun Jan 03 23:21:46 1999 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Service_Config.cpp (initialize): Both initialize methods now
remove the service object from the repository if its init()
method failed.
Sun Jan 3 14:39:49 1999 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* ace/ACE: Added a simple dirname() wrapper method.
* ace/SString: The set(const char *, size_t, int = 1) and
set(const char *, size_t) methods were inherently ambiguous.
I've fixed this by changing removing the default parameters.
Thanks to Irfan for suggesting this fix.
* ace/Mem_Map.cpp: mmap() will fail if the length of the file
mapping is 0, which will be the case if we've just created the
file. Therefore, don't even bother trying to mmap() in this
case and return a successful result.
* ace/FILE: Moved the get_remote_addr() and get_local_addr()
methods from the FILE_IO class to the FILE class since that's
more properly where they belong. Also added a new remove()
method that unlinks the file.
* tests/Priority_Reactor_Test.cpp,
tests/Conn_Test.cpp,
tests/Notify_Performance_Test.cpp,
Priority_Reactor_Test.cpp,
Reactor_Performance_Test.cpp: Since the default is to skip argv0
there's no sense explicitly saying this in the constructor of
ACE_Get_Opt.
* ace/FILE_Connector.h: Updated the comments to reflect recent
changes.
* ace/FILE.h: Added a new get_info() method that takes a reference
to an ACE_FILE_Info rather than a pointer. This is a cleaner
API, IMHO.
* ace/FILE_Connector.cpp (connect): When the <remote_sap> argument
is ACE_Addr::sap_any, then connect will select a temporary
filename using the new feature of ACE_FILE_Addr described below.
* ace/FILE_Addr.cpp (set): When the address is ACE_Addr::sap_any,
then we'll select a new temporary filename using the new
ACE_DEFAULT_TEMP_FILE macro and ACE_OS::mktemp().
* ace/OS.h: Added a new ACE_DEFAULT_TEMP_FILE macro that defaults
to "/tmp/ace-fileXXXX" and is used by the ACE_FILE_Connector
to create a temporary file when it's given an ACE_Addr::sap_any.
* ace/FILE_Addr.h: The <set> accessor should return an int to be
consistent.
* ace/OS.h: Added a new ACE_sap_any_cast macro, which makes it
much easier to cast the ACE_Addr::sap_any to the right subclass.
* tests/Reactor_Performance_Test.cpp,
tests/Reactor_Exceptions_Test.cpp,
tests/Process_Strategy_Test.cpp,
tests/Priority_Reactor_Test.cpp,
tests/IOStream_Test.cpp,
tests/Conn_Test.cpp: Replaced all the C-style casts for
ACE_Addr::sap_any with the new ACE_sap_any_cast macro.
Sun Jan 03 21:48:37 1999 Irfan Pyarali <irfan@cs.wustl.edu>
* ace/Asynch_Acceptor.cpp: Since this is a template file, I
removed it from the ace library build on NT.
* ace/Asynch_Acceptor.cpp (open): Changed C-style cast to use the
new ACE_sap_any_cast macro from Dr. Schmidt.
Sun Jan 03 09:12:23 1999 David L. Levine <levine@cs.wustl.edu>
* ace/config-sunos5.5.h: with GreenHills, added
ACE_LACKS_LINEBUFFERED_STREAMBUF and ACE_LACKS_SIGNED_CHAR.
* ace/Basic_Types.* (ACE_U_LongLong): unioned the data members
with a double, to ensure alignment on 8-byte boundaries. It
could matter when an ACE_U_LongLong is used as a true 8-byte
quantity, such as in a call to Solaris ::gethrtime ().
* tests/Time_Value_Test.cpp: replaced remaining #ifdef
ACE_HAS_STHREADS with #ifdef sun.
Sat Jan 2 23:48:44 1999 James CE Johnson <jcej@chiroptera.tragus.org>
* docs/ACE-tutorials.html
* docs/tutorials/guide-tutorials.html
* docs/tutorials/new-tutorials.html
* docs/tutorials/online-tutorials.html
Converted some of the absolute URLs to relative. I only have the
docs/tutorials tree here at home so I couldn't do any more than
these.
* docs/tutorials/021/*
New tutorial on ACE_Malloc<>. I haven't begun the documentation
yet but wanted to get the code commited so it doesn't get lost.
Sat Jan 02 08:34:27 1999 David L. Levine <levine@cs.wustl.edu>
* examples/ASX/Event_Server/Event_Server/event_server.cpp
(handle_input),
examples/Reactor/Misc/test_early_timeouts.cpp (main):
added ACE_UNUSED_ARG (n), to avoid compile warning with ACE_NDEBUG.
* performance-tests/Misc/test_naming.cpp (find): moved function
call w/side effect out of ACE_ASSERT. Thanks to DU 4.0 cxx
for noticiing it, with ACE_NDEBUG.
Fri Jan 01 18:57:22 1999 David L. Levine <levine@cs.wustl.edu>
* ace/Containers_T.i (ACE_Array,ACE_Array::operator=):
added missing ACE_INLINE's.
* ace/OS.{h,cpp} (ACE_TSS_Info::operator{==,!=}): added
constness. It's necessary with the ACE_Array changes,
with ACE_HAS_TSS_EMULATION.
Fri Jan 1 12:22:14 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Containers_T.h:
* ace/Containers_T.i:
* ace/Containers_T.cpp:
* bin/Array_Helper:
* bin/Array.pl:
Moved most of the implementation of ACE_Array into
ACE_Array_Base this class does not require == or != operators
defined for the template parameter.
I also added methods to access and manipulate the capacity of
the array (max_size) as opposed to always changing its size (the
portion actually used).
* ace/Object_Manager.cpp:
* ace/Template_Instantiations.cpp:
* ace/OS.cpp:
* apps/JAWS/clients/Caching/URL_Properties.cpp:
Fixed ACE_Array instantiations.
|