This is a cryptographically signed message in MIME format.

--------------ms030906070802030808040002
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oli

> One possibility would be to use the Kernel.at_exit() method to explicitly register your library cleanup functions.
> This only works if your problem is a final cleanup, not a per-object cleanup.

Interesting thought - I have that issue also (library cleanup).  But in 
this case, its per object cleanup.

Charlie


--------------ms030906070802030808040002
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJAzCC
AtwwggJFoAMCAQICEApLTm3bM9PFZxFEfV6XkZAwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UE
BhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMT
I1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA4MDUxNDIyMDQwM1oX
DTA5MDUxNDIyMDQwM1owQzEfMB0GA1UEAxMWVGhhd3RlIEZyZWVtYWlsIE1lbWJlcjEgMB4G
CSqGSIb3DQEJARYRY2Zpc0BzYXZhZ2V4aS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQDl6cmJXyX9A06gcxGBDjFRP0VPx8hbxwelxzsrIMp4pPlo3w3iNRApMM4YZ5z6
5i3ruj/5j/RNWHELiyBIbrufJ/PQBk8/n8vNXiTqdjAhlpMuR/rB/e4XD1rE/7OYwQin3Yhx
7yYOOWJMB4eilBLayyqHBrKE85dn/jOxCo5uO9jf/4Gihv2ocWQWOGFXeKT1PNtSEFcMm8xl
mteBXXmZ76eH1Al4qowFRbGrPTyPbhAyu7ssWuOVYcbfH5giOSyLuuXDctZUf4j5bzf3qVqa
XBZxNAYLj5T+DDIFBLG1CVvYPsrDmPG7yheodwAdZstusPxAy0mOUMCY9x7ly4rnAgMBAAGj
LjAsMBwGA1UdEQQVMBOBEWNmaXNAc2F2YWdleGkuY29tMAwGA1UdEwEB/wQCMAAwDQYJKoZI
hvcNAQEFBQADgYEAFUPOGpAmQW6nsAqgLw7QnKC4HtTK39p6jp8ku0vtRGIbHxn5x2u+3JNE
hOStGq51vUfhLpritwyTqlX+GVYMPqaSCxtrOLKTVyq525uQMxGlCMuqD0l9CPmDK6rmLIdf
GmrPq+2q8vwuc6mhuA4WgtBp2RFCYtDcxFcjSbpy5EkwggLcMIICRaADAgECAhAKS05t2zPT
xWcRRH1el5GQMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3
dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJl
ZW1haWwgSXNzdWluZyBDQTAeFw0wODA1MTQyMjA0MDNaFw0wOTA1MTQyMjA0MDNaMEMxHzAd
BgNVBAMTFlRoYXd0ZSBGcmVlbWFpbCBNZW1iZXIxIDAeBgkqhkiG9w0BCQEWEWNmaXNAc2F2
YWdleGkuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5enJiV8l/QNOoHMR
gQ4xUT9FT8fIW8cHpcc7KyDKeKT5aN8N4jUQKTDOGGec+uYt67o/+Y/0TVhxC4sgSG67nyfz
0AZPP5/LzV4k6nYwIZaTLkf6wf3uFw9axP+zmMEIp92Ice8mDjliTAeHopQS2ssqhwayhPOX
Z/4zsQqObjvY3/+Boob9qHFkFjhhV3ik9TzbUhBXDJvMZZrXgV15me+nh9QJeKqMBUWxqz08
j24QMru7LFrjlWHG3x+YIjksi7rlw3LWVH+I+W8396lamlwWcTQGC4+U/gwyBQSxtQlb2D7K
w5jxu8oXqHcAHWbLbrD8QMtJjlDAmPce5cuK5wIDAQABoy4wLDAcBgNVHREEFTATgRFjZmlz
QHNhdmFnZXhpLmNvbTAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBQUAA4GBABVDzhqQJkFu
p7AKoC8O0JyguB7Uyt/aeo6fJLtL7URiGx8Z+cdrvtyTRITkrRqudb1H4S6a4rcMk6pV/hlW
DD6mkgsbaziyk1cqudubkDMRpQjLqg9JfQj5gyuq5iyHXxpqz6vtqvL8LnOpobgOFoLQadkR
QmLQ3MRXI0m6cuRJMIIDPzCCAqigAwIBAgIBDTANBgkqhkiG9w0BAQUFADCB0TELMAkGA1UE
BhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYD
VQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNl
cyBEaXZpc2lvbjEkMCIGA1UEAxMbVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIENBMSswKQYJ
KoZIhvcNAQkBFhxwZXJzb25hbC1mcmVlbWFpbEB0aGF3dGUuY29tMB4XDTAzMDcxNzAwMDAw
MFoXDTEzMDcxNjIzNTk1OVowYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25z
dWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJ
c3N1aW5nIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEpjxVc1X7TrnKmVoeaMB1
BHCd3+n/ox7svc31W/Iadr1/DDph8r9RzgHU5VAKMNcCY1osiRVwjt3J8CuFWqo/cVbLrzwL
B+fxH5E2JCoTzyvV84J3PQO+K/67GD4Hv0CAAmTXp6a7n2XRxSpUhQ9IBH+nttE8YQRAHmQZ
cmC3+wIDAQABo4GUMIGRMBIGA1UdEwEB/wQIMAYBAf8CAQAwQwYDVR0fBDwwOjA4oDagNIYy
aHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVBlcnNvbmFsRnJlZW1haWxDQS5jcmwwCwYD
VR0PBAQDAgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFQcml2YXRlTGFiZWwyLTEzODAN
BgkqhkiG9w0BAQUFAAOBgQBIjNFQg+oLLswNo2asZw9/r6y+whehQ5aUnX9MIbj4Nh+qLZ82
L8D0HFAgk3A8/a3hYWLD2ToZfoSxmRsAxRoLgnSeJVCUYsfbJ3FXJY3dqZw5jowgT2Vfldr3
94fWxghOrvbqNOUQGls1TXfjViF4gtwhGTXeJLHTHUb/XV9lTzGCA2QwggNgAgEBMHYwYjEL
MAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAq
BgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhAKS05t2zPTxWcR
RH1el5GQMAkGBSsOAwIaBQCgggHDMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI
hvcNAQkFMQ8XDTA4MDcxNTA1NDk1MlowIwYJKoZIhvcNAQkEMRYEFHtYXqysYqSa+BDUlMpz
fnb02U75MFIGCSqGSIb3DQEJDzFFMEMwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMA0G
CCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMIGFBgkrBgEEAYI3EAQxeDB2
MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQu
MSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIQCktObdsz
08VnEUR9XpeRkDCBhwYLKoZIhvcNAQkQAgsxeKB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQK
ExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29u
YWwgRnJlZW1haWwgSXNzdWluZyBDQQIQCktObdsz08VnEUR9XpeRkDANBgkqhkiG9w0BAQEF
AASCAQBhw3bGEuptTaLlDIid7rM3KpjaZq99f0gdMZvjThHprQv6Hy7EHKU7WXnwV4iw2UPn
brlJlcTqh8WbFeYj/WwtqWPyBnT9RraENb7A/ybyBHPqLAG0rIX6cgH3k7DybuHMvDMv5SU1
hzdh4x/6k2WHECvXvlVccXz0pXQhkru/ZAojojx8IJktYBgfLWLHYd45ndAxemK2/wX9h60Q
G6bP6EBsZki9rZPPQ+xFFkdLnvsd/VgIU2pqoe9yZ9Y/iFdrLCGRRplhvN+YVeKSp6GHNkxs
48sRXzKCB/VnptuF6RxLUJ2FKI2UoEhHbQ0Ct/XU3oKiCuK0mdgmunfsIT3LAAAAAAAA
--------------ms030906070802030808040002--