Path: ...!3.eu.feeder.erje.net!feeder.erje.net!usenet.goja.nl.eu.org!pasdenom.info!.POSTED.2a01:e0a:472:70f0:e068:a2b4:279b:fe6b!not-for-mail From: DrPi <314@drpi.fr> Newsgroups: fr.comp.lang.ada Subject: Re: Question sur les tasks Date: Thu, 19 Oct 2023 18:59:06 +0200 Organization: Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Thu, 19 Oct 2023 16:59:12 -0000 (UTC) Injection-Info: rasp.pasdenom.info; posting-account="314@usenet"; posting-host="2a01:e0a:472:70f0:e068:a2b4:279b:fe6b"; logging-data="32740"; mail-complaints-to="abuse@pasdenom.info" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:ZMhxTjGuboZpdHqiVGq/W/URp2I= sha256:uNbUeZ8EyAmsj8P4BjZ96XdWIMkz0SNzW8mQROiBh3Q= sha1:6bUQXZYTzSxI8SSaSIFn+EiI6k0= sha256:zNo0baGO1OLacZ5OiVNcAPC5tXxelkE42i2AHum44qk= In-Reply-To: Content-Language: fr Bytes: 2243 Lines: 32 Bonjour Stéphane, Le 19/10/2023 à 15:41, Stéphane Rivière a écrit : > Dans la fonction privée qui factorise tous les Msg.Std/Dbg/Err : > > procedure Put (Line_In : String; >                Line_Level : String; >                Title_On : Boolean := False) is >       Line : String := Line_In; >       Line_Disk : String := Line; >       Line_Task : String := ""; >       Ansi_Begin : String := ""; >       Ansi_End : String := ""; >       M : Mutex; >    begin >       M.Lock; > >       .../... > >       M.Release; >    end Put; > !!! Implémenté comme ça, le mutex ne protège rien !!! Lorsque le mutex est déclaré dans la fonction, un nouveau mutex est créé à chaque appel de la fonction. Il ne sert donc à rien. Il faut que le mutex soit déclaré au niveau global. Au début du "package body Msg" par exemple. Nicolas