- AW: - closing shared files

From: Oberon microsystems AG, Tech-Support <"Oberon>
Date: Tue, 17 Jan 2006 16:40:44 +0100

----boundary-LibPST-iamunique-884423791_-_-
Content-type: text/plain

Helmut,

Files.File.Close behaves quite subtly. The documentation says: "The file f and the riders operating on file f are not valid anymore after closing f, i.e., no more file or rider operations may be performed on it." Consequently you are not allowed to close a file unless you are absolutely sure that you are in the possession of the only reference to a given file instance in the entire BlackBox system. This condition does not hold in the scenario described by you. In an open system like BlackBox this behavior is obviously less than optimal. To correct this we would have to redesign the Files implementation in HostFiles. The cleanest way to do this would be to simply reopen files if they are accessed after they have been closed.

Cheers
Marc

Oberon microsystems AG
+41 (0)44 445 17 51
www.oberon.ch


  

> -----Original Message-----
> From: blackbox{([at]})nowhere.xy
> Behalf Of Zinn, Helmut
> Sent: Dienstag, 17. Januar 2006 13:09
> To: Blackbox
> Subject: [BlackBox] - AW: [BlackBox] - closing shared files
>
>
> Dear Andrew, dear Mark,
>
> long time ago I had a close statement inside my subsystem Dos
> (DosDiffDir.DiffBin) active. I get the following problem
> while the Close statement was active:
> - I had open file x interactively and have done some changes
> (not saved yet)
> - I run DosDiffDir which opened and closed file x
> - I work further with file x interactively
> - Suddenly I get trap and all changes was lost
> - It was also not able to save the changes of file x after
> DosDiffDir was running. So I can't recommend to use the
> command close until you are sure that there is no other use
> of the same file.
>
> Regards
>
> Helmut Zinn
>
>
> -----Ursprüngliche Nachricht-----
> Von: blackbox{([at]})nowhere.xy
> von Oberon microsystems AG, Tech-Support
> Gesendet: Dienstag, 17. Januar 2006 11:38
> An: BlackBox Mailing List
> Betreff: [BlackBox] - closing shared files
>
>
> Andrew,
>
> > However looking at module HostFiles I am not sure that Close
> > does "nothing" for files opened in shared mode.
>
> You are right. The corrected sentence reads as follows:
> "Close does nothing if the file is not open."
>
> > I suspect that statements like
> > IF Files.dir.Old(....files.shared) # NIL THEN ... END
> > are causing problems. Maybe FINALIZE does not get called in
> this case?
>
> No problem with this. The documentation says: "If a call to
> New or Old is not balanced by a call to Close, the Close is
> later performed automatically, at an unspecified time." Close
> will not be called until the garbage collector kicks in and
> calls FINALIZE on the anonymous file object created by the
> statement above.
>
> > Do I have to explicitly close the file f by calling f.Close?
>
> In your case this would probably be the right thing to do
> unless it is okay to wait that unspecified amount of time for
> the garbage collector.
>
> with best regards
> Marc
>
> Oberon microsystems AG
> +41 (0)44 445 17 51
> www.oberon.ch
>
>
> >
> >
> > -----Original Message-----
> > From: blackbox{([at]})nowhere.xy
> > Behalf Of A Thomas
> > Sent: Donnerstag, 12. Januar 2006 09:16
> > To: Blackbox
> > Subject: [BlackBox] - closing shared files
> >
> >
> > Hei BlackBox community,
> >
> > I am very confused about the need to close files
> > that have been opened in shared mode. Suppose I open a file
> > in shared mode using f := Files.dir.Old(... Files.shared) and
> > read the file and find some sort of error in its contents
> > that requires the file to be edited. So long as the file f is
> > not stored in a global variable I think there should be no
> > problem, I should be able to start say NotePad to edit the

> > file. Do I have to explicitly close the file f by calling

> > f.Close? In the documentation for module File it says
> >
> > PROCEDURE (f: File) Close
> > NEW, ABSTRACT
> > Closes an open file. Close does nothing if the file is not
> > open or if it has been opened in "shared" mode. If a call to
> > New or Old is not balanced by a call to Close, the Close is
> > later performed automatically, at an unspecified time. If it
> > is known that a file won't be used again, it is recommended
> > to call its Close procedure. The file f and the riders
> > operating on file f are not valid anymore after closing f,
> > i.e., no more file or rider operations may be performed on
> > it. However, the closed file can be retrieved and opened
> > again by procedure Old. Close may call Flush internally.
> > Close should (but need not necessarily) be called explicitly
> > after a file is not needed anymore.
> >
> > However looking at module HostFiles I am not sure that Close
> > does "nothing" for files opened in shared mode.
> >
> >
> > I suspect that statements like
> >
> > IF Files.dir.Old(....files.shared) # NIL THEN ... END
> >
> > are causing problems. Maybe FINALIZE does not get called in
> this case?
> >
> > Moi
> >
> > Andrew
> >
>
> --- BlackBox
> --- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy
>
>
> ---------------
>
> Diese E-Mail wurde auf Viren ueberprueft.
>
> IG Metall
>
> --- BlackBox
> --- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy
>
>

--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy



