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
|
Mon May 11 15:11:11 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.cpp (ctime_r): Renamed the fmtstr to
ACE_OS_CTIME_R_FMTSTR for we may need to use similar scheme to
fix other bugs in the future.
Mon May 11 14:50:47 CDT 1998 Everett Anderson <eea1@cs.wustl.edu>
* ace/Name_Proxy.cpp: Changed one last recv to recv_n.
Mon May 11 13:14:22 1998 Chris Gill <cdgill@cs.wustl.edu>
* ace/RB_Tree.{cpp,h,i}: (new) Red-Black Tree data structure
implementation. A Red-Black Tree is an efficient
self-balancing binary tree that uses recoloring to
minimize rotations while rebalancing on insertion or
deletion of a tree node. Items in the tree are stored
according to a key provided at insertion. This
implementation is an OO rendition of the ADT described
in Cormen, Leiserson, Rivest, "Introduction to Algorithms"
(c) 1990, MIT.
Mon May 11 12:31:41 1998 Steve Huston <shuston@riverace.com>
* ace/OS.h: Made ACE_LD_SEARCH_PATH, ACE_LD_SEARCH_PATH_SEPARATOR_STR,
ACE_DLL_PREFIX, ACE_DLL_SUFFIX settable via config.h.
* ace/config-hpux-10.x.h:
ace/config-hpux11.h: Set ACE_LD_SEARCH_PATH, ACE_DLL_SUFFIX.
Thanks to Kirill Rybaltchenko and David Levine for identifying
this problem.
Mon May 11 12:27:05 1998 David L. Levine <levine@cs.wustl.edu>
* ace/ACE.cpp (send_n): retry if ACE::send () fails due to
EWOULDBLOCK. Thanks to Dave Brackman <dbrackma@OhioEE.com>
for reporting this.
* tests/Env_Value_Test.cpp (main): check return values of
options.setenv () calls. Thanks to Bob Laferriere
<laferrie@gsao.med.ge.com> for recommending this.
* include/makeinclude/platform_vxworks5.x_ghs.GNU: instead of
using GNU ranlib386 after using GHS ax for i386 targets, just
use GNU ar386.
* ace/gethrtime.cpp: added some comments about GHS asm support.
Mon May 11 05:14:18 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/config-WinCE.h: Added ACE_HAS_NON_STATIC_OBJECT_MANAGER. CE
console programs have to set this flag because the main
functions is actually renamed and running in a threads.
* tests/test_config.h: Excluded class and macros to redirect
debugging messages to files under CE. This make debugging a bit
easier but we should eventually put them back under CE.
* tests/Map_Manager_Test.cpp: Made CE friendly.
* ace/Hash_Map_Manager.cpp: Some ACE_ERROR were not CE friendly.
* ace/Profile_Timer.{h,i}:
* ace/Synch.{h,i}: Moved inline function definitions to Synch.i
file. Windows CE can't grok any inline at all.
Mon May 11 02:43:45 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* performance-tests/Misc/childbirth_time.cpp (main): Added
a new method for benchmarking ACE_Thread_Manager::spawn_n.
Added other cosmetic changes.
Sun May 10 23:28:57 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.cpp(inherit_log_msg):
* ace/Log_Msg.cpp (thr_desc): Wait on Thread_Descriptor's lock
instead of the "global" Thread_Manager lock.
* ace/Thread_Manager.cpp: Moved acquire_release() from
ACE_Thread_Manager to ACE_Thread_Descriptor. This method is
called from ACE_Log_Msg::thr_desc to prevent a thread from using
its thread descriptor before it is fully built. The change
relieve spwaned threads from waiting for other threads created
in the same spwan_n call to be created before it can start
running.
(insert): Added an extra argument to control whether we want to
insert the newly created thread into ACE_Thread_Manager's thread
table or not. Notice that it is default to 1 to remain the
original behavior in case anyone is using this class/function
directly in their code. However, in ACE_Thread_Manager, we
always prevent it from inserting because we always register
thread descriptors from spawn_i.
Sun May 10 01:51:29 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.h: Renamed ACE_OS::Time_To_The_Beginning to
ACE_OS::FILETIME_to_timval_skew.
* ace/OS.cpp: Found the problem in ACE_OS::ctime_r. An internal
compiler bug (?) caused the bug. The solution: move the format
string out as a const string instead of putting it in sprintf
directly. Weird.
* ace/Log_Record.{h,cpp}: Made priority_name_ and its access
function CE friendly.
Sat May 9 20:09:13 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Thread_Manager.h: Changed the type of lock used by
<thread_desc_freelist_> to ACE_SYNCH_MUTEX. Or else, it won't
compile on platforms that doesn't support thread. Thanks to
Woody Zenfell <woody@arl.wustl.edu> for reporting this.
Fri May 08 22:29:01 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/SOCK_Dgram_Mcast.cpp (subscribe): CE UNICODE related fix.
Fri May 8 14:18:46 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Thread_Manager.h (ACE_Thread_Descriptor): Added ACE_INLINE
to declarations of set_next and get_next to get around a bug in
a version of g++.
Fri May 8 11:57:23 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
* ace/Map_Manager.cpp: Fixed a bug where we weren't calling
close_i() when resizing the buffer.
* ace/Thread_Manager.cpp (set_grp): In
ACE_Thread_Manager::{get,set}_grp we must check to see that we
have a valid pointer after the ACE_FIND. Otherwise a seg fault
occurs. Thanks to Chris Lahey <CLahey@cccis.com> for reporting
this.
Fri May 08 09:47:50 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-linux-common.h: only use ACE_HAS_POLL with glibc2.
Thanks to Saneyasu <sane@sail.t.u-tokyo.ac.jp> for reporting
this.
* ace/OS.i (sleep): On Linux without ::poll () (prior to glibc),
copy the ACE_Time_Value argument because the system modifies it.
* include/makeinclude/platform_osf1_4.0.GNU: moved -lm from LIBS
to MATHLIB.
* performance-tests/UDP/Makefile: added $(MATHLIB) to LDLIBS.
* tests/Aio_Platform_Test.cpp (have_asynchio): use
_SC_LISTIO_AIO_MAX instead of _SC_AIO_LISTIO_MAX if it's
#defined. It is on DU 4.0.
Fri May 08 08:43:42 1998 Steve Huston <shuston@riverace.com>
* include/makeinclude/platform_hpux_gcc.GNU: Added $(PIC) to
definition of SOFLAGS. Thanks to Kirill Rybaltchenko
<Kirill.Rybaltchenko@cern.ch> for this fix.
* ace/SOCK_Dgram_Mcast.cpp (subscribe): Added code for Win32 so that
if a subscribe is done without specifying an interface, the mcast
address is subscribed to on each non-loopback interface. This works
around a bug in NT's winsock in the presence of multiple IP
interfaces. Won't hurt 95 - will just run a bit slower than it
otherwise would.
* examples/Reactor/Multicast/Multicast.{mdp,mak}: Added MSVC 4.2
workspace for this example.
Fri May 8 03:43:25 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Thread_Manager.{h,cpp}: Added yet one more member variable
into Thread_Descriptor to keep track of registration of
Thread_Descriptors. By adding this variable, we can avoid an
extra locking in remove_thr for most cases (normal cases ;-).
Thanks to the inspiration from Arturo Montes
<mitosys@colomsat.net.co>.
Wed May 06 18:35:21 1998 Steve Huston <shuston@riverace.com>
* ace/ACE.cpp (get_ip_interfaces): Reset buf_len before each call to
get_reg_key to get registry value for device's IP address. It gets
overwritten on each call to get_reg_key.
* include/makeinclude/platform_mvs.GNU: Added definition for PIC.
Though not related to position-independent-code, it is a switch that
makes shared lib builds work right. Removed the old SOBUILD def.
Thanks to Chuck Gehr for helping with this strategy.
Thu May 07 22:06:13 1998 Ben Eng <ben@jetpen.com>
* ace/config-kcc-common.h,config-linux-{common,kcc}.h: updated
KCC/Linux support, and integrated into config-linux-common.h.
Thu May 7 20:32:20 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp
(main): Oops, we need to move the unlink() AFTER we create the
file... Thanks to Sandro Doro <doros@aureus.sublink.org> for
reporting this.
Wed May 6 02:57:40 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Filecache.h (ACE_Filecache_Handle): Removed
ACE_EXPORT_DECLARE and specified ACE_Export directly for
ACE_Filecache_Handle and ACE_Filecache in calss declarations.
* ace/Thread_Manager.{h,i,cpp}: A bug was found by Arturo Montes
<mitosys@colomsat.net.co> who noticed that when a thread was
spawned and then exited immediately, its thread descriptor might
get freed before even get registered into the thread table kept
by the Thread_Manager. Although it doesn't make any sense to
spawn a thread just to let it return immediately, a middleware
shouldn't restrict the way how users want to use it.
I got around this problem by adding a lock into
Thread_Descriptor. Before spawning a thread, the Thread Manager
will first grab the lock. It won't release the lock until
calling append thread, at which point, the Thread_Descriptor of
the thread has been stashed into the table. Removing the
Thread_Descriptor also requires to hold this lock and release
the lock before the Thread_Descriptor is "freed." Therefore,
if a thread exit before its Thread_Manager ever gets a chance to
register it, it will block and waiting.
The type of the lock is defined by ACE_DEFAULT_THREAD_MANAGER_LOCK
which, by default, is ACE_Thread_Mutex. User can change the
definition by defining in their config.h file. For example, if
you can be sure that all your threads will run for an extended
long time (which, in most case, should be true,) you can disable
this feature by defining this as a ACE_Null_Mutex to speed up
spawning and termination of threads.
(thread_desc_freelist_): Added a free list to Thread_Manager to
recycle Thread_Descriptor. By default, this free list
pre-allocate 0 Thread_Descriptor and has low-water-mark of 1,
increment count 1 and a huge (25000) high water mark. That is,
if you use a Thread_Manager for an extended period of time, you
won't have to dynamically allocate memory for Thread_Descriptor
for every thread after your system is stable (the thread count
fluctuates between some certain values.)
There are two ways to change the settings. First, by defining
ACE_DEFAULT_THREAD_MANAGER_LWM, ACE_DEFAULT_THREAD_MANAGER_HWM,
ACE_DEFAULT_THREAD_MANAGER_INC, and
ACE_DEFAULT_THREAD_MANAGER_PREALLOC in your <config.h> file.
This changes the default setting of your ACE. (The global
Thread_Manager use this setting.) Or, you can specify these
values when creating a Thread_Manager.
* ace/Free_List.cpp (alloc,dealloc): Don't grab the lock in these
two functions. They only get called from add() and remove()
which hold the lock before making the call. Actually, they also
gets called from the constructor and destructor. But that
shouldn't be a problem.
* tests/Reactor_Notify_Test.cpp (run_test): Moved the #endif of
ACE_HAS_THREADS down to avoid compilation error on non-threaded
platforms.
Thu May 07 19:08:22 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.2 released.
Thu May 7 14:10:41 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
* ace/Timer_Hash_T.h:
* ace/Timer_Hash_T.cpp:
* ace/Timer_Heap_T.cpp:
* ace/Timer_Wheel_T.cpp:
The classes had a INHERITED typedef for the base class, but
Solaris defines a macro by the same name. This causes very weird
problems with EGCS (and probably other g++ versions).
Thu May 07 04:15:23 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Profile_Timer.cpp (elapsed_time): Treat Win32 differently
so I can use this function with WinCE Emulation build. The
problem is that Win32 can't convert __int64 to double.
* ace/OS.{h,cpp} (ACE_Time_Value): (Win32 only) Added a new static
const member (Time_To_The_Beginning) of type DWORDLONG (unsigned
_int64) to adjust the time skew between FILETIME and POSIX time.
Changed the type of _100ns to ULARGE_INTEGER to eliminate
unnecessary computation.
Wed May 6 23:58:40 1998 Carlos O'Ryan <coryan@swarm.cs.wustl.edu>
* ace/XtReactor.cpp:
The signature for the open() method of the notify pipe has been
modified.
Wed May 6 23:28:47 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp:
Fixed a couple of mistakes that were causing the UNIX domain
sockets not to work. Thanks to Sandro Doro
<doros@aureus.sublink.org> for recommending this.
* performance-tests/Misc/context_switch_time.cpp (svc): An 'i'
was being defined twice, gorp! It's fixed now!
Wed May 06 22:00:14 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-linux-common.h: only #define
ACE_HAS_4_4BSD_SENDMSG_RECVMSG with __GLIBC__. Thanks
to Chanaka Liyanaarachchi <chanakal@ittc.ukans.edu> for
reporting the lack of CMSG_DATA support on RedHat 4.2.
Wed May 06 18:35:21 1998 Steve Huston <shuston@riverace.com>
* ace/ACE.cpp (get_ip_interfaces): Reset buf_len before each call to
get_reg_key to get registry value for device's IP address. It gets
overwritten on each call to get_reg_key.
* include/makeinclude/platform_mvs.GNU: Added definition for PIC.
Though not related to position-independent-code, it is a switch that
makes shared lib builds work right. Removed the old SOBUILD def.
Thanks to Chuck Gehr for helping with this strategy.
Wed May 06 16:32:53 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Filecache.h (ACE_Filecache_Handle): Removed
ACE_EXPORT_DECLARE and specified ACE_Export directly for
ACE_Filecache_Handle and ACE_Filecache in calss declarations.
* ace/Thread_Manager.{h,i,cpp}: A bug was found by Arturo Montes
<mitosys@colomsat.net.co> who noticed that when a thread was
spawned and then exited immediately, its thread descriptor might
get freed before even get registered into the thread table kept
by the Thread_Manager. Although it doesn't make any sense to
spawn a thread just to let it return immediately, a middleware
shouldn't restrict the way how users want to use it.
I got around this problem by adding a lock into
Thread_Descriptor. Before spawning a thread, the Thread Manager
will first grab the lock. It won't release the lock until
calling append thread, at which point, the Thread_Descriptor of
the thread has been stashed into the table. Removing the
Thread_Descriptor also requires to hold this lock and release
the lock before the Thread_Descriptor is "freed." Therefore,
if a thread exit before its Thread_Manager ever gets a chance to
register it, it will block and waiting.
The type of the lock is defined by ACE_DEFAULT_THREAD_MANAGER_LOCK
which, by default, is ACE_Thread_Mutex. User can change the
definition by defining in their config.h file. For example, if
you can be sure that all your threads will run for an extended
long time (which, in most case, should be true,) you can disable
this feature by defining this as a ACE_Null_Mutex to speed up
spawning and termination of threads.
(thread_desc_freelist_): Added a free list to Thread_Manager to
recycle Thread_Descriptor. By default, this free list
pre-allocate 0 Thread_Descriptor and has low-water-mark of 1,
increment count 1 and a huge (25000) high water mark. That is,
if you use a Thread_Manager for an extended period of time, you
won't have to dynamically allocate memory for Thread_Descriptor
for every thread after your system is stable (the thread count
fluctuates between some certain values.)
There are two ways to change the settings. First, by defining
ACE_DEFAULT_THREAD_MANAGER_LWM, ACE_DEFAULT_THREAD_MANAGER_HWM,
ACE_DEFAULT_THREAD_MANAGER_INC, and
ACE_DEFAULT_THREAD_MANAGER_PREALLOC in your <config.h> file.
This changes the default setting of your ACE. (The global
Thread_Manager use this setting.) Or, you can specify these
values when creating a Thread_Manager.
* ace/Free_List.cpp (alloc,dealloc): Don't grab the lock in these
two functions. They only get called from add() and remove()
which hold the lock before making the call. Actually, they also
gets called from the constructor and destructor. But that
shouldn't be a problem.
* tests/Reactor_Notify_Test.cpp (run_test): Moved the #endif of
ACE_HAS_THREADS down to avoid compilation error on non-threaded
platforms.
Tue May 5 14:12:08 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
* include/makeinclude/platform_sco5.0.0-fsu-pthread.GNU: Added a
platform config file courtesy of Arturo Montes
<mitosys@colomsat.net.co>.
Tue May 05 08:35:18 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-irix6.x-sgic++-nothreads.h: updated the determination
of ACE_SIZEOF_LONG_DOUBLE. Thanks to Bob Laferriere
<laferrie@gsao.med.ge.com> for providing the fix.
* include/makeinclude/platform_sunos5_g++.GNU: use -gstabs+ instead
of -g on Solaris86.
* etc/Svc_Conf_l.cpp.diff: updated. It's magic, Nanbor :-)
The problem seems to be due to an old version left in
/tmp/Svc_Conf_l.cpp, which confuses flex.
* ace/config-linux-common.h,config-g++-common.h: moved
ACE_HAS_PENTIUM (with i386) from config-linux-common.h
to config-g++-common.h.
* ace/config-linux-common.h: added ACE_HAS_POLL, so we
don't use ::select () in ACE_OS::sleep (). Linux's
::select () modifies its timeout argument!
* ace/OS.i (gethrtime): added RDTSC support for all g++
_and_ ACE_HAS_PENTIUM platforms.
* ace/config-vxworks5.x.h: added ACE_HAS_PENTIUM with GHS
on Intel platforms.
* ace/Makefile: for GHS on Intel 8086, build gethrtime.cpp.
It's used to provide a high-resolution time using the
Pentium RDTSC instruction. I don't know how to get
GHS' asm to do it, so it uses g++.
* ACE-INSTALL.html: added note about carefully installing
egcs on Linux. Thanks to Kurt Sussman <kls@best.com> for
tracking down the cause of mysterious link failures.
Tue May 05 02:15:49 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Svc_Conf_l.cpp: I know, I know. I shouldn't mess with this
file directly. But I couldn't manufacture this file even with
the stock Svc_Conf.l using Doug's flex. So, I reckon I'll just
check this in now and fix the Svc_Conf_l.diff later.
* ace/Service_Config.{h,cpp} (process_directive): Standard CE
stuff.
* WindozeCE/WinAdapter*.*:
* WindozeCE/WindozeCE*.*: Replaced the old adapter for CE with a
new one. The new version allows uses to scroll thru the
"console" output.
Mon May 04 17:09:39 1998 David L. Levine <levine@cs.wustl.edu>
* performance-tests/Misc/context_switch_time.cpp: lots of
cleanup. The main changes were the use of ACE_THR_PRI_FIFO_DEF
for the default therad priority, and removal of some
unnecessary thr_yield () calls.
* tests/Aio_Platform_Test.cpp: added arguments to main (),
removed #includes that are already in ace/OS.h, and added
ACE_START_TEST/ACE_END_TEST calls.
Mon May 4 13:08:18 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
* ace/config-sunos5.6.h: Removed a mysterious "30" at the end of
an #undef. Thanks to J. Russell Noseworthy
<rnosewor@objectsciences.com> for reporting this problem.
Mon May 04 08:49:09 1998 David L. Levine <levine@cs.wustl.edu>
* ace/OS.cpp (ACE_Thread_Adapter::invoke): with ACE_NEEDS_LWP_PRIO_SET,
added the call to ACE_OS::thr_setprio () so that the LWP priority
will be set if running in the RT class. Applications no longer
have to be concerned with this.
* performance-tests/Misc/preempt.cpp (svc): removed
ACE_OS::thr_setprio () calls to set LWP priority, now that ACE
handles that internally.
* include/makeinclude/platform_*linux.GNU: added "s" to
ARFLAGS, so that ranlib is no longer necessary.
Sun May 03 22:37:38 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Parse_Node.cpp (open_handle): WinCE doesn't support
ExpandEnvironmentStringA.
* ace/config-win32-common.h: Only define ACE_HAS_GETRUSAGE when
ACE_HAS_WINNT4 != 0. Thanks to Paul Motuzenko
<p_motuzenko@hotmail.com> for reporting this.
Sun May 03 01:58:47 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ACE version 4.5.1 released.
Sat May 2 14:35:04 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
* tests/Reactor_Notify_Test.cpp: Factored out some common code to
make the test more concise.
* tests/Reactor_Notify_Test.cpp: Modified the test to check
whether our new mechanism for disabling the notify pipe works
correctly.
* ace/{WFMO,Select}_Reactor[_Impl]: Added the
"disable_notify_pipe" flag in the constructor in order to
disable this feature and save on descriptors if they aren't
required. Thanks to Tom Venturella <tventurell@mdc.com> for
motivating this.
Sat May 02 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu>
* tests/Aio_Platform_Test.cpp: Included this test program for
testing a platform for Asynchronous I/O options.
* tests/Makefile (BIN): Added Aio_Platform_Test.
Fri May 01 17:52:32 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/Arg_Shifter.{h,cpp}: Added macros ACE_Export and
ACE_BUILD_DLL respectively.
* ace/ACE_Library.mak:
* ace/ace_{dll,lib}.dsp: Added Arg_Shifter.cpp into project.
Fri May 1 13:52:32 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
* ace/Addr: Made the destructor for ACE_Addr virtual so that
subclasses can be deleted correctly. Thanks to Wei Chiang
<chiang@horizon.ntc.nokia.com> for reporting this.
* ace: Added Arg_Shifter from TAO and renamed it to
ACE_Arg_Shifter.
* ace/IOStream_T.i (recv_n): ACE_IOStream<STREAM>::eof (void) had
a subtle bug if it is called when a get operation (>>) has not
failed. Thanks to James CE Johnson <ace-users@lads.com> for
reporting this bug.
* examples/Connection/misc/Connection_Handler.cpp: Make sure to
activate() each active object using THR_DETACHED so we don't run
out of threading resources. Thanks to Brad Walton
<brad.walton@transnexus.com> for reporting this.
* ace/Timer_Queue_Adapters.cpp: Rather than returning the result
of schedule_ualarm(), the
ACE_Async_Timer_Queue_Adapter<TQ>::schedule() method should
return the timer id. Thanks to James Garrison
<jhg@austx.tandem.com> for reporting this.
* examples/System_V_IPC/SV_Message_Queues: Renamed the so-called
"ACE_Message_Block" to "Message_Block" so it wouldn't be as
confusing. Thanks to Ganapathi <guns@fs.IConNet.NET> for this
suggestion.
Fri May 01 17:52:32 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/ACE_Library.mak:
* ace/ace_{dll,lib}.dsp: Added Arg_Shifter.cpp into project.
Fri May 01 14:09:21 1998 Steve Huston <shuston@riverace.com>
* ace/OS.h: Changed ACE_hrtime_t from signed to unsigned on Win32
to insure correct results from ACE_High_Res_Timer::elapsed_time
calculations. Fixes bug P87.
Fri May 01 11:52:47 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/OS.h: Forgot to redefine ASYS_INLINE after #undef it.
* ace/OS.i (last_error): On Win32, this should also update errno
after calling SetLastError (). Thanks to Steve for pointing
this out. Fixes bug P88.
Fri May 01 10:01:09 1998 David L. Levine <levine@cs.wustl.edu>
* ace/config-sunos5.6.h: replaced config-sunos5.6-sunc++-4.x.h
with this config file, which supports both Sun C++ and g++.
* ace/OS.i (gethrtime): for the default (::gettimeofday) case,
use 64-bit instead of 32-bit arithmetic by casting to ACE_hrtime_t.
* ace/Basic_Types.{h,i}: added ACE_U_LongLong::operator *.
* ace/Env_Value_T.cpp: added #include of Env_Value_T.h.
Fri May 1 00:35:40 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* include/makeinclude/wrapper_macros.GNU
(ACE_LDSO_Version_Number): Fixed the problem of not able to
parse a formal release number from ace/VERSION.
Thu Apr 30 15:53:58 1998 Nanbor Wang <nanbor@cs.wustl.edu>
* ACE.{h,i,cpp}:
* DEV.{h,i,cpp}:
* DEV_Connector.{h,i,cpp}:
* DEV_IO.{h,i,cpp}:
* Date_Time.{h,i,cpp}:
* FIFO_Recv.{h,i,cpp}:
* FIFO_Recv_Msg.{h,i,cpp}:
* FIFO_Send.{h,i,cpp}:
* FIFO_Send_Msg.{h,i,cpp}:
* FILE.{h,i,cpp}:
* FILE_Connector.{h,i,cpp}:
* FILE_IO.{h,i,cpp}:
* IO_SAP.{h,i,cpp}:
* IPC_SAP.{h,i,cpp}:
* LSOCK.{h,i,cpp}:
* LSOCK_CODgram.{h,i,cpp}:
* LSOCK_Connector.{h,i,cpp}:
* LSOCK_Dgram.{h,i,cpp}:
* LSOCK_Stream.{h,i,cpp}:
* Log_Record.{h,i,cpp}:
* Pipe.{h,i,cpp}:
* SOCK.{h,i,cpp}:
* SOCK_CODgram.{h,i,cpp}:
* SOCK_Connector.{h,i,cpp}:
* SOCK_Dgram.{h,i,cpp}:
* SOCK_Dgram_Bcast.{h,i,cpp}:
* SOCK_Dgram_Mcast.{h,i,cpp}:
* SOCK_IO.{h,i,cpp}:
* SOCK_Stream.{h,i,cpp}:
* SPIPE.{h,i,cpp}:
* SPIPE_Connector.{h,i,cpp}:
* SPIPE_Stream.{h,i,cpp}:
* SV_Message_Queue.{h,i,cpp}:
* SV_Semaphore_Complex.{h,i,cpp}:
* SV_Semaphore_Simple.{h,i,cpp}:
* UPIPE_Acceptor.{h,i,cpp}:
* UPIPE_Connector.{h,i,cpp}: Added inline control for these
supposedly default inline functions.
* ace/config-WinCE.h: Added ACE_LACKS_INLINE_FUNCTIONS.
* ace/OS.h: Added a new macro ASYS_INLINE for platforms that don't
support inline properly. This is controlled by the macro
ACE_LACKS_INLINE_FUNCTIONS.
Walked thru all macros and indented them properly.
* ace/README: Added documentation for ACE_LACKS_INLINE_FUNCTIONS.
|