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

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