SCM Repository
Diff of /sml/trunk/src/cm/compile/unix-servers.sml
Parent Directory
|
Revision Log
|
Patch
revision 457, Thu Oct 28 05:58:19 1999 UTC | revision 458, Thu Oct 28 14:22:55 1999 UTC | |
---|---|---|
# | Line 158 | Line 158 |
158 | send (s, "ping\n"); | send (s, "ping\n"); |
159 | loop () | loop () |
160 | end | end |
161 | val si = Concur.ucond () | |
162 | in | in |
163 | if List.null al then () | |
164 | else (Concur.signal si; | |
165 | Say.say ["Waiting for attached servers to become idle...\n"]); | |
166 | app ping al; | app ping al; |
167 | idle := al | idle := al; |
168 | someIdle := si | |
169 | end | end |
170 | ||
171 | fun shutdown (name, method) = let | fun shutdown (name, method) = let |
# | Line 222 | Line 227 |
227 | val _ = idle := [] | val _ = idle := [] |
228 | val tl = map (fn s => Concur.fork (fn () => st s)) l | val tl = map (fn s => Concur.fork (fn () => st s)) l |
229 | in | in |
230 | app Concur.wait tl | SafeIO.perform { openIt = fn () => (), |
231 | closeIt = fn () => (), | |
232 | work = fn () => app Concur.wait tl, | |
233 | cleanup = reset } | |
234 | end | end |
235 | ||
236 | fun cm p = let | fun cm p = let |
|
root@smlnj-gforge.cs.uchicago.edu | ViewVC Help |
Powered by ViewVC 1.0.0 |