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 |
Date: 2004/05/28 16:45:00 CDT |
49 |
Tag: blume-20040528-basis |
Tag: blume-20040528-basis |
50 |
Description: |
Description: |