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

SCM Repository

[smlnj] Annotation of /cml/trunk/CHANGES
ViewVC logotype

Annotation of /cml/trunk/CHANGES

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1267 - (view) (download)
Original Path: sml/trunk/src/cml/CHANGES

1 : monnier 2 This is a record of changes made to CML and the CML Library.
2 :     ------------------------------------------------------------
3 : jhr 1267
4 :     [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 :     meant that the entire buffer chain would remain live as long
8 :     as the stream was live.
9 :    
10 : blume 844 [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 : monnier 2
23 : blume 844 [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 : monnier 167
28 : blume 844 [2001-01-14]
29 :     Fixed a bug in the timeout manager. Cleanup actions were being
30 :     executed twice, which breaks withNack.
31 : monnier 167
32 : blume 844 [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.6 and 110.8)
56 : monnier 139 -----------------------------------------
57 : monnier 106
58 : blume 844 [1999-09-29]
59 :     Updated the CML Library to track additions to the SML/NJ Library.
60 : monnier 139
61 : blume 844 [1999-07-05]
62 :     Added support for Win32 sockets (thanks to Riccardo Pucella).
63 : monnier 139
64 : blume 844 [1998-08-04]
65 :     Added preliminary Win32 implementation (thanks to Riccardo Pucella).
66 : monnier 106
67 : blume 844 [1998-06-01]
68 :     Fixed type of inputLineEvt in CML_TEXT_STREAM_IO (thanks to A. Appel).
69 : monnier 106
70 : blume 844 [1998-03-12]
71 :     Fixed bug in ChanIOFn (failure to spawn threads).
72 :    
73 :    
74 : monnier 8 Version 1.0.11 (SML/NJ 109.33 and 110)
75 :     --------------------------------------
76 :    
77 : blume 844 [1997-11-21]
78 :     Added TextIO.scanStream function.
79 : monnier 8
80 : blume 844 [1997-11-21]
81 :     Added import of PathUtil:PATH_UTIL to CML library.
82 : monnier 8
83 :    
84 :     Version 1.0.10 (SML/NJ 109.32)
85 :     ------------------------------
86 :    
87 : blume 844 [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 : monnier 8
91 : blume 844 [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 : monnier 8
95 : blume 844 [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 : monnier 8
99 : blume 844 [1997-09-15]
100 :     Introduced datatype rebinding to eliminate some structure opening.
101 : monnier 8
102 : blume 844 [1997-09-14]
103 :     Moved definition of tidToString to RepTypes, so that it can be used in
104 :     debugging the CML internals.
105 : monnier 8
106 : blume 844 [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,
109 :     and we'll get rid of logServer.
110 : monnier 8
111 : blume 844 [1997-09-12]
112 :     Fixed bugs in the initialization and shutdown protocols for the standard
113 :     text streams.
114 : monnier 8
115 :    
116 : monnier 2 Version 1.0.9 (SML/NJ 109.31)
117 :     -----------------------------
118 :    
119 : blume 844 [1997-09-02]
120 :     Added cleanup code for the I/O stacks (including the standard I/O streams).
121 : monnier 2
122 : blume 844 [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
125 :     is now done using cleaners, which provide somewhat finer control.
126 :     Channel and mailbox logging is still supported, but the initialization
127 :     is done by a dedicated cleaner. This change is part of the overhaul
128 :     of RunCML.
129 : monnier 2
130 : blume 844 [1997-08-28]
131 :     Qualified the use of the "cont" type constructor, which is no longer
132 :     available at top level.
133 : monnier 2
134 : blume 844 [1997-08-28]
135 :     Replaced a few holdover uses of "abstraction" with opaque signature matching.
136 : monnier 2
137 : blume 844 [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
140 :     is returned as the result. If the system shuts down because of deadlock,
141 :     the OS.Process.failure is returned.
142 : monnier 2
143 : blume 844 [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
146 :     top-level continuations, and reimplementing RunCML.exportFn to do better
147 :     housekeeping. To get this to work also required a number of changes
148 :     to the SML/NJ sources.
149 : monnier 2
150 : blume 844 [1997-08-15]
151 :     Fixed bug in scheduler, where a timer interrupt in an atomic region
152 :     was not getting marked by SignalPending.
153 : monnier 2
154 : blume 844 [1997-07-24]
155 :     The TextIO.output* functions did not implement line buffering; this
156 :     has now been added.
157 : monnier 2
158 :    
159 :     Version 1.0.8 (SML/NJ 109.30)
160 :     -----------------------------
161 :    
162 : blume 844 [1997-07-11]
163 :     Changed uses of System.Unsafe to Unsafe.
164 : monnier 2
165 : blume 844 [1997-07-11]
166 :     Eliminated redefinition of Scheduler structure to avoid loss of inlining,
167 :     since the compiler handles this properly now.
168 : monnier 2
169 : blume 844 [1997-07-11]
170 :     Added Atom.atom' (tracking SML/NJ library changes)
171 : monnier 2
172 : blume 844 [1997-06-30]
173 :     Removed Array2:ARRAY2 from library, as this is now gone from the
174 :     SML/NJ library.
175 : monnier 2
176 :    
177 :     Version 1.0.7 (SML/NJ 109.29)
178 :     -----------------------------
179 :    
180 : blume 844 [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 : monnier 2
184 : blume 844 [1997-06-11]
185 :     Changes to src/Unix/posix-bin-prim-io.sml to track basis fixes.
186 : monnier 2
187 :    
188 :     Version 1.0.6 (SML/NJ 109.28)
189 :     -----------------------------
190 :    
191 : blume 844 [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
194 :     CML version of the complete Posix API, which is the right way to avoid
195 :     this problem.
196 : monnier 2
197 : blume 844 [1997-05-21]
198 :     Added RunCML.exportFn.
199 :     NOTE: there are some problems with the size of exported images that
200 :     need to be tracked down and fixed.
201 : monnier 2
202 :    
203 :     Version 1.0.5 (SML/NJ 109.26)
204 :     -----------------------------
205 :    
206 : blume 844 [1997-03-18]
207 :     Added SyncVar.{mSwap,mSwapEvt} operations, and changed the implementation
208 :     of multicast channels to use it.
209 : monnier 2
210 : blume 844 [1997-03-17]
211 :     Modified SyncVar.{mGet,mGetEvt} to resume other blocked threads (just
212 :     as iGet does).
213 : monnier 2
214 : blume 844 [1997-03-16]
215 :     Fixed a bug in SyncVar.{mTake,mTakeEvt}, where the cell was not getting
216 :     emptied in some execution paths.
217 : monnier 2
218 : blume 844 [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
221 :     operation without using RunCML.doit (not including channel allocation,
222 :     etc.). I also added a top-level call to Scheduler.reset, which will
223 :     ensure that the current thread ID is initialized.
224 : monnier 2
225 : blume 844 [1997-03-13]
226 :     Fixed a serious bug in SyncVar.{iPut,mPut}, where the cell was not
227 :     getting filled in some cases.
228 : monnier 2
229 :    
230 :     Version 1.0.4 (SML/NJ 109.25.2)
231 :     -------------------------------
232 :    
233 : blume 844 [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
236 :     reorganized the directory structure of the CML library to make it easier
237 :     to track changes in the SML/NJ Library.
238 : monnier 2
239 : blume 844 [1997-02-28]
240 :     Tracked changes in location of continuation operations changed in SML/NJ.
241 : monnier 2
242 :    
243 :     Version 1.0.3 (SML/NJ 109.25.1)
244 :     -------------------------------
245 :    
246 : blume 844 [1997-02-25]
247 :     Fixed bugs in the implementation of the pauseHook and schedulerHook in
248 :     RunCMLFn (missing atomicBegin).
249 : monnier 2
250 : blume 844 [1997-02-25]
251 :     Fixed bug in implementation of TraceCML when TraceToFile was set as the
252 :     destination.
253 : monnier 2
254 : blume 844 [1997-02-18]
255 :     Fixed bug in random access support in BinIOFn and TextIOFn (bug also in
256 :     SML/NJ implementation).
257 : monnier 2
258 : blume 844 [1997-02-17]
259 :     Added logging/unlogging for global mailboxes.
260 : monnier 2
261 : blume 844 [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 : monnier 2
265 : blume 844 [1997-02-15]
266 :     Various changes to the Scheduler module to improve robustness. Added
267 :     an exception handler around the function in enqueueTmpThread. Replaced
268 :     enqueueCurThread with enqueueAndSwitchCurThread, which keeps the thread
269 :     ID bookkeeping in the same place. And fixed a bug(?) where atomicSwitchTo
270 :     was failing to set the current thread ID properly.
271 : monnier 2
272 : blume 844 [1997-02-04]
273 :     Added sendPoll operation on channels to CML structure.
274 : monnier 2
275 :    
276 :     Version 1.0.2 (SML/NJ 109.25)
277 :     -----------------------------
278 :    
279 : blume 844 [1997-01-30]
280 :     Added documentation for the Multicast and TraceCML library modules.
281 : monnier 2
282 : blume 844 [1997-01-30]
283 :     Made minor improvements to the implementation of TraceCML.
284 : monnier 2
285 : blume 844 [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
288 :     rebound to CML's version of TextIO.print when a CML program starts running).
289 : monnier 2
290 : blume 844 [1997-01-27]
291 :     Renamed CML.atEvt to CML.atTimeEvt.
292 : monnier 2
293 : blume 844 [1997-01-26]
294 :     Added SimpleRPC:SIMPLE_RPC to the CML library.
295 : monnier 2
296 : blume 844 [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 : monnier 2
300 :    
301 :     Version 1.0.1 (SML/NJ 109.22)
302 :     -----------------------------
303 :    
304 : blume 844 [1996-11-09]
305 :     Added UnixEnv:UNIX_ENV to the structures reexported from the CML library.
306 : monnier 2
307 : blume 844 [1996-11-07]
308 :     Fixed bug in {TextIO,BinIO}.StreamIO.endOfStream, where more m-variable
309 :     was getting multiple puts.
310 : monnier 2
311 :    
312 :     Version 1.0 (SML/NJ 109.21.1)
313 :     -----------------------------
314 :    
315 : blume 844 [1996-11-01]
316 :     Added version and banner to CML structure.
317 : monnier 2
318 : blume 844 [1996-11-01]
319 :     Added CML version of Unix structure.
320 : monnier 2
321 : blume 844 [1996-11-01]
322 :     Changed the implementation of the internal condition variables to make
323 :     them work correctly.
324 : monnier 2
325 : blume 844 [1996-11-01]
326 :     Added implementation of OS.IO.poll and OS.IO.pollEvt.
327 : monnier 2
328 : blume 844 [1996-11-01]
329 :     Fixed implementation of Socket.connect.
330 : monnier 2

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