PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Forums Hébergement > Forum Serveur - Sécurité et techniques > fr.comp.os.unix > Comment contrer le broken pipe du write()
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
fr.comp.os.unix Système UNIX.

Comment contrer le broken pipe du write()

Réponse
 
LinkBack Outils de la discussion
Vieux 30/04/2006, 19h56   #1
Delf
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Comment contrer le broken pipe du write()

Bonjour.

J'ai une application serveur qui envoie des données à des clients. Si un
client 'arrive' et 'part' avant le write(), l'application plante sur un
'broken pipe'.

int ret = write(m_SocketDescriptor, &str, 128);

Y a-t-il un moyen d'eviter cela ?

Merci.

--
Delf
Do not use this email in Cc!
Tant que l'homme sera mortel, il ne sera jamais décontracté.
  Réponse avec citation
Vieux 30/04/2006, 20h16   #2
Delf
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Comment contrer le broken pipe du write()

Delf wrote:

> Y a-t-il un moyen d'eviter cela ?


Oui et ouf:

signal(SIGPIPE, SIG_IGN);

--
Delf
Do not use this email in Cc!
L'homme n'est que poussière. La femme est aspirateur.
  Réponse avec citation
Vieux 30/04/2006, 20h17   #3
Luc Habert
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Comment contrer le broken pipe du write()

Delf :

> signal(SIGPIPE, SIG_IGN);


Je précise au cas où tu ne serais pas au courant: «signal» a une
sémantique variable d'un OS à l'autre, en particulier au niveau de la
one-shotness. Il vaut mieux utiliser sigaction.
  Réponse avec citation
Vieux 30/04/2006, 20h41   #4
Delf
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Comment contrer le broken pipe du write()

Luc Habert wrote:

> Je précise au cas où tu ne serais pas au courant : « signal » a une
> sémantique variable d'un OS à l'autre, en particulier au niveau de la
> one-shotness. Il vaut mieux utiliser sigaction.


Ah non, je ne savais pas :| Un truc à regarder de près, merci.

--
Delf
Do not use this email in Cc!
Quand je vais aux chiottes, je prends un manuel CISCO.
  Réponse avec citation
Vieux 01/05/2006, 08h11   #5
Stephane Chazelas
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Comment contrer le broken pipe du write()

On Sun, 30 Apr 2006 19:17:50 +0000 (UTC), Luc Habert wrote:
> Delf :
>
>> signal(SIGPIPE, SIG_IGN);

>
> Je précise au cas où tu ne serais pas au courant: «signal» a une
> sémantique variable d'un OS à l'autre, en particulier au niveau de la
> one-shotness. Il vaut mieux utiliser sigaction.


Pas pour SIG_IGN, quand meme, si?

--
Stephane
  Réponse avec citation
Vieux 01/05/2006, 09h08   #6
Eric Levenez
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Comment contrer le broken pipe du write()

Le 1/05/06 9:11, dans <slrne5bd4m.pic.stephane_chazelas@duey.spider.com> ,
«Stephane Chazelas» <stephane_chazelas@yahoo.fr> a écrit:

> On Sun, 30 Apr 2006 19:17:50 +0000 (UTC), Luc Habert wrote:
>> Delf :
>>
>>> signal(SIGPIPE, SIG_IGN);

>>
>> Je précise au cas où tu ne serais pas au courant: «signal» a une
>> sémantique variable d'un OS à l'autre, en particulier au niveau de la
>> one-shotness. Il vaut mieux utiliser sigaction.

>
> Pas pour SIG_IGN, quand meme, si?


Non bien sûr, un SIG_IGN sert à ignorer tous les signaux, et pas juste le
premier. Aucun problème donc à utiliser signal dans ce cas.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 12h17.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,10244 seconds with 14 queries