Re: Question sur les tasks

Liste des GroupesRevenir à fcl ada 
Sujet : Re: Question sur les tasks
De : 314 (at) *nospam* drpi.fr (DrPi)
Groupes : fr.comp.lang.ada
Date : 18. Oct 2023, 17:55:05
Autres entêtes
Organisation : <https://pasdenom.info/news.html>
Message-ID : <ugp2ld$765$1@rasp.pasdenom.info>
References : 1 2 3
User-Agent : Mozilla Thunderbird
Salut Stéphane,
Le 18/10/2023 à 08:33, Stéphane Rivière a écrit :
Une fonction/procédure appelée à partir de plusieurs tâches DOIT être conçue pour ça (protection avec un mutex, utilisation un objet protégé...).
 C'est la prochaine étape. Là, c'était du 'gaffer' pour éviter d'avoir une appli fonctionnelle (au niveau Web, puisque Gnoga ping régulièrement le navigateur - on est en websocket, pas en html -) mais pas au niveau de la connexion SQL (par manque d'activité). Le lendemain matin, ça ne fait pas cossu :)
Si tu veux facilement protéger Msg.Std des accès concurrents par plusieurs tâches, tu peux (temporairement) utiliser un mutex.
Un mutex de base ça se définit comme ça :
protected type Mutex is
    entry Lock;
    procedure Release;
private
    Owned : Boolean := False;
end Mutex;
protected body Mutex is
    entry Lock when not Owned is
    begin
       Owned := True;
    end Seize;
    procedure Release is
    begin
       Owned := False;
    end Release;
end Mutex;
En début de fonction, un appel à Mutex.Lock.
En fin de fonction, un appel à Mutex.Release.
Le mutex doit être déclaré de façon statique (global par exemple).
Sinon, une autre piste : Peut être que le package Msg nécessite une initialisation (faite par la tâche principale ?) qui n'est pas encore faite/terminée lors de l'appel à Msg.Std dans la tâche SQL_Ping. Le délai permet à l'appel de Msg.Std de se faire après l'initialisation.
Nicolas

Date Sujet#  Auteur
17 Oct 23 * Question sur les tasks20Stéphane Rivière
17 Oct 23 +* Re: Question sur les tasks7Pascal Obry
18 Oct 23 i`* Re: Question sur les tasks6Stéphane Rivière
7 Dec 23 i `* Re: Question sur les tasks5Pascal Obry
8 Dec 23 i  `* Re: Question sur les tasks4pehache
8 Dec 23 i   `* Re: Question sur les tasks3Pascal Obry
8 Dec 23 i    `* Re: Question sur les tasks2pehache
8 Dec 23 i     `- Re: Question sur les tasks1Pascal Obry
17 Oct 23 +* Re: Question sur les tasks10DrPi
18 Oct 23 i`* Re: Question sur les tasks9Stéphane Rivière
18 Oct 23 i `* Re: Question sur les tasks8DrPi
19 Oct 23 i  `* Re: Question sur les tasks7Stéphane Rivière
19 Oct 23 i   `* Re: Question sur les tasks6DrPi
19 Oct 23 i    +* Re: Question sur les tasks4J-P. Rosen
20 Oct 23 i    i`* Re: Question sur les tasks3Stéphane Rivière
20 Oct 23 i    i +- Re: Question sur les tasks1J-P. Rosen
20 Oct 23 i    i `- Re: Question sur les tasks1J-P. Rosen
20 Oct 23 i    `- Re: Question sur les tasks1Stéphane Rivière
18 Oct 23 `* Re: Question sur les tasks2Blady
19 Oct 23  `- Re: Question sur les tasks1Stéphane Rivière

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal