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

Réseau C Discussion :

[GLib] Interrompre un appel bloquant dans un thread


Sujet :

Réseau C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 8
    Points : 7
    Points
    7
    Par défaut [GLib] Interrompre un appel bloquant dans un thread
    Le problème est simple, je cherche à interrompre une attente d'I/O dans un thread afin de pouvoir le fermer proprement.

    En effet, ce thread contient une boucle de lecture dont voudrais pouvoir sortir lorsque je ferme le socket sur lequel je lis par l'intermédiaire d'un autre thread. Et je veux que cela se fasse dans un délai raisonnable pour pouvoir réutiliser la structure de données associée à la connexion.

    Ce qui se passe pour l'instant, c'est que l'appel système read reste bloqué après la fermeture du socket indéfiniment.

    Précisions : j'utilise les sockets sous Linux avec le protocole TCP. Et j'utilise la GLib pour générer mes threads.

    Voilà, je vous remercie déjà pour avoir lu mon poste jusqu'ici !

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    n'importe quel signal devrait faire l'affaire... dont un timer (SIGALRM)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Cette solution n'est pas portable il me semble, si?

    Ceci dit, c'est quand même une solution à laquelle je n'avais pas songé, merci !

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    ça je ne sais pas..

    Mais sur cygwin ça existe..

    Et de plus, dans le select, tu peut mettre un timeout...

Discussions similaires

  1. Thread non fermé après appel fonction dans DLL
    Par colorid dans le forum Langage
    Réponses: 6
    Dernier message: 02/04/2013, 17h19
  2. Réponses: 5
    Dernier message: 10/07/2009, 23h43
  3. Arrêt de Thread avec appel bloquant..
    Par dIwAmIb dans le forum C#
    Réponses: 5
    Dernier message: 22/04/2009, 12h44
  4. appel asynchrone dans le thread principal
    Par mrrenard dans le forum C#
    Réponses: 6
    Dernier message: 05/04/2007, 10h07
  5. Synchronize bloquant dans un thread
    Par bencot dans le forum Langage
    Réponses: 3
    Dernier message: 20/08/2004, 17h42

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