Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/cml/CHANGES
ViewVC logotype

Diff of /sml/trunk/src/cml/CHANGES

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 168, Sat Nov 7 20:11:41 1998 UTC revision 1267, Thu Oct 3 03:25:56 2002 UTC
# Line 1  Line 1 
1  This is a record of changes made to CML and the CML Library.  This is a record of changes made to CML and the CML Library.
2  ------------------------------------------------------------  ------------------------------------------------------------
3    
4  Version 1.0.13 (SML/NJ 110.9)  [2002-10-01]
5  -----------------------------          Fixed a bad space leak in the stream I/O implementations.  The
6            cleanup hooks were holding onto the initial buffer, which
7    - Changes to I/O APIs to track basis changes (deleted in_pos support          meant that the entire buffer chain would remain live as long
8      and changed type of StreamIO.mkInstream).          as the stream was live.
9      [1998-10-16]  
10    [2001-06-20]
11            Ported to SML/NJ 110.33 (in particular, the new CM).
12            Under the new CM, the CML library is known as $cml/cml.cm
13            and there is a CML-specific replacement for $/basis.cm
14            known as $cml/basis.cm.  Two additional libraries
15            ($cml/cml-internal.cm and $cml/core-cml.cm) are used
16            internally but should not be referred to directly by client code.
17            A CML-specific replacement for $/smlnj-lib.cm is
18            known as $cml-lib/smlnj-lib.cm.  The trace module is
19            $cml-lib/trace-cml.cm. (The aforementioned $cml/core-cml.cm
20            exists mainly to make it possible for $cml-lib/trace-cml.cm
21            to refer to it.)
22    
23    [2001-03-8]
24            Fixed a problem in the ordering of clean-up actions.  IO streams
25            were being cleaned before servers, which meant that servers could
26            not use I/O in initialization or shutdown.
27    
28    [2001-01-14]
29            Fixed a bug in the timeout manager.  Cleanup actions were being
30            executed twice, which breaks withNack.
31    
32    [2000-12-12]
33            Fixed a bug in the I/O manager (core-cml/io-manager.sml), where
34            if there were two threads blocked on the same descriptor (one
35            reading and one writing), the result might be matched to the
36            wrong thread.
37    
38    [2000-09-28]
39            Version 1.0.13 (SML/NJ Version 110.0.7)
40    
41    [2000-09-27]
42            Updated the CML Library to track additions to the SML/NJ Library.
43    
44    [1999-12-08]
45            Fixed a collection of bugs in event.sml related to the handling of
46            negative acknowledgements.
47    
48    [1999-12-01]
49            Modified RunCML.doit to install a dummy print hook.  This prevents
50            the bug of SML/NJ's print function being called during CML execution
51            (the CML print function is installed by code in TextIO, but that
52            code isn't loaded by CML when the application does not specifically
53            mention TextIO).
54    
55  Version 1.0.12 (SML/NJ 110.0.4 and 110.8)  Version 1.0.12 (SML/NJ 110.0.6 and 110.8)
56  -----------------------------------------  -----------------------------------------
57    
58    - Added preliminary Win32 implementation.  [1999-09-29]
59            Updated the CML Library to track additions to the SML/NJ Library.
60    
61    [1999-07-05]
62            Added support for Win32 sockets (thanks to Riccardo Pucella).
63    
64      [1998-08-04]      [1998-08-04]
65            Added preliminary Win32 implementation (thanks to Riccardo Pucella).
66    
   - Fixed type of inputLineEvt in CML_TEXT_STREAM_IO (thanks to A. Appel).  
67      [1998-06-01]      [1998-06-01]
68            Fixed type of inputLineEvt in CML_TEXT_STREAM_IO (thanks to A. Appel).
69    
   - Fixed bug in ChanIOFn (failure to spawn threads).  
70      [1998-03-12]      [1998-03-12]
71            Fixed bug in ChanIOFn (failure to spawn threads).
72    
73    
74  Version 1.0.11 (SML/NJ 109.33 and 110)  Version 1.0.11 (SML/NJ 109.33 and 110)
75  --------------------------------------  --------------------------------------
76    
   - Added TextIO.scanStream function.  
77      [1997-11-21]      [1997-11-21]
78            Added TextIO.scanStream function.
79    
   - Added import of PathUtil:PATH_UTIL to CML library.  
80      [1997-11-21]      [1997-11-21]
81            Added import of PathUtil:PATH_UTIL to CML library.
82    
83    
84  Version 1.0.10 (SML/NJ 109.32)  Version 1.0.10 (SML/NJ 109.32)
85  ------------------------------  ------------------------------
86    
   - Fixed a scheduler bug that occured when the atomicState was SignalPending  
     and atomicSwitchTo was used to exit the atomic region.  
87      [1997-09-18]      [1997-09-18]
88            Fixed a scheduler bug that occured when the atomicState was SignalPending
89            and atomicSwitchTo was used to exit the atomic region.
90    
   - Fixed a bug in the RunCML.doit code that prevented multiple runs (this bug  
     was exposed by the previous bug fix).  
91      [1997-09-15]      [1997-09-15]
92            Fixed a bug in the RunCML.doit code that prevented multiple runs (this bug
93            was exposed by the previous bug fix).
94    
   - Fixed a serious bug with the internal condition variables (Event.atomicCVarSet  
     was not changing the state of the variable).  
95      [1997-09-15]      [1997-09-15]
96            Fixed a serious bug with the internal condition variables (Event.atomicCVarSet
97            was not changing the state of the variable).
98    
   - Introduced datatype rebinding to eliminate some structure opening.  
99      [1997-09-15]      [1997-09-15]
100            Introduced datatype rebinding to eliminate some structure opening.
101    
   - Moved definition of tidToString to RepTypes, so that it can be used in  
     debugging the CML internals.  
102      [1997-09-14]      [1997-09-14]
103            Moved definition of tidToString to RepTypes, so that it can be used in
104            debugging the CML internals.
105    
106    - Server initialization/shutdown is now handled by a dedicated cleanup  [1997-09-12]
107            Server initialization/shutdown is now handled by a dedicated cleanup
108      routine.  Eventually, each server should define its own cleanup routine,      routine.  Eventually, each server should define its own cleanup routine,
109      and we'll get rid of logServer.      and we'll get rid of logServer.
     [1997-09-12]  
110    
   - Fixed bugs in the initialization and shutdown protocols for the standard  
     text streams.  
111      [1997-09-12]      [1997-09-12]
112            Fixed bugs in the initialization and shutdown protocols for the standard
113            text streams.
114    
115    
116  Version 1.0.9 (SML/NJ 109.31)  Version 1.0.9 (SML/NJ 109.31)
117  -----------------------------  -----------------------------
118    
   - Added cleanup code for the I/O stacks (including the standard I/O streams).  
119      [1997-09-02]      [1997-09-02]
120            Added cleanup code for the I/O stacks (including the standard I/O streams).
121    
122    - Implemented a clean-up mechansim that is similar to that provided by  [1997-08-29]
123            Implemented a clean-up mechansim that is similar to that provided by
124      SML/NJ.  The logging of global servers for initialization/shutdown      SML/NJ.  The logging of global servers for initialization/shutdown
125      is now done using cleaners, which provide somewhat finer control.      is now done using cleaners, which provide somewhat finer control.
126      Channel and mailbox logging is still supported, but the initialization      Channel and mailbox logging is still supported, but the initialization
127      is done by a dedicated cleaner.  This change is part of the overhaul      is done by a dedicated cleaner.  This change is part of the overhaul
128      of RunCML.      of RunCML.
     [1997-08-29]  
129    
   - Qualified the use of the "cont" type constructor, which is no longer  
     available at top level.  
130      [1997-08-28]      [1997-08-28]
131            Qualified the use of the "cont" type constructor, which is no longer
132            available at top level.
133    
   - Replaced a few holdover uses of "abstraction" with opaque signature matching.  
134      [1997-08-28]      [1997-08-28]
135            Replaced a few holdover uses of "abstraction" with opaque signature matching.
136    
137    - RunCML.doit now returns an OS.Process.status value.  If a CML program  [1997-08-15]
138            RunCML.doit now returns an OS.Process.status value.  If a CML program
139      uses OS.Process.{exit,terminate} to shutdown, then the status argument      uses OS.Process.{exit,terminate} to shutdown, then the status argument
140      is returned as the result.  If the system shuts down because of deadlock,      is returned as the result.  If the system shuts down because of deadlock,
141      the OS.Process.failure is returned.      the OS.Process.failure is returned.
     [1997-08-15]  
142    
143    - Many changes to ensure that exportFn images do not include the entire  [1997-08-15]
144            Many changes to ensure that exportFn images do not include the entire
145      top-level environment.  These include: using SMLofNJ.isolate to create      top-level environment.  These include: using SMLofNJ.isolate to create
146      top-level continuations, and reimplementing RunCML.exportFn to do better      top-level continuations, and reimplementing RunCML.exportFn to do better
147      housekeeping.  To get this to work also required a number of changes      housekeeping.  To get this to work also required a number of changes
148      to the SML/NJ sources.      to the SML/NJ sources.
     [1997-08-15]  
149    
   - Fixed bug in scheduler, where a timer interrupt in an atomic region  
     was not getting marked by SignalPending.  
150      [1997-08-15]      [1997-08-15]
151            Fixed bug in scheduler, where a timer interrupt in an atomic region
152            was not getting marked by SignalPending.
153    
   - The TextIO.output* functions did not implement line buffering; this  
     has now been added.  
154      [1997-07-24]      [1997-07-24]
155            The TextIO.output* functions did not implement line buffering; this
156            has now been added.
157    
158    
159  Version 1.0.8 (SML/NJ 109.30)  Version 1.0.8 (SML/NJ 109.30)
160  -----------------------------  -----------------------------
161    
   - Changed uses of System.Unsafe to Unsafe.  
162      [1997-07-11]      [1997-07-11]
163            Changed uses of System.Unsafe to Unsafe.
164    
   - Eliminated redefinition of Scheduler structure to avoid loss of inlining,  
     since the compiler handles this properly now.  
165      [1997-07-11]      [1997-07-11]
166            Eliminated redefinition of Scheduler structure to avoid loss of inlining,
167            since the compiler handles this properly now.
168    
   - Added Atom.atom' (tracking SML/NJ library changes)  
169      [1997-07-11]      [1997-07-11]
170            Added Atom.atom' (tracking SML/NJ library changes)
171    
   - Removed Array2:ARRAY2 from library, as this is now gone from the  
     SML/NJ library.  
172      [1997-06-30]      [1997-06-30]
173            Removed Array2:ARRAY2 from library, as this is now gone from the
174            SML/NJ library.
175    
176    
177  Version 1.0.7 (SML/NJ 109.29)  Version 1.0.7 (SML/NJ 109.29)
178  -----------------------------  -----------------------------
179    
   - Changed OS.IO.{pollErr,isErr} to OS.IO.{pollPri,isPri} (this tracks fixes  
     in the SML/NJ implementation of the SML Basis Library.  
180      [1997-06-11]      [1997-06-11]
181            Changed OS.IO.{pollErr,isErr} to OS.IO.{pollPri,isPri} (this tracks fixes
182            in the SML/NJ implementation of the SML Basis Library.
183    
   - Changes to src/Unix/posix-bin-prim-io.sml to track basis fixes.  
184      [1997-06-11]      [1997-06-11]
185            Changes to src/Unix/posix-bin-prim-io.sml to track basis fixes.
186    
187    
188  Version 1.0.6 (SML/NJ 109.28)  Version 1.0.6 (SML/NJ 109.28)
189  -----------------------------  -----------------------------
190    
191    - Added a temporary fix so that input operations do not cause the whole  [1997-05-21]
192            Added a temporary fix so that input operations do not cause the whole
193      CML system to block waiting for input.  Eventually, there should be a      CML system to block waiting for input.  Eventually, there should be a
194      CML version of the complete Posix API, which is the right way to avoid      CML version of the complete Posix API, which is the right way to avoid
195      this problem.      this problem.
     [1997-05-21]  
196    
197    - Added RunCML.exportFn.  [1997-05-21]
198            Added RunCML.exportFn.
199      NOTE: there are some problems with the size of exported images that      NOTE: there are some problems with the size of exported images that
200      need to be tracked down and fixed.      need to be tracked down and fixed.
     [1997-05-21]  
201    
202    
203  Version 1.0.5 (SML/NJ 109.26)  Version 1.0.5 (SML/NJ 109.26)
204  -----------------------------  -----------------------------
205    
   - Added SyncVar.{mSwap,mSwapEvt} operations, and changed the implementation  
     of multicast channels to use it.  
206      [1997-03-18]      [1997-03-18]
207            Added SyncVar.{mSwap,mSwapEvt} operations, and changed the implementation
208            of multicast channels to use it.
209    
   - Modified SyncVar.{mGet,mGetEvt} to resume other blocked threads (just  
     as iGet does).  
210      [1997-03-17]      [1997-03-17]
211            Modified SyncVar.{mGet,mGetEvt} to resume other blocked threads (just
212            as iGet does).
213    
   - Fixed a bug in SyncVar.{mTake,mTakeEvt}, where the cell was not getting  
     emptied in some execution paths.  
214      [1997-03-16]      [1997-03-16]
215            Fixed a bug in SyncVar.{mTake,mTakeEvt}, where the cell was not getting
216            emptied in some execution paths.
217    
218    - Added an "error thread," which is enqueued when CML is not running.  [1997-03-15]
219            Added an "error thread," which is enqueued when CML is not running.
220      This thread will get dispatched if someone tries to execute a CML      This thread will get dispatched if someone tries to execute a CML
221      operation without using RunCML.doit (not including channel allocation,      operation without using RunCML.doit (not including channel allocation,
222      etc.).  I also added a top-level call to Scheduler.reset, which will      etc.).  I also added a top-level call to Scheduler.reset, which will
223      ensure that the current thread ID is initialized.      ensure that the current thread ID is initialized.
     [1997-03-15]  
224    
   - Fixed a serious bug in SyncVar.{iPut,mPut}, where the cell was not  
     getting filled in some cases.  
225      [1997-03-13]      [1997-03-13]
226            Fixed a serious bug in SyncVar.{iPut,mPut}, where the cell was not
227            getting filled in some cases.
228    
229    
230  Version 1.0.4 (SML/NJ 109.25.2)  Version 1.0.4 (SML/NJ 109.25.2)
231  -------------------------------  -------------------------------
232    
233    - Added some additional modules to the CML Library: IOUtil:IO_UTIL and  [1997-02-28]
234            Added some additional modules to the CML Library: IOUtil:IO_UTIL and
235      KeywordsFn.  These were recent additions to the SML/NJ Library.  I also      KeywordsFn.  These were recent additions to the SML/NJ Library.  I also
236      reorganized the directory structure of the CML library to make it easier      reorganized the directory structure of the CML library to make it easier
237      to track changes in the SML/NJ Library.      to track changes in the SML/NJ Library.
     [1997-02-28]  
238    
   - Tracked changes in location of continuation operations changed in SML/NJ.  
239      [1997-02-28]      [1997-02-28]
240            Tracked changes in location of continuation operations changed in SML/NJ.
241    
242    
243  Version 1.0.3 (SML/NJ 109.25.1)  Version 1.0.3 (SML/NJ 109.25.1)
244  -------------------------------  -------------------------------
245    
   - Fixed bugs in the implementation of the pauseHook and schedulerHook in  
     RunCMLFn (missing atomicBegin).  
246      [1997-02-25]      [1997-02-25]
247            Fixed bugs in the implementation of the pauseHook and schedulerHook in
248            RunCMLFn (missing atomicBegin).
249    
   - Fixed bug in implementation of TraceCML when TraceToFile was set as the  
     destination.  
250      [1997-02-25]      [1997-02-25]
251            Fixed bug in implementation of TraceCML when TraceToFile was set as the
252            destination.
253    
   - Fixed bug in random access support in BinIOFn and TextIOFn (bug also in  
     SML/NJ implementation).  
254      [1997-02-18]      [1997-02-18]
255            Fixed bug in random access support in BinIOFn and TextIOFn (bug also in
256            SML/NJ implementation).
257    
   - Added logging/unlogging for global mailboxes.  
258      [1997-02-17]      [1997-02-17]
259            Added logging/unlogging for global mailboxes.
260    
   - Fixed bug in the TraceCML.unwatchThread.  Also changed the implementation  
     to avoid potential races between unwatching a thread and its termination.  
261      [1997-02-17]      [1997-02-17]
262            Fixed bug in the TraceCML.unwatchThread.  Also changed the implementation
263            to avoid potential races between unwatching a thread and its termination.
264    
265    - Various changes to the Scheduler module to improve robustness.  Added  [1997-02-15]
266            Various changes to the Scheduler module to improve robustness.  Added
267      an exception handler around the function in enqueueTmpThread.  Replaced      an exception handler around the function in enqueueTmpThread.  Replaced
268      enqueueCurThread with enqueueAndSwitchCurThread, which keeps the thread      enqueueCurThread with enqueueAndSwitchCurThread, which keeps the thread
269      ID bookkeeping in the same place.  And fixed a bug(?) where atomicSwitchTo      ID bookkeeping in the same place.  And fixed a bug(?) where atomicSwitchTo
270      was failing to set the current thread ID properly.      was failing to set the current thread ID properly.
     [1997-02-15]  
271    
   - Added sendPoll operation on channels to CML structure.  
272      [1997-02-04]      [1997-02-04]
273            Added sendPoll operation on channels to CML structure.
274    
275    
276  Version 1.0.2 (SML/NJ 109.25)  Version 1.0.2 (SML/NJ 109.25)
277  -----------------------------  -----------------------------
278    
   - Added documentation for the Multicast and TraceCML library modules.  
279      [1997-01-30]      [1997-01-30]
280            Added documentation for the Multicast and TraceCML library modules.
281    
   - Made minor improvements to the implementation of TraceCML.  
282      [1997-01-30]      [1997-01-30]
283            Made minor improvements to the implementation of TraceCML.
284    
285    - Changes to the SML/NJ system (available in 109.25) now make it possible  [1997-01-29]
286            Changes to the SML/NJ system (available in 109.25) now make it possible
287      to use the top-level print function in CML programs (it gets dynamically      to use the top-level print function in CML programs (it gets dynamically
288      rebound to CML's version of TextIO.print when a CML program starts running).      rebound to CML's version of TextIO.print when a CML program starts running).
     [1997-01-29]  
289    
   - Renamed CML.atEvt to CML.atTimeEvt.  
290      [1997-01-27]      [1997-01-27]
291            Renamed CML.atEvt to CML.atTimeEvt.
292    
   - Added SimpleRPC:SIMPLE_RPC to the CML library.  
293      [1997-01-26]      [1997-01-26]
294            Added SimpleRPC:SIMPLE_RPC to the CML library.
295    
   - Fixed a bug in the I/O manager for the case when two I/O events became  
     enabled for the same thread at the same time.  
296      [1997-01-26]      [1997-01-26]
297            Fixed a bug in the I/O manager for the case when two I/O events became
298            enabled for the same thread at the same time.
299    
300    
301  Version 1.0.1 (SML/NJ 109.22)  Version 1.0.1 (SML/NJ 109.22)
302  -----------------------------  -----------------------------
303    
   - Added UnixEnv:UNIX_ENV to the structures reexported from the CML library.  
304      [1996-11-09]      [1996-11-09]
305            Added UnixEnv:UNIX_ENV to the structures reexported from the CML library.
306    
   - Fixed bug in {TextIO,BinIO}.StreamIO.endOfStream, where more m-variable  
     was getting multiple puts.  
307      [1996-11-07]      [1996-11-07]
308            Fixed bug in {TextIO,BinIO}.StreamIO.endOfStream, where more m-variable
309            was getting multiple puts.
310    
311    
312  Version 1.0 (SML/NJ 109.21.1)  Version 1.0 (SML/NJ 109.21.1)
313  -----------------------------  -----------------------------
314    
   - Added version and banner to CML structure.  
315      [1996-11-01]      [1996-11-01]
316            Added version and banner to CML structure.
317    
   - Added CML version of Unix structure.  
318      [1996-11-01]      [1996-11-01]
319            Added CML version of Unix structure.
320    
   - Changed the implementation of the internal condition variables to make  
     them work correctly.  
321      [1996-11-01]      [1996-11-01]
322            Changed the implementation of the internal condition variables to make
323            them work correctly.
324    
   - Added implementation of OS.IO.poll and OS.IO.pollEvt.  
325      [1996-11-01]      [1996-11-01]
326            Added implementation of OS.IO.poll and OS.IO.pollEvt.
327    
   - Fixed implementation of Socket.connect.  
328      [1996-11-01]      [1996-11-01]
329            Fixed implementation of Socket.connect.
330    

Legend:
Removed from v.168  
changed lines
  Added in v.1267

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0