----boundary-LibPST-iamunique-884423791_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzc1xmY2hhcnNldDAgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJc
Zm5pbFxmY2hhcnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO
ZXc7fX0NCntcY29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7
fQ0KXHVjMVxwYXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyMCBIZWxtdXQsXHBhcg0KXHBhcg0K
RmlsZXMuRmlsZS5DbG9zZSBiZWhhdmVzIHF1aXRlIHN1YnRseS4gVGhlIGRvY3VtZW50YXRpb24g
c2F5czogIlRoZSBmaWxlIGYgYW5kIHRoZSByaWRlcnMgb3BlcmF0aW5nIG9uIGZpbGUgZiBhcmUg
bm90IHZhbGlkIGFueW1vcmUgYWZ0ZXIgY2xvc2luZyBmLCBpLmUuLCBubyBtb3JlIGZpbGUgb3Ig
cmlkZXIgb3BlcmF0aW9ucyBtYXkgYmUgcGVyZm9ybWVkIG9uIGl0LiIgQ29uc2VxdWVudGx5IHlv
dSBhcmUgbm90IGFsbG93ZWQgdG8gY2xvc2UgYSBmaWxlIHVubGVzcyB5b3UgYXJlIGFic29sdXRl
bHkgc3VyZSB0aGF0IHlvdSBhcmUgaW4gdGhlIHBvc3Nlc3Npb24gb2YgdGhlIG9ubHkgcmVmZXJl
bmNlIHRvIGEgZ2l2ZW4gZmlsZSBpbnN0YW5jZSBpbiB0aGUgZW50aXJlIEJsYWNrQm94IHN5c3Rl
bS4gVGhpcyBjb25kaXRpb24gZG9lcyBub3QgaG9sZCBpbiB0aGUgc2NlbmFyaW8gZGVzY3JpYmVk
IGJ5IHlvdS4gSW4gYW4gb3BlbiBzeXN0ZW0gbGlrZSBCbGFja0JveCB0aGlzIGJlaGF2aW9yIGlz
IG9idmlvdXNseSBsZXNzIHRoYW4gb3B0aW1hbC4gVG8gY29ycmVjdCB0aGlzIHdlIHdvdWxkIGhh
dmUgdG8gcmVkZXNpZ24gdGhlIEZpbGVzIGltcGxlbWVudGF0aW9uIGluIEhvc3RGaWxlcy4gVGhl
IGNsZWFuZXN0IHdheSB0byBkbyB0aGlzIHdvdWxkIGJlIHRvIHNpbXBseSByZW9wZW4gZmlsZXMg
aWYgdGhleSBhcmUgYWNjZXNzZWQgYWZ0ZXIgdGhleSBoYXZlIGJlZW4gY2xvc2VkLlxwYXINClxw
YXINCkNoZWVyc1xwYXINCk1hcmNccGFyDQpccGFyDQpPYmVyb24gbWljcm9zeXN0ZW1zIEFHXHBh
cg0KKzQxICgwKTQ0IDQ0NSAxNyA1MVxwYXINCnd3dy5vYmVyb24uY2hccGFyDQpccGFyDQpccGFy
DQogIFxwYXINClxwYXINCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS1ccGFyDQo+IEZyb206
IGJsYWNrYm94QG9iZXJvbi5jaCBbbWFpbHRvOmJsYWNrYm94QG9iZXJvbi5jaF0gT24gXHBhcg0K
PiBCZWhhbGYgT2YgWmlubiwgSGVsbXV0XHBhcg0KPiBTZW50OiBEaWVuc3RhZywgMTcuIEphbnVh
ciAyMDA2IDEzOjA5XHBhcg0KPiBUbzogQmxhY2tib3hccGFyDQo+IFN1YmplY3Q6IFtCbGFja0Jv
eF0gLSBBVzogW0JsYWNrQm94XSAtIGNsb3Npbmcgc2hhcmVkIGZpbGVzXHBhcg0KPiBccGFyDQo+
IFxwYXINCj4gRGVhciBBbmRyZXcsIGRlYXIgTWFyayxccGFyDQo+IFxwYXINCj4gbG9uZyB0aW1l
IGFnbyBJIGhhZCBhIGNsb3NlIHN0YXRlbWVudCBpbnNpZGUgbXkgc3Vic3lzdGVtIERvcyBccGFy
DQo+IChEb3NEaWZmRGlyLkRpZmZCaW4pIGFjdGl2ZS4gSSBnZXQgdGhlIGZvbGxvd2luZyBwcm9i
bGVtIFxwYXINCj4gd2hpbGUgdGhlIENsb3NlIHN0YXRlbWVudCB3YXMgYWN0aXZlOlxwYXINCj4g
LSBJIGhhZCBvcGVuIGZpbGUgeCBpbnRlcmFjdGl2ZWx5IGFuZCBoYXZlIGRvbmUgc29tZSBjaGFu
Z2VzIFxwYXINCj4gKG5vdCBzYXZlZCB5ZXQpXHBhcg0KPiAtIEkgcnVuIERvc0RpZmZEaXIgd2hp
Y2ggb3BlbmVkIGFuZCBjbG9zZWQgZmlsZSB4XHBhcg0KPiAtIEkgd29yayBmdXJ0aGVyIHdpdGgg
ZmlsZSB4IGludGVyYWN0aXZlbHlccGFyDQo+IC0gU3VkZGVubHkgSSBnZXQgdHJhcCBhbmQgYWxs
IGNoYW5nZXMgd2FzIGxvc3RccGFyDQo+IC0gSXQgd2FzIGFsc28gbm90IGFibGUgdG8gc2F2ZSB0
aGUgY2hhbmdlcyBvZiBmaWxlIHggYWZ0ZXIgXHBhcg0KPiBEb3NEaWZmRGlyIHdhcyBydW5uaW5n
LiBTbyBJIGNhbid0IHJlY29tbWVuZCB0byB1c2UgdGhlIFxwYXINCj4gY29tbWFuZCBjbG9zZSB1
bnRpbCB5b3UgYXJlIHN1cmUgdGhhdCB0aGVyZSBpcyBubyBvdGhlciB1c2UgXHBhcg0KPiBvZiB0
aGUgc2FtZSBmaWxlLlxwYXINCj4gXHBhcg0KPiBSZWdhcmRzXHBhcg0KPiBccGFyDQo+IEhlbG11
dCBaaW5uXHBhcg0KPiAgXHBhcg0KPiBccGFyDQo+IC0tLS0tVXJzcHJcJ2ZjbmdsaWNoZSBOYWNo
cmljaHQtLS0tLVxwYXINCj4gVm9uOiBibGFja2JveEBvYmVyb24uY2ggW21haWx0bzpibGFja2Jv
eEBvYmVyb24uY2hdSW0gQXVmdHJhZyBccGFyDQo+IHZvbiBPYmVyb24gbWljcm9zeXN0ZW1zIEFH
LCBUZWNoLVN1cHBvcnRccGFyDQo+IEdlc2VuZGV0OiBEaWVuc3RhZywgMTcuIEphbnVhciAyMDA2
IDExOjM4XHBhcg0KPiBBbjogQmxhY2tCb3ggTWFpbGluZyBMaXN0XHBhcg0KPiBCZXRyZWZmOiBb
QmxhY2tCb3hdIC0gY2xvc2luZyBzaGFyZWQgZmlsZXNccGFyDQo+IFxwYXINCj4gXHBhcg0KPiBB
bmRyZXcsXHBhcg0KPiBccGFyDQo+ID4gSG93ZXZlciBsb29raW5nIGF0IG1vZHVsZSBIb3N0Rmls
ZXMgSSBhbSBub3Qgc3VyZSB0aGF0IENsb3NlXHBhcg0KPiA+IGRvZXMgIm5vdGhpbmciIGZvciBm
aWxlcyBvcGVuZWQgaW4gc2hhcmVkIG1vZGUuXHBhcg0KPiBccGFyDQo+IFlvdSBhcmUgcmlnaHQu
IFRoZSBjb3JyZWN0ZWQgc2VudGVuY2UgcmVhZHMgYXMgZm9sbG93czogXHBhcg0KPiAiQ2xvc2Ug
ZG9lcyBub3RoaW5nIGlmIHRoZSBmaWxlIGlzIG5vdCBvcGVuLiJccGFyDQo+IFxwYXINCj4gPiBJ
IHN1c3BlY3QgdGhhdCBzdGF0ZW1lbnRzIGxpa2VccGFyDQo+ID4gSUYgRmlsZXMuZGlyLk9sZCgu
Li4uZmlsZXMuc2hhcmVkKSAjIE5JTCBUSEVOIC4uLiBFTkRccGFyDQo+ID4gYXJlIGNhdXNpbmcg
cHJvYmxlbXMuIE1heWJlIEZJTkFMSVpFIGRvZXMgbm90IGdldCBjYWxsZWQgaW4gXHBhcg0KPiB0
aGlzIGNhc2U/XHBhcg0KPiBccGFyDQo+IE5vIHByb2JsZW0gd2l0aCB0aGlzLiBUaGUgZG9jdW1l
bnRhdGlvbiBzYXlzOiAiSWYgYSBjYWxsIHRvIFxwYXINCj4gTmV3IG9yIE9sZCBpcyBub3QgYmFs
YW5jZWQgYnkgYSBjYWxsIHRvIENsb3NlLCB0aGUgQ2xvc2UgaXMgXHBhcg0KPiBsYXRlciBwZXJm
b3JtZWQgYXV0b21hdGljYWxseSwgYXQgYW4gdW5zcGVjaWZpZWQgdGltZS4iIENsb3NlIFxwYXIN
Cj4gd2lsbCBub3QgYmUgY2FsbGVkIHVudGlsIHRoZSBnYXJiYWdlIGNvbGxlY3RvciBraWNrcyBp
biBhbmQgXHBhcg0KPiBjYWxscyBGSU5BTElaRSBvbiB0aGUgYW5vbnltb3VzIGZpbGUgb2JqZWN0
IGNyZWF0ZWQgYnkgdGhlIFxwYXINCj4gc3RhdGVtZW50IGFib3ZlLlxwYXINCj4gXHBhcg0KPiA+
IERvIEkgaGF2ZSB0byBleHBsaWNpdGx5IGNsb3NlIHRoZSBmaWxlIGYgYnkgY2FsbGluZyBmLkNs
b3NlP1xwYXINCj4gXHBhcg0KPiBJbiB5b3VyIGNhc2UgdGhpcyB3b3VsZCBwcm9iYWJseSBiZSB0
aGUgcmlnaHQgdGhpbmcgdG8gZG8gXHBhcg0KPiB1bmxlc3MgaXQgaXMgb2theSB0byB3YWl0IHRo
YXQgdW5zcGVjaWZpZWQgYW1vdW50IG9mIHRpbWUgZm9yIFxwYXINCj4gdGhlIGdhcmJhZ2UgY29s
bGVjdG9yLlxwYXINCj4gXHBhcg0KPiB3aXRoIGJlc3QgcmVnYXJkc1xwYXINCj4gTWFyY1xwYXIN
Cj4gXHBhcg0KPiBPYmVyb24gbWljcm9zeXN0ZW1zIEFHXHBhcg0KPiArNDEgKDApNDQgNDQ1IDE3
IDUxXHBhcg0KPiB3d3cub2Jlcm9uLmNoXHBhcg0KPiBccGFyDQo+IFxwYXINCj4gPiBccGFyDQo+
ID4gXHBhcg0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tXHBhcg0KPiA+IEZyb206IGJs
YWNrYm94QG9iZXJvbi5jaCBbbWFpbHRvOmJsYWNrYm94QG9iZXJvbi5jaF0gT25ccGFyDQo+ID4g
QmVoYWxmIE9mIEEgVGhvbWFzXHBhcg0KPiA+IFNlbnQ6IERvbm5lcnN0YWcsIDEyLiBKYW51YXIg
MjAwNiAwOToxNlxwYXINCj4gPiBUbzogQmxhY2tib3hccGFyDQo+ID4gU3ViamVjdDogW0JsYWNr
Qm94XSAtIGNsb3Npbmcgc2hhcmVkIGZpbGVzXHBhcg0KPiA+IFxwYXINCj4gPiBccGFyDQo+ID4g
SGVpIEJsYWNrQm94IGNvbW11bml0eSxccGFyDQo+ID4gIFxwYXINCj4gPiAgICAgICAgICAgICBJ
IGFtIHZlcnkgY29uZnVzZWQgYWJvdXQgdGhlIG5lZWQgdG8gY2xvc2UgZmlsZXNccGFyDQo+ID4g
dGhhdCBoYXZlIGJlZW4gb3BlbmVkIGluIHNoYXJlZCBtb2RlLiBTdXBwb3NlIEkgb3BlbiBhIGZp
bGUgXHBhcg0KPiA+IGluIHNoYXJlZCBtb2RlIHVzaW5nIGYgOj0gRmlsZXMuZGlyLk9sZCguLi4g
RmlsZXMuc2hhcmVkKSAgYW5kIFxwYXINCj4gPiByZWFkIHRoZSBmaWxlIGFuZCBmaW5kIHNvbWUg
c29ydCBvZiBlcnJvciBpbiBpdHMgY29udGVudHMgXHBhcg0KPiA+IHRoYXQgcmVxdWlyZXMgdGhl
IGZpbGUgdG8gYmUgZWRpdGVkLiBTbyBsb25nIGFzIHRoZSBmaWxlIGYgaXMgXHBhcg0KPiA+IG5v
dCBzdG9yZWQgaW4gYSBnbG9iYWwgdmFyaWFibGUgSSB0aGluayB0aGVyZSBzaG91bGQgYmUgbm8g
XHBhcg0KPiA+IHByb2JsZW0sIEkgc2hvdWxkIGJlIGFibGUgdG8gc3RhcnQgc2F5IE5vdGVQYWQg
dG8gZWRpdCB0aGUgXHBhcg0KPiA+IGZpbGUuIERvIEkgaGF2ZSB0byBleHBsaWNpdGx5IGNsb3Nl
IHRoZSBmaWxlIGYgYnkgY2FsbGluZyBccGFyDQo+ID4gZi5DbG9zZT8gSW4gdGhlIGRvY3VtZW50
YXRpb24gZm9yIG1vZHVsZSBGaWxlIGl0IHNheXMgXHBhcg0KPiA+ICBccGFyDQo+ID4gUFJPQ0VE
VVJFIChmOiBGaWxlKSBDbG9zZVxwYXINCj4gPiBORVcsIEFCU1RSQUNUXHBhcg0KPiA+IENsb3Nl
cyBhbiBvcGVuIGZpbGUuIENsb3NlIGRvZXMgbm90aGluZyBpZiB0aGUgZmlsZSBpcyBub3RccGFy
DQo+ID4gb3BlbiBvciBpZiBpdCBoYXMgYmVlbiBvcGVuZWQgaW4gInNoYXJlZCIgbW9kZS4gSWYg
YSBjYWxsIHRvIFxwYXINCj4gPiBOZXcgb3IgT2xkIGlzIG5vdCBiYWxhbmNlZCBieSBhIGNhbGwg
dG8gQ2xvc2UsIHRoZSBDbG9zZSBpcyBccGFyDQo+ID4gbGF0ZXIgcGVyZm9ybWVkIGF1dG9tYXRp
Y2FsbHksIGF0IGFuIHVuc3BlY2lmaWVkIHRpbWUuIElmIGl0IFxwYXINCj4gPiBpcyBrbm93biB0
aGF0IGEgZmlsZSB3b24ndCBiZSB1c2VkIGFnYWluLCBpdCBpcyByZWNvbW1lbmRlZCBccGFyDQo+
ID4gdG8gY2FsbCBpdHMgQ2xvc2UgcHJvY2VkdXJlLiBUaGUgZmlsZSBmIGFuZCB0aGUgcmlkZXJz
IFxwYXINCj4gPiBvcGVyYXRpbmcgb24gZmlsZSBmIGFyZSBub3QgdmFsaWQgYW55bW9yZSBhZnRl
ciBjbG9zaW5nIGYsIFxwYXINCj4gPiBpLmUuLCBubyBtb3JlIGZpbGUgb3IgcmlkZXIgb3BlcmF0
aW9ucyBtYXkgYmUgcGVyZm9ybWVkIG9uIFxwYXINCj4gPiBpdC4gSG93ZXZlciwgdGhlIGNsb3Nl
ZCBmaWxlIGNhbiBiZSByZXRyaWV2ZWQgYW5kIG9wZW5lZCBccGFyDQo+ID4gYWdhaW4gYnkgcHJv
Y2VkdXJlIE9sZC4gQ2xvc2UgbWF5IGNhbGwgRmx1c2ggaW50ZXJuYWxseS4gXHBhcg0KPiA+IENs
b3NlIHNob3VsZCAoYnV0IG5lZWQgbm90IG5lY2Vzc2FyaWx5KSBiZSBjYWxsZWQgZXhwbGljaXRs
eSBccGFyDQo+ID4gYWZ0ZXIgYSBmaWxlIGlzIG5vdCBuZWVkZWQgYW55bW9yZS5ccGFyDQo+ID4g
IFxwYXINCj4gPiBIb3dldmVyIGxvb2tpbmcgYXQgbW9kdWxlIEhvc3RGaWxlcyBJIGFtIG5vdCBz
dXJlIHRoYXQgQ2xvc2VccGFyDQo+ID4gZG9lcyAibm90aGluZyIgZm9yIGZpbGVzIG9wZW5lZCBp
biBzaGFyZWQgbW9kZS5ccGFyDQo+ID4gIFxwYXINCj4gPiAgXHBhcg0KPiA+IEkgc3VzcGVjdCB0
aGF0IHN0YXRlbWVudHMgbGlrZVxwYXINCj4gPiAgXHBhcg0KPiA+IElGIEZpbGVzLmRpci5PbGQo
Li4uLmZpbGVzLnNoYXJlZCkgIyBOSUwgVEhFTiAuLi4gRU5EXHBhcg0KPiA+ICBccGFyDQo+ID4g
YXJlIGNhdXNpbmcgcHJvYmxlbXMuIE1heWJlIEZJTkFMSVpFIGRvZXMgbm90IGdldCBjYWxsZWQg
aW4gXHBhcg0KPiB0aGlzIGNhc2U/XHBhcg0KPiA+ICBccGFyDQo+ID4gTW9pXHBhcg0KPiA+ICBc
cGFyDQo+ID4gICAgICAgICAgICAgQW5kcmV3XHBhcg0KPiA+IFxwYXINCj4gXHBhcg0KPiAtLS0g
QmxhY2tCb3hccGFyDQo+IC0tLSBzZW5kIHN1YmplY3QgSEVMUCBvciBVTlNVQlNDUklCRSB0byBi
bGFja2JveEBvYmVyb24uY2hccGFyDQo+IFxwYXINCj4gXHBhcg0KPiAtLS0tLS0tLS0tLS0tLS1c
cGFyDQo+IFxwYXINCj4gRGllc2UgRS1NYWlsIHd1cmRlIGF1ZiBWaXJlbiB1ZWJlcnBydWVmdC5c
cGFyDQo+IFxwYXINCj4gSUcgTWV0YWxsXHBhcg0KPiBccGFyDQo+IC0tLSBCbGFja0JveFxwYXIN
Cj4gLS0tIHNlbmQgc3ViamVjdCBIRUxQIG9yIFVOU1VCU0NSSUJFIHRvIGJsYWNrYm94QG9iZXJv
bi5jaFxwYXINCj4gXHBhcg0KPiBccGFyDQpccGFyDQotLS0gQmxhY2tCb3hccGFyDQotLS0gc2Vu
ZCBzdWJqZWN0IEhFTFAgb3IgVU5TVUJTQ1JJQkUgdG8gYmxhY2tib3hAb2Jlcm9uLmNoXHBhcg0K
fX0AIGJlIA=


----boundary-LibPST-iamunique-884423791_-_---
Received on Tue Jan 17 2006 - 16:40:44 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:28:05 UTC