From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id B5DEB800FE for ; Tue, 21 Mar 2017 12:58:59 +0100 (CET) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=max.mouratov@outlook.com; spf=Pass smtp.mailfrom=max.mouratov@outlook.com; spf=Pass smtp.helo=postmaster@EUR02-HE1-obe.outbound.protection.outlook.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of max.mouratov@outlook.com) identity=pra; client-ip=40.92.68.49; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="max.mouratov@outlook.com"; x-sender="max.mouratov@outlook.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of max.mouratov@outlook.com designates 40.92.68.49 as permitted sender) identity=mailfrom; client-ip=40.92.68.49; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="max.mouratov@outlook.com"; x-sender="max.mouratov@outlook.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of postmaster@EUR02-HE1-obe.outbound.protection.outlook.com designates 40.92.68.49 as permitted sender) identity=helo; client-ip=40.92.68.49; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="max.mouratov@outlook.com"; x-sender="postmaster@EUR02-HE1-obe.outbound.protection.outlook.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" IronPort-PHdr: =?us-ascii?q?9a23=3Afr8h6hBXvDiOBcyRBZv4UyQJP3N1i/DPJgcQr6Af?= =?us-ascii?q?oPdwSPX5pcbcNUDSrc9gkEXOFd2CrakV1qyI4uu7BSQp2tWoiDg6aptCVhsI24?= =?us-ascii?q?09vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFRrhKAF7?= =?us-ascii?q?Ovr6GpLIj8Swyuu+54Dfbx9GiTe5Yb5+NhS7oAHeusQYjoZpN7o8xAbOrnZUYe?= =?us-ascii?q?pd2HlmJUiUnxby58ew+IBs/iFNsP8/9MBOTLv3cb0gQbNXEDopPWY15Nb2tRbY?= =?us-ascii?q?VguA+mEcUmQNnRVWBQXO8Qz3UY3wsiv+sep9xTWaMMjrRr06RTiu86FmQwLzhS?= =?us-ascii?q?wZKzA27n3Yis1ojKJavh2hoQB/w5XJa42RLfZyY7/Rcc8fSWdHQ81fVTFOApmk?= =?us-ascii?q?YoUPEeQPIPpYoYf+qVsArxSxGQaiC+z0xz9Un3/6wbE23/g9HQ3Y2gErAtIAsG?= =?us-ascii?q?7TrNXwLKocVvq6zabVxjvEaPNWxC3955LUchAmv/GHQLV9cc/LxkggDQ/Fi1KQ?= =?us-ascii?q?qZH/PzyPyuQNtHab4vFnVeKyl24nrwZxoj+sxss2lobJgYcVx0nC+C5kzog1It?= =?us-ascii?q?i4R1R6Yd6iCJZQtieaN5F3Qsw4WW1otjw6xqUJuZ66YCgKyIknyAXFZ/ObdIiI?= =?us-ascii?q?5xTuX/uSLzdgnH9od66ziwy2/ES+0OHxV8q53ExFoydBlNTHq2oD2AbJ6sedT/?= =?us-ascii?q?tw5keh1iiL1wDU8uxKLk47m7bHJ5I/27I+lJUdvVnaEi/xg0r5krWadkI5+ui0?= =?us-ascii?q?8OvnZajmppmBOINukgH+KKMumtChDuskLggOXm+b+eKm2L3k4E35XLFKjvoxkq?= =?us-ascii?q?naqpzVOcMbpquhDw9U1IYs9Qq/Ai+p3dgEh3UKKExJdAiGgoXqIV3DL/T1Ae+6?= =?us-ascii?q?g1u2kTdrw/7GPqfmApXINnXDla3ufLln505Zzwoz0Mpf6IhICrEGPvL+QUjxtM?= =?us-ascii?q?HEDh89NAy0xOXnBM9h2YMZXGKDGrWZP7/KsV+U+uIvJPGBa5MPtzb4L/gp/vru?= =?us-ascii?q?jX4imV8BZqSpxpsWaHWgHvt8OUmZYHzsgs0AEWgQpAY+Qvbq2xW+VmtpYHO7Xq?= =?us-ascii?q?R0zDwyFZKnFs+XXIeoib2Hmi22F4BGZ3tuBVWFEHOufIKBDbNERCeTPtVw2hYJ?= =?us-ascii?q?UanpH4Mk1A20pUnwxr52BuXR8ywc85nk0Y4myffUkEQX/Cw8KsOAyWiRSH88ym?= =?us-ascii?q?YBV3kz271lqFB61H+EzLR8hPtbU9dU4qUaAU8BKZfAwrkiWJjJUQXbc4LMEQ7+?= =?us-ascii?q?Tw=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0A/AADvFNFYmDFEXCheHQEFAQsBGQYMg?= =?us-ascii?q?yNkgQqOZZBqiQCOUiqFeAKDURQBAQEBAQEBAQEBARIBAQEBAQgLCwYoL4IzIgG?= =?us-ascii?q?CQAECAzoGATgBDwIBAwUYHhAyJQIEAQ0NiWMBAxgLnlUCjhGDCQWDZwFKA4MOA?= =?us-ascii?q?QEBAQEBAQECAQEBAQEBAQEBAQEVAwUBhk2Eb4RWgzKCMQEEj1yMcoIFhHWceZI?= =?us-ascii?q?hAYE8NoElOR9WhEgggW9ANQGJQAEBAQ?= X-IPAS-Result: =?us-ascii?q?A0A/AADvFNFYmDFEXCheHQEFAQsBGQYMgyNkgQqOZZBqiQC?= =?us-ascii?q?OUiqFeAKDURQBAQEBAQEBAQEBARIBAQEBAQgLCwYoL4IzIgGCQAECAzoGATgBD?= =?us-ascii?q?wIBAwUYHhAyJQIEAQ0NiWMBAxgLnlUCjhGDCQWDZwFKA4MOAQEBAQEBAQECAQE?= =?us-ascii?q?BAQEBAQEBAQEVAwUBhk2Eb4RWgzKCMQEEj1yMcoIFhHWceZIhAYE8NoElOR9Wh?= =?us-ascii?q?EgggW9ANQGJQAEBAQ?= X-IronPort-AV: E=Sophos;i="5.36,198,1486422000"; d="scan'208";a="217503948" Received: from mail-oln040092068049.outbound.protection.outlook.com (HELO EUR02-HE1-obe.outbound.protection.outlook.com) ([40.92.68.49]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES256-SHA256; 21 Mar 2017 12:58:58 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=+qLKiorWiSMYpCPR8qkSnqrtwPp9GzOxuWsNL0ua2WM=; b=QfYyxW4FH4jPAb95Ad5myFmK2oRQLwUYo2oIspmqxDbgE2VvOHDY7HbhcWSPOsUPOfoPBwr+svGdv8hvFOThs/OTpgVfX4X+r3+Pmr1ftlXe2I482gXRf9Xr897P8jWwzI+jrpqIK3+l3nLmsxOk3C1KLPGFifi0AuK9j5hGh0V3bPStMJRFcYc3SvolggxPBYP1t6TE0lMthfdN6vmr1yNrUbwNgyxsYNJGwzyAmF/wp/bsNQTOm3iO5xWXheZK7vkQ7mIRZAm95Y36WyXaMXoka6pdQxF40aTK8MFk7M/c02UKaQ/ftsXN0sQ2TYC6K4WcsYTrWRsFpFzeidRTxw== Received: from HE1EUR02FT016.eop-EUR02.prod.protection.outlook.com (10.152.10.56) by HE1EUR02HT026.eop-EUR02.prod.protection.outlook.com (10.152.10.208) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.977.7; Tue, 21 Mar 2017 11:58:57 +0000 Received: from VI1PR0901MB1312.eurprd09.prod.outlook.com (10.152.10.52) by HE1EUR02FT016.mail.protection.outlook.com (10.152.10.124) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.977.7 via Frontend Transport; Tue, 21 Mar 2017 11:58:57 +0000 Received: from VI1PR0901MB1312.eurprd09.prod.outlook.com ([10.167.211.150]) by VI1PR0901MB1312.eurprd09.prod.outlook.com ([10.167.211.150]) with mapi id 15.01.0977.019; Tue, 21 Mar 2017 11:58:56 +0000 From: Max Mouratov To: Romain Beauxis , Dmitry Bely CC: "caml-list@inria.fr" Thread-Topic: [Caml-list] Exceptions and Gc. Thread-Index: AQHSoa92R8YHLcOtPESts14FKMwlTaGfJfiAgAALowA= Date: Tue, 21 Mar 2017 11:58:56 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:E734895135DFF50DBBBB714C0D45DAE8FEFE61D30F921CA9D326746C0B7EDF39;UpperCasedChecksum:6EC346D3F7ED7E60FE7FD4981946F3A796E3D1ED4186622B319687EC0ECD8D6B;SizeAsReceived:8091;Count:40 x-ms-exchange-messagesentrepresentingtype: 1 x-microsoft-exchange-diagnostics: 1;HE1EUR02HT026;5:FBiuXDze3tOsJ1QENfnD0vyVcITo+g3R/Da8XGpTIzD8YMHVGaJM4zETu/Hlggf9xSjy6TwraA6ua88W8uI1iV2LETkZ0u+MJZhK1nMV0t9rjI9m/kcayG6ut30HRPu4kS6NVlL3bsZIkTog0Zuepw==;24:Zn4Z4FSTszN9pXrd51ye+//OcuDayIXFFltMcQAMqYUXAzozkGuZ9l+mN4SgYpO9lYaEZtVLxbKy/0wOiNoN4UNCHk9eHm5wnh/p/xe0ky8=;7:TuXne1XzrIQyx8HsGbZBmS6jjPbRNm3nTNdkuOnPxt0JaG894ps+/6Wh/N7TMibDI/dB4D5mFnH4ua184vLQSxDtcMtmt+F90OKeiAOtuDIUN6A4RtLprV32hh0CN1hsXar7pdgMsFxqZ8OPpRZWTMKFQ8W5gfBn9GGa6dcalchPY4REKTBGzd3H5G6wry9ea1gkVzCkaw3XxauoP6HZ3vYn3LkoZbrbqXlCWWTwUy7Ce7MnlM2rkyrYtvh809mMd0JLsxxtenrF4xfAC0vV4ECfTkyPkdHlEYh0ATTgUMOVALybeCaoEftADVXFI2qs x-incomingheadercount: 40 x-eopattributedmessage: 0 x-forefront-antispam-report: EFV:NLI;SFV:NSPM;SFS:(7070007)(98900017);DIR:OUT;SFP:1901;SCL:1;SRVR:HE1EUR02HT026;H:VI1PR0901MB1312.eurprd09.prod.outlook.com;FPR:;SPF:None;LANG:en; x-ms-office365-filtering-correlation-id: 2a0bf26f-4ec6-4948-1155-08d47051a66c x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201702061074)(5061506573)(5061507331)(1603103135)(2017031320039)(2017031322039)(201702181095)(1601125347)(1603101448)(1701031045);SRVR:HE1EUR02HT026; x-ms-exchange-slblob-mailprops: hUXhyF3mGSUz+PPnqjNEGmElwUKAEY6IIVCewoByjuggk+iXSYBAc49u/g47HQkS3glV7JiztRMJKtX67Bu0ntXiWgQdwmpxH4s6Vbbpc/VDC31WSNGizznDWDIuB2GIdDlhQiiqNKJ1ola9YBcSKYokKrzb3ehq0nZxgaYkGDjfjh1uhTl/D8I9LIa//xER8MysPoWotp8cg7suF3BXDhdilM35f8J9Ui+j4CRXtH92z2nLTx4qnwa8hjbqUk+/DYbrat8OpxE8a/5JwcQyFvWZZyj5/kM6hs7wTFDfH8u2WjEdH5sBFnyxplPHIs5jwr4Nzorlw0pp4ihLp4sW5dUS/UqlBBRVRZdrrdRac54yOeU1wNp6DbTHsgDQFoGuQns55l4amjEDEc4A8g1rfiWqC0uCsf0rHYAM3mPEORCVC+uMsl8ADsInraQRh7SKcX+VHhkToZayFHOYEUK7zJs4y6NfDkfeLner9IO3+MGs4t8jiorjANNprnbQJMtWfWPm+LKrZAbjKdVDHIsI14oWSvBITahG03TYmiMWCtvR6bHkf9//0mYTxuW4X6Fw5i9N6hsI7BtYq/ZKvaiyPwSmPihc3C7enHj+D3M1vApbFUtXryYX5IyhuusYleZa5IzCTf8MHj5vDzAPuuJSOgNxpAjJ4yTBpxgZWcCk+OOuHbXLxVjvXW8tIvdQro06hEm9o/W5owklajRU9EOsQi6gNsP/eDfBOEya2bW2cV83AxQPdPXjiDnzfdjbiawryO1wWBAzj+gjEQ/iulXhAKOWTszpXJ+TgDtVtv1/C/ULsuphbMXLL6sgfQophdr2 x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(444000031);SRVR:HE1EUR02HT026;BCL:0;PCL:0;RULEID:;SRVR:HE1EUR02HT026; x-forefront-prvs: 02530BD3AA spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-ID: <3F2684FB2300C043AE57014AACD6C0A1@eurprd09.prod.outlook.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Mar 2017 11:58:56.6746 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1EUR02HT026 X-Validation-by: max.mouratov@outlook.com Subject: Re: [Caml-list] Exceptions and Gc. Tuesday, March 21, 2017, 12:22:54 AM, Romain wrote: > The reason I'm asking if that I know I've been writing C bindings > where some cleanup operations are wrapped up in the finalization > code with the expectation that, except for a hard crash, it would > always be executed at some point in the future.. Tuesday, March 21, 2017, 4:17:05 PM, Dmitry wrote: > It has nothing to do with exceptions. The problem is that OCaml > runtime does not execute the garbage collector on program exit. But > you can write > let _ =3D at_exit Gc.full_major > if you need to force GC. It won't guarantee running all finalisers, as some of the objects may still be reachable. As part of a yet unmerged patch [1] that will land=20 in 4.06, I have added an option that makes the runtime shut down=20 properly on process exit (by an implicit call to the new caml_shutdown function), but unfortunately it doesn't handle Gc.finalise yet, as the relevant logic is not so trivial (and is probably a subject for a different PR). However, custom blocks [2] are guaranteed to be finalised properly with caml_shutdown, so you might look into this. Links: [1] https://github.com/ocaml/ocaml/pull/71 [2] https://caml.inria.fr/pub/docs/manual-ocaml/intfc.html#sec442