C++ Logo

std-proposals

Advanced search

Re: [std-proposals] set_new_handler extension

From: Phil Bouchard <boost_at_[hidden]>
Date: Sat, 11 Feb 2023 18:45:45 -0500
They already do partially with the "static" keywords and all the attributes.

But I seriously think the standards should consider linker issues
because right now nothing prevents Microsoft from blacklisting and
making crash competitor's products.

If you have an application that is ISO certified then it you should also
guarantee the low level allocation routines will never crash as well.


On 2/11/23 18:39, Tony V E via Std-Proposals wrote:
> Dynamic libraries don't exist in the standard.
>
> On Sat., Feb. 11, 2023, 5:28 p.m. Phil Bouchard via Std-Proposals,
> <std-proposals_at_[hidden] <mailto:std-proposals_at_[hidden]>>
> wrote:
>
> Across dynamics libraries?
>
>
> On 2/11/23 17:20, connor horman via Std-Proposals wrote:
> > You can replace the global allocation functions to modify the
> behaviour
> > of them entirely (and not just change the failure behaviour). This
> > should do exactly what you want.
> >
> > On Sat, Feb 11, 2023 at 17:05 Phil Bouchard via Std-Proposals
> > <std-proposals_at_[hidden]
> <mailto:std-proposals_at_[hidden]>
> <mailto:std-proposals_at_[hidden]
> <mailto:std-proposals_at_[hidden]>>>
> > wrote:
> >
> > Greetings,
> >
> > From my experience the underlying Windows RtlAllocateHeap() and
> > RtlFreeHeap() aren't reliable in extensive multithreading usages.
> >
> > One solution is to use thread-local memory pools, which are
> not only
> > faster but safer.
> >
> > Regarding the C++ standards there is only the following
> function that
> > can be use upon memory allocation failures:
> >
> > https://en.cppreference.com/w/cpp/memory/new/set_new_handler
> <https://en.cppreference.com/w/cpp/memory/new/set_new_handler>
> > <https://en.cppreference.com/w/cpp/memory/new/set_new_handler
> <https://en.cppreference.com/w/cpp/memory/new/set_new_handler>>
> >
> > Why can't we have a handler that would be called before it even
> > tries to
> > allocate anything? This way we could implement our thread-local
> > allocation routines through the C++ standards and not relying
> on some
> > linker hacks magic.
> >
> >
> > Regards,
> >
> > --
> > Email Signature
> > Logo <https://www.fornux.com/ <https://www.fornux.com/>
> <https://www.fornux.com/ <https://www.fornux.com/>>>
> > *Phil Bouchard* facebook icon
> > <https://www.linkedin.com/in/phil-bouchard-5723a910/
> <https://www.linkedin.com/in/phil-bouchard-5723a910/>
> > <https://www.linkedin.com/in/phil-bouchard-5723a910/
> <https://www.linkedin.com/in/phil-bouchard-5723a910/>>>
> > CTO
> > T: (819) 328-4743
> > E: phil_at_[hidden] <mailto:phil_at_[hidden]>
> <mailto:phil_at_[hidden] <mailto:phil_at_[hidden]>>| www.fornux.com
> <http://www.fornux.com>
> > <http://www.fornux.com <http://www.fornux.com>>
> <http://www.fornux.com <http://www.fornux.com>
> <http://www.fornux.com <http://www.fornux.com>>>
> > 8 rue de la Baie| Gatineau (Qc), J8T 3H3 Canada
> >
> <https://www.google.com/maps/search/8+rue+de+la+Baie%7C+Gatineau+(Qc),+J8T+3H3+Canada?entry=gmail&source=g <https://www.google.com/maps/search/8+rue+de+la+Baie%7C+Gatineau+(Qc),+J8T+3H3+Canada?entry=gmail&source=g>>
> >
> > Banner <https://goglobalawards.org/
> <https://goglobalawards.org/> <https://goglobalawards.org/
> <https://goglobalawards.org/>>>
> > Le message ci-dessus, ainsi que les
> > documents l'accompagnant, sont destinés uniquement aux personnes
> > identifiées et peuvent contenir des informations privilégiées,
> > confidentielles ou ne pouvant être divulguées. Si vous avez
> reçu ce
> > message par erreur, veuillez le détruire.
> > This communication (and/or the attachments) is intended for named
> > recipients only and may contain privileged or confidential
> information
> > which is not to be disclosed. If you received this
> communication by
> > mistake please destroy all copies.
> >
> > --
> > Std-Proposals mailing list
> > Std-Proposals_at_[hidden]
> <mailto:Std-Proposals_at_[hidden]>
> <mailto:Std-Proposals_at_[hidden]
> <mailto:Std-Proposals_at_[hidden]>>
> > https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
> <https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals>
> > <https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
> <https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals>>
> >
> >
>
> --
> Logo <https://www.fornux.com/ <https://www.fornux.com/>>
> *Phil Bouchard* facebook icon
> <https://www.linkedin.com/in/phil-bouchard-5723a910/
> <https://www.linkedin.com/in/phil-bouchard-5723a910/>>
> CTO
> T: (819) 328-4743
> E: phil_at_[hidden] <mailto:phil_at_[hidden]>| www.fornux.com
> <http://www.fornux.com> <http://www.fornux.com <http://www.fornux.com>>
> 8 rue de la Baie| Gatineau (Qc), J8T 3H3 Canada
>
> Banner <https://goglobalawards.org/ <https://goglobalawards.org/>>
> Le message ci-dessus, ainsi que les
> documents l'accompagnant, sont destinés uniquement aux personnes
> identifiées et peuvent contenir des informations privilégiées,
> confidentielles ou ne pouvant être divulguées. Si vous avez reçu ce
> message par erreur, veuillez le détruire.
> This communication (and/or the attachments) is intended for named
> recipients only and may contain privileged or confidential information
> which is not to be disclosed. If you received this communication by
> mistake please destroy all copies.
>
> --
> Std-Proposals mailing list
> Std-Proposals_at_[hidden] <mailto:Std-Proposals_at_[hidden]>
> https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
> <https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals>
>
>

-- 
Logo <https://www.fornux.com/>  
*Phil Bouchard*  facebook icon
<https://www.linkedin.com/in/phil-bouchard-5723a910/> 
CTO
T: (819) 328-4743
E: phil_at_[hidden]| www.fornux.com <http://www.fornux.com>
8 rue de la Baie| Gatineau (Qc), J8T 3H3 Canada
Banner <https://goglobalawards.org/> Le message ci-dessus, ainsi que les
documents l'accompagnant, sont destinés uniquement aux personnes
identifiées et peuvent contenir des informations privilégiées,
confidentielles ou ne pouvant être divulguées. Si vous avez reçu ce
message par erreur, veuillez le détruire.
This communication (and/or the attachments) is intended for named
recipients only and may contain privileged or confidential information
which is not to be disclosed. If you received this communication by
mistake please destroy all copies.

Received on 2023-02-11 23:45:47