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/HISTORY
ViewVC logotype

Diff of /sml/trunk/HISTORY

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

revision 1486, Tue May 11 17:04:01 2004 UTC revision 1506, Thu Jun 17 22:19:15 2004 UTC
# Line 14  Line 14 
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16  Name: Matthias Blume (blume (at) tti - c (dot) org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
17    Date: 2004/06/17 17:20:00 CDT
18    Tag: blume-20040617-timer-unix
19    Description:
20    
21    Changed the interface of structures Timer and Unix to match the most
22    recent Basis spec.
23    
24    In the case of Unix there still seems to be an open/weird issue:
25    
26       The {text,bin}{In,Out}streamOf functions are supposed to create
27       fresh streams whenever they are called -- as opposed to have them
28       return the same stream every time.  This design is supposed to
29       prevent space leaks caused by proc values hanging on to streams.
30    
31       The reap function, on the other hand, is supposed to close the
32       streams.  This cannot be done without having a handle on the
33       stream in proc after all...
34    
35    I took the liberty to implement the following stopgap solution:
36    
37      The proc value hangs on to the most recently created stream(s).
38      Reap closes those.  If either or both of the two streams hadn't
39      been created at all yet, then reap will close the corresponding
40      file descriptors directly.
41    
42    PS: I don't understand the original space leak argument anymore.  If
43    a proc hangs on to the imperative stream, then I/O operations on those
44    will advance the state of the cached stream and avoid the space leak.
45    
46    ----------------------------------------------------------------------
47    Name: Matthias Blume (blume (at) tti - c (dot) org)
48    Date: 2004/05/28 16:45:00 CDT
49    Tag: blume-20040528-basis
50    Description:
51    
52    Added signature PACK_REAL and exported functor PrimIO.
53    
54    ----------------------------------------------------------------------
55    Name: Matthias Blume (blume (at) tti - c (dot) org)
56    Date: 2004/05/25 16:00:00 CDT
57    Tag: blume-20040525-group-owner
58    Description:
59    
60    CM now ignores (but still accepts) the "owner" information in group
61    descriptions.  The owner of a group is its next enclosing
62    library. Each group must have a unique owner.  (There is a virtual
63    "toplevel" library that owns groups which are not nested within a real
64    library.)  Previously, each group had to explicitly declare its owner,
65    and CM would check that such a declaration is correct.  The new scheme
66    is to have CM check that for each group there is precisely one owning
67    library.
68    
69    The advantage of the new scheme is that the programmer no longer needs
70    to maintain the somewhat annoying owner information.  The downside is
71    that CM cannot enforce the ownership rule across multiple runs of
72    CM.make.  Fortunately, enclosing the same group in two different
73    libraries A and B which are not part of the same program does not
74    cause real problems.
75    
76    ----------------------------------------------------------------------
77    Name: Matthias Blume (blume (at) tti - c (dot) org)
78    Date: 2004/05/20 16:00:00 CDT
79    Tag: blume-20040520-win32
80    Description:
81    
82    Made the win32 version work again.  (Strangely, a misplaced comma had
83    slipped into win32-process.c which prevented the runtime from being
84    compiled correctly.)
85    
86    Also, included a minor addition to ml-build.bat analogous to what was
87    done in blume-20040519-ml-build.
88    
89    ----------------------------------------------------------------------
90    Name: Matthias Blume (blume (at) tti - c (dot) org)
91    Date: 2004/05/19 22:10:00 CDT
92    Tag: blume-20040519-ml-build
93    Description:
94    
95    Arranged for ml-build to clean up after itself a little bit better.
96    The script generates a temporary SML source file and compiles it using
97    CM, so CM generates metadata (GUID, SKEL, objectfile) for it.  It now
98    gets rid of those at the end, so they don't accumulate under .cm.
99    
100    This required a minor change to install.sh because the name of the
101    metadata directory (default: .cm) is actually configurable at
102    installation time.
103    
104    ----------------------------------------------------------------------
105    Name: Matthias Blume (blume (at) tti - c (dot) org)
106    Date: 2004/05/18 15:50:00 CDT
107    Tag: blume-20040518-mkreader
108    Description:
109    
110    Added Posix.IO.mk{Bin,Text}{Reader,Writer} by lifting their respective
111    implementations from internal modules PosixBinPrimIO and PosixTextPrimIO.
112    
113    ----------------------------------------------------------------------
114    Name: Matthias Blume (blume (at) tti - c (dot) org)
115    Date: 2004/05/11 14:35:00 CDT
116    Tag: blume-20040511-win32sock
117    Description:
118    
119    Added previously missing support for many socket-related functions
120    under win32.  Thanks to David Hansel <hansel@reactive-systems.com>
121    for the voluminous patch!
122    
123    (I have not tested this patch under win32 yet.)
124    
125    Here is David's e-mail:
126    
127    Hi,
128    
129    Attached to this email you find a diff against sml/nj 110.45
130    that will enable socket support under Windows.
131    
132    To apply the patch (using unix or cygwin)
133    1) gunzip runtime.diff.gz
134    2) "cd" into "src/runtime" in the source tree of a fresh
135       110.45 installation.
136    3) patch -p 1 < [your/path/to]runtime.diff
137    
138    The code compiles fine but has NOT yet been extensively tested.
139    I only ran a few tests for basic socket client functionality
140    (which worked fine).  Especially the functions that use ioctl
141    are not tested at all and might not work (see below).
142    
143    I implemented this since we want to move to a newer version of sml/nj
144    but need socket support in order to use it.  This is the first time I
145    even had a look at the sml/nj source,  so please review my changes
146    before making this part of the distribution!  Here are a few issues
147    that I think might be better for someone to solve who is more
148    familiar with the sml/nj source (and socket programming):
149    
150    - getnetbyaddr.c and getnetbyname.c will raise a "not implemented"
151      exception since I could not figure out what the windows equivalent
152      of these functions is
153    
154    - In sockets-osdep.h there are a some #include statements that are
155      only used in a few files that include sockets-osdep.h
156    
157    - In smlnj-sock-lib.c, function init_fn() calls WSAStartup() but
158      does not process its return value since I don't know how to
159      report an error upwards.
160    
161    - It would probably be good to have a call to WSACleanup() when
162      the library is unloaded (if there is such a possibility).
163      Otherwise I think Windows will take care of this automatically
164      when the process finishes.
165    
166    - I used ioctlsocket() as a replacement for ioctl() but I have
167      no idea if that is actually the proper replacement on Windows.
168    
169    - All these issues are marked in the code by "FIXME" comments.
170    
171    We use sml/nj extensively in our products and are quite happy
172    with it.  I hope this contribution will help you.
173    
174    Keep up the good work!
175    
176    David
177    
178    ----------------------------------------------------------------------
179    Name: Matthias Blume (blume (at) tti - c (dot) org)
180    Date: 2004/05/11 14:20:00 CDT
181    Tag: blume-20040511-installml
182    Description:
183    
184    Fixed two bugs in installml script.  (Thanks to Vesa A. Norrman for
185    the patch.)
186    
187    ----------------------------------------------------------------------
188    Name: Matthias Blume (blume (at) tti - c (dot) org)
189    Date: 2004/05/11 14:05:00 CDT
190    Tag: blume-20040511-nlffi-netbsd
191    Description:
192    
193    Added support for nlffi under netbsd.  (Thanks to Vesa A. Norrman for
194    the patch.)
195    
196    ----------------------------------------------------------------------
197    Name: Matthias Blume (blume (at) tti - c (dot) org)
198  Date: 2004/05/11 12:05:00 CDT  Date: 2004/05/11 12:05:00 CDT
199  Tag: blume-20040511-exports  Tag: blume-20040511-exports
200  Description:  Description:

Legend:
Removed from v.1486  
changed lines
  Added in v.1506

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