From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: ** X-Spam-Status: No, score=2.0 required=5.0 tests=DNS_FROM_SECURITYSAGE autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 9C897BB84 for ; Thu, 30 Oct 2008 19:20:15 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtECAHOXCUnQRG99gWdsb2JhbACUCwEBFiK5AYNR X-IronPort-AV: E=Sophos;i="4.33,516,1220220000"; d="p7s'?scan'208";a="16685432" Received: from mx02.metaweb.com ([208.68.111.125]) by mail2-smtp-roc.national.inria.fr with SMTP; 30 Oct 2008 19:20:14 +0100 Received: from zimbra01.corp.sjc1.metaweb.com (localhost [127.0.0.1]) by mx02.metaweb.com (Spam Firewall) with ESMTP id CDED4A7234 for ; Thu, 30 Oct 2008 11:24:37 -0700 (PDT) Received: from zimbra01.corp.sjc1.metaweb.com (zimbra01.corp.sjc1.metaweb.com [172.29.253.13]) by mx02.metaweb.com with ESMTP id 0Hf2dtWr22VC9Ahq for ; Thu, 30 Oct 2008 11:24:37 -0700 (PDT) Received: from localhost (localhost.localdomain [127.0.0.1]) by zimbra01.corp.sjc1.metaweb.com (Postfix) with ESMTP id 6FC3B160C0A8 for ; Thu, 30 Oct 2008 11:20:09 -0700 (PDT) X-Virus-Scanned: amavisd-new at Received: from zimbra01.corp.sjc1.metaweb.com ([127.0.0.1]) by localhost (zimbra01.corp.sjc1.metaweb.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5wauu9Uj8Mug for ; Thu, 30 Oct 2008 11:20:09 -0700 (PDT) Received: from [192.168.0.31] (ipsec-250-54.corp.vpn.metaweb.com [172.29.250.54]) by zimbra01.corp.sjc1.metaweb.com (Postfix) with ESMTP id 2576D160C073 for ; Thu, 30 Oct 2008 11:20:09 -0700 (PDT) Message-Id: From: Warren Harris To: caml-list caml-list Content-Type: multipart/signed; boundary=Apple-Mail-23-122959228; micalg=sha1; protocol="application/pkcs7-signature" Mime-Version: 1.0 (Apple Message framework v929.2) Subject: understanding weak Date: Thu, 30 Oct 2008 11:19:38 -0700 X-Mailer: Apple Mail (2.929.2) X-Spam: no; 0.00; flowed:01 ocaml's:01 pointers:01 pointers:01 hash:01 pointer:01 pointer:01 pkcs:01 beh:01 warren:98 warren:98 deo:98 dzx:98 kja:98 upj:98 --Apple-Mail-23-122959228 Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit I'd like to understand better how ocaml's weak pointers operate. First, although it doesn't seem to be specified in the documentation, I assume that weak pointers will *not* be reclaimed (e.g. from a weak hash table) if the program retains some other reference to the object. I.e. the weak pointer must be the last remaining pointer to the object for reclamation to occur. My second question relates specifically to my application. I would like to have a primary cache of objects, and a secondary index into sub-objects referenced from the primary cache. I.e. CacheA references objects of type A; objects of type A reference objects of type B; CacheB references objects of type B. I would like to guarantee that weak references in CacheB are not flushed unless the corresponding reference from CacheA is first flushed. I assume will be the case if a non-weak reference from A to B is maintained. Can anyone verify? Thanks, Warren Harris Metaweb Technologies --Apple-Mail-23-122959228 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIKlzCCBREw ggP5oAMCAQICAQEwDQYJKoZIhvcNAQEEBQAwgb8xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp Zm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMSMwIQYDVQQKExpNZXRhd2ViIFRlY2hub2xv Z2llcywgSW5jLjEbMBkGA1UECxMSTWV0YXdlYiBPcGVyYXRpb25zMSEwHwYDVQQDExhNZXRhd2Vi IFJvb3QgQ2VydGlmaWNhdGUxHjAcBgkqhkiG9w0BCQEWD29wc0BtZXRhd2ViLmNvbTAeFw0wNjEw MTcxNjAyNTRaFw0xNjEwMTQxNjAyNTRaMIGrMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv cm5pYTEjMCEGA1UEChMaTWV0YXdlYiBUZWNobm9sb2dpZXMsIEluYy4xGzAZBgNVBAsTEk1ldGF3 ZWIgT3BlcmF0aW9uczElMCMGA1UEAxMcTWV0YXdlYiBWUE4gUm9vdCBDZXJ0aWZpY2F0ZTEeMBwG CSqGSIb3DQEJARYPb3BzQG1ldGF3ZWIuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEAus7rUEDLJAA7HelQnBvXWO06L3OUgyEfnj3ToI/Iop+LI513Y3/b3CHCR3bfIi3QzCPZUctt 7IOpT403qG1l3fI13n5fWoBNKXPP3jGs0ev2pDPclXK8SazndQNOVb0I6tdOj1osnARcX/Nj+zfm z7hAbDYzBba2VrfS/zHyVgxqhP/7B9etHva2UEX9ZxHk6prbP/hFc2Rp1PpyDRfaOdwSfVB9vxWE DX7BSfGO0oodK7YH1kk1CSZwjddXiemHUg6zztXJ4OohhhNsoWJ3gSqBG3RXWOpBRtqKZEkA1cS9 13hJ1qcG1XQHmyr8bY21x9oJT+qe6qLN0MCM6jkkdwIDAQABo4IBKDCCASQwHQYDVR0OBBYEFPEL NnHIEcBCuTE7rnw9YTnRs7g7MIH0BgNVHSMEgewwgemAFBLhBR58Q0Ibe+Q6UzvA0yk3eDeFoYHF pIHCMIG/MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy YW5jaXNjbzEjMCEGA1UEChMaTWV0YXdlYiBUZWNobm9sb2dpZXMsIEluYy4xGzAZBgNVBAsTEk1l dGF3ZWIgT3BlcmF0aW9uczEhMB8GA1UEAxMYTWV0YXdlYiBSb290IENlcnRpZmljYXRlMR4wHAYJ KoZIhvcNAQkBFg9vcHNAbWV0YXdlYi5jb22CCQDAK3meYNperzAMBgNVHRMEBTADAQH/MA0GCSqG SIb3DQEBBAUAA4IBAQAJ4X3ts+LJ16deo00h5nUA+IuVLR+h9BlzkQi6LCp5dZx97Ex2PaiQc4b2 G7kJA5OP/T68roWlj6LwoCTQmOZHK/W4xqm9Di9FqhvsigGeliFk5OIcTgot0GiVPoH4avCwa/mk 5uPj+RTAGTMxSjlUyNu4RzKD0WypKSP6ghc/55tosB/1WTbC8k/pV5EyL1FgF/3AnlG7O0uYFIYt OWmIMHm5XFLPHxjeUqDyEVeZm4STu8eWyo17ac+/JrPzd7zSnZGZd1nMXSSDuywRtCZEStq0SzkN oQbu6JGrL57TEL3HZdHPaIV5leYPyvGQMGplTiTAOIf+q+L5ro3+6FZaMIIFfjCCBGagAwIBAgIB VDANBgkqhkiG9w0BAQQFADCBqzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExIzAh BgNVBAoTGk1ldGF3ZWIgVGVjaG5vbG9naWVzLCBJbmMuMRswGQYDVQQLExJNZXRhd2ViIE9wZXJh dGlvbnMxJTAjBgNVBAMTHE1ldGF3ZWIgVlBOIFJvb3QgQ2VydGlmaWNhdGUxHjAcBgkqhkiG9w0B CQEWD29wc0BtZXRhd2ViLmNvbTAeFw0wODA0MTEyMTU3MzhaFw0xODA0MDkyMTU3MzhaMIGgMQsw CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEjMCEGA1UEChMaTWV0YXdlYiBUZWNobm9s b2dpZXMsIEluYy4xHDAaBgNVBAsTE01ldGF3ZWIgRW5naW5lZXJpbmcxFjAUBgNVBAMTDVdhcnJl biBIYXJyaXMxITAfBgkqhkiG9w0BCQEWEndhcnJlbkBtZXRhd2ViLmNvbTCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBAK0aYgN/4a6011jghtHtD4mt8FwE+fVakIiPYRRliLAVK54gIVJ3 Sw8LMlZli/TZcwThyD+d30k558k4R75Dkov5YarKPt0THlLDczqn4uw0L3hlrQKu0WWWCGHxf8kk 6w0LAxAgOqPsBSW8LhraOHQMANQ8MHlpuLg1bVdWG/G1WLs7A3uuhfpsImWeCrPjeEEnZ5O24aEx EwqFvrTtfLBYJBcK2u8Qb0HevjwXpeO71/4L9gPJGA3kPdDPbULAFbAr06Y9fTf6YLBPzMfKd1OP zIyjo75TjqCQ+GyV8Up1WXk9Vwa9s3t6qDINaCwTyO9DBwu9uS+gMfSkygn73F8CAwEAAaOCAbQw ggGwMAsGA1UdDwQEAwIF4DAdBgNVHQ4EFgQU6NZ6Tlb2wX+hA5ME3wLTneBEtI0wgewGA1UdIwSB 5DCB4YAU8Qs2ccgRwEK5MTuufD1hOdGzuDuhgcWkgcIwgb8xCzAJBgNVBAYTAlVTMRMwEQYDVQQI EwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMSMwIQYDVQQKExpNZXRhd2ViIFRl Y2hub2xvZ2llcywgSW5jLjEbMBkGA1UECxMSTWV0YXdlYiBPcGVyYXRpb25zMSEwHwYDVQQDExhN ZXRhd2ViIFJvb3QgQ2VydGlmaWNhdGUxHjAcBgkqhkiG9w0BCQEWD29wc0BtZXRhd2ViLmNvbYIB ATAtBglghkgBhvhCAQQEIBYeaHR0cDovL3d3dy5tZXRhd2ViLmNvbS92cG4uY3JsMC8GA1UdHwQo MCYwJKAioCCGHmh0dHA6Ly93d3cubWV0YXdlYi5jb20vdnBuLmNybDAzBggrBgEFBQcBAQQnMCUw IwYIKwYBBQUHMAKGF2h0dHA6Ly93d3cubWV0YXdlYi5jb20vMA0GCSqGSIb3DQEBBAUAA4IBAQAs klPdQRHS1ZQimiVfDtDHr1gAmAGFj3mJhJbhg3eHnKd5vHlCGyoSzcR1ix/nWyx/7pcdXOoIrngi zVL18h1tRJKbTlfrtzJozEdUSEPmRLXqrzo5MdwyKnUZ7ZqT+FzmJhiyvBcX1vbGR1l0SCFLFO4w piuHIFWYmZcr4pq7UAXvmQKfjKFJhoAmTYEUW7BlJDGLIN5skai6XOAyWHzOugLwKkaEPn5p+sMf JL75PE3f84Ipf8AEmvdUCEXz9znn0YxDfypzHblFXEUKtAeGhY854bzxga6n1hJHOSzRhF/PfUOI MbatQSJ+SyDDkmW5wPIGckbFd0HZFSEsqrw3MYIDxjCCA8ICAQEwgbEwgasxCzAJBgNVBAYTAlVT MRMwEQYDVQQIEwpDYWxpZm9ybmlhMSMwIQYDVQQKExpNZXRhd2ViIFRlY2hub2xvZ2llcywgSW5j LjEbMBkGA1UECxMSTWV0YXdlYiBPcGVyYXRpb25zMSUwIwYDVQQDExxNZXRhd2ViIFZQTiBSb290 IENlcnRpZmljYXRlMR4wHAYJKoZIhvcNAQkBFg9vcHNAbWV0YXdlYi5jb20CAVQwCQYFKw4DAhoF AKCCAekwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDgxMDMwMTgx OTM5WjAjBgkqhkiG9w0BCQQxFgQUnH4bTO7L8uorgoDWaU/sdFqIXPswgcIGCSsGAQQBgjcQBDGB tDCBsTCBqzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExIzAhBgNVBAoTGk1ldGF3 ZWIgVGVjaG5vbG9naWVzLCBJbmMuMRswGQYDVQQLExJNZXRhd2ViIE9wZXJhdGlvbnMxJTAjBgNV BAMTHE1ldGF3ZWIgVlBOIFJvb3QgQ2VydGlmaWNhdGUxHjAcBgkqhkiG9w0BCQEWD29wc0BtZXRh d2ViLmNvbQIBVDCBxAYLKoZIhvcNAQkQAgsxgbSggbEwgasxCzAJBgNVBAYTAlVTMRMwEQYDVQQI EwpDYWxpZm9ybmlhMSMwIQYDVQQKExpNZXRhd2ViIFRlY2hub2xvZ2llcywgSW5jLjEbMBkGA1UE CxMSTWV0YXdlYiBPcGVyYXRpb25zMSUwIwYDVQQDExxNZXRhd2ViIFZQTiBSb290IENlcnRpZmlj YXRlMR4wHAYJKoZIhvcNAQkBFg9vcHNAbWV0YXdlYi5jb20CAVQwDQYJKoZIhvcNAQEBBQAEggEA BeXr6GC0+nJkkokfINrCKBbijDgobDanHrYypiqPCMkiMfKZKENc6boXz6fGKUmiYHQgAs8+pE5c 6eyXvR5zi9rPqx3DMoTH/jPb6I0kn6US8b95sf218iW6Shfl3kYnIicocDGpY1/740L31Rhll+0x ZZXNR7BEH9KHUMP4Nxglu2lppqv7jM5M+TLPz8MFkmTSObCUYBmHFdVTHnY6ysxF1JO4Nrde5s4M Vb4EPeNvJZ0xMQ9p/QT4lG+4pNuuCHZKSc8hezn7OCD/Wu0+HTe2L6r2Mpnt/wDI5PxFX1Qe5Dd1 LCts5TTEh3bUEaIGsW1L2wCpy7ccvQeSpHpkogAAAAAAAA== --Apple-Mail-23-122959228--