IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Limiter le temps d'exécution d'une DLL


Sujet :

C++

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 110
    Points : 167
    Points
    167
    Par défaut Limiter le temps d'exécution d'une DLL
    Bonjour,

    Pour la DLL que je dévelloppe depuis plusieur jour, je charche à sovoir comment limiter son temps d'exécution. Je souhaiterais qu'au bout de 4 seconde, elle s'arrête et renvoit un message d'erreur. Cependant je ne sais pas par où commencer. Je suppose qu'il s'agit de multi-thread, mais je ne sais pas comment faire.

    D'avance merci

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Ben déjà, il faudrait savoir ce que tu fais dedans : si c'est des communications par sockets, par exemple, ça se règle avec des timeouts. Si c'est un calcul, ça se règle avec des interruptions d'algorithme (via sémaphore / timer). Si c'est autre chose, ce sera encore sûrement une autre solution.

    Explicite un peu plus ce que tu fais dedans, on pourra t'aider plus efficacement.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 110
    Points : 167
    Points
    167
    Par défaut
    Bonjour,

    Alors la DLL communique avec l'active drectory. Donc elle reçoit un numéro de téléphone, le met en forme pour en créer un filtre, se connecte au LDAP, récupère et renvoit au programme les informations reçues du LDAP.
    Son temps d'exécution doit être limité car après 5 secondes le programme qui l'appelle passe en time-out et considère qu'elle provoque hors une erreur. Or cela arrive si le numéro de téléphone n'est pas connu du LDAP.

    Merci beaucoup

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Tu passes via quelles fonctions de l'API exactement ? Souvent, il y a une version "Ex" permettant un peu plus de choses, comme par exemple d'être interrompue...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 139
    Points : 12 239
    Points
    12 239
    Par défaut
    C'est bizarre que la none existence dans l'AD déclenche un timeout.

    Pouvez-vous nous donner votre requête LDAP ?

  6. #6
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 110
    Points : 167
    Points
    167
    Par défaut
    Ce n'est pas l'AD qui déclenche les time out, mais le programme qui appelle la DLL (un call center, donc si la recherche est trop longue, le client aime pas!)
    Quand il ne trouve pas de correspondance à une recherche, l'AD met trop de temps à répondre et le call center déclenche son time out et renvoit le client vers un numéro d'erreur (pas pratique du tout!)
    Les fonction que j'utilise sont beaucoup de memcpy ainsi que quelque fonction ldap_. Mais voici la ligne qui serait à "couper"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rc = ldap_search_ext_s( ld, basedn, scope, filter, NULL, 0, NULL, NULL, NULL, 0, &result );
    Merci

  7. #7
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Facile, alors : utilise ldap_search_ext à la place (mode asynchrone), avec un thread de surveillance et/ou une callback.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  8. #8
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 110
    Points : 167
    Points
    167
    Par défaut
    Maintenant que mon programme est un peu plus au point, il semble que j'avais une mauvaise idée de la réponse du LDAP. Il répond en effet dans les temps, même si la rehcrehe ne donne rien (numéro de téléphone inconnu). Malheureusement, même si la recherche ne donne rien, elle est considérée comme réussie!
    Donc couper la requete apres un certain temps n'est finalement pas utile (et je ne sais pas à quoi était du ce délai important de mes premiers tests).
    Merci tout de même de m'avoir aidé!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Limiter le temps d'exécution d'une requête MySQL
    Par Ceubex dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/12/2014, 21h22
  2. limiter le temps d'exécution d'une commande
    Par luckyvae dans le forum Linux
    Réponses: 1
    Dernier message: 15/03/2010, 15h23
  3. Limiter le temps d'exécution d'une méthode
    Par nono_31 dans le forum Général Java
    Réponses: 9
    Dernier message: 16/08/2007, 15h46
  4. Priorité d'exécution dans une dll
    Par Neilos dans le forum C++Builder
    Réponses: 2
    Dernier message: 06/05/2005, 15h59
  5. Affichage du temps d'exécution d'une requête
    Par milka dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/03/2004, 17h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo