Sur un linux 2.2 (donc sans les aio) je fais des sockets en mode non
bloquant. Dans ce mode, connect() revient immédiatement, et select()
ou poll() préviennent quand il a terminé. Ma question est de savoir
comment arrêter ce connect() avant sa terminaison normale ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Laurent Wacrenier
Erwan David écrit:
Sur un linux 2.2 (donc sans les aio) je fais des sockets en mode non bloquant. Dans ce mode, connect() revient immédiatement, et select() ou poll() préviennent quand il a terminé.
Il a pu terminer dès son retour.
Ma question est de savoir comment arrêter ce connect() avant sa terminaison normale ?
Un simple close() suffit-il ?
Oui. Pourquoi faire compliqué ?
Erwan David <erwan@rail.eu.org> écrit:
Sur un linux 2.2 (donc sans les aio) je fais des sockets en mode non
bloquant. Dans ce mode, connect() revient immédiatement, et select()
ou poll() préviennent quand il a terminé.
Il a pu terminer dès son retour.
Ma question est de savoir
comment arrêter ce connect() avant sa terminaison normale ?
Sur un linux 2.2 (donc sans les aio) je fais des sockets en mode non bloquant. Dans ce mode, connect() revient immédiatement, et select() ou poll() préviennent quand il a terminé.
Il a pu terminer dès son retour.
Ma question est de savoir comment arrêter ce connect() avant sa terminaison normale ?
Un simple close() suffit-il ?
Oui. Pourquoi faire compliqué ?
Erwan David
Laurent Wacrenier <lwa@ teaser . fr> écrivait :
Erwan David écrit:
Sur un linux 2.2 (donc sans les aio) je fais des sockets en mode non bloquant. Dans ce mode, connect() revient immédiatement, et select() ou poll() préviennent quand il a terminé.
Il a pu terminer dès son retour.
Oui, évidemment, et dans ce cas là aucune raison de le canceller.
Ma question est de savoir comment arrêter ce connect() avant sa terminaison normale ?
Un simple close() suffit-il ?
Oui. Pourquoi faire compliqué ?
C'est surtout que la doc n'en était pas claire...
Laurent Wacrenier <lwa@ teaser . fr> écrivait :
Erwan David <erwan@rail.eu.org> écrit:
Sur un linux 2.2 (donc sans les aio) je fais des sockets en mode non
bloquant. Dans ce mode, connect() revient immédiatement, et select()
ou poll() préviennent quand il a terminé.
Il a pu terminer dès son retour.
Oui, évidemment, et dans ce cas là aucune raison de le canceller.
Ma question est de savoir
comment arrêter ce connect() avant sa terminaison normale ?
Sur un linux 2.2 (donc sans les aio) je fais des sockets en mode non bloquant. Dans ce mode, connect() revient immédiatement, et select() ou poll() préviennent quand il a terminé.
Il a pu terminer dès son retour.
Oui, évidemment, et dans ce cas là aucune raison de le canceller.
Ma question est de savoir comment arrêter ce connect() avant sa terminaison normale ?
Un simple close() suffit-il ?
Oui. Pourquoi faire compliqué ?
C'est surtout que la doc n'en était pas claire...
Erwan David
Laurent Wacrenier <lwa@ teaser . fr> écrivait :
Erwan David écrit:
Sur un linux 2.2 (donc sans les aio) je fais des sockets en mode non bloquant. Dans ce mode, connect() revient immédiatement, et select() ou poll() préviennent quand il a terminé.
Il a pu terminer dès son retour.
Oui, évidemment, et dans ce cas là aucune raison de le canceller.
Ma question est de savoir comment arrêter ce connect() avant sa terminaison normale ?
Un simple close() suffit-il ?
Oui. Pourquoi faire compliqué ?
C'est surtout que la doc n'en était pas claire...
Merci.
Laurent Wacrenier <lwa@ teaser . fr> écrivait :
Erwan David <erwan@rail.eu.org> écrit:
Sur un linux 2.2 (donc sans les aio) je fais des sockets en mode non
bloquant. Dans ce mode, connect() revient immédiatement, et select()
ou poll() préviennent quand il a terminé.
Il a pu terminer dès son retour.
Oui, évidemment, et dans ce cas là aucune raison de le canceller.
Ma question est de savoir
comment arrêter ce connect() avant sa terminaison normale ?
Sur un linux 2.2 (donc sans les aio) je fais des sockets en mode non bloquant. Dans ce mode, connect() revient immédiatement, et select() ou poll() préviennent quand il a terminé.
Il a pu terminer dès son retour.
Oui, évidemment, et dans ce cas là aucune raison de le canceller.
Ma question est de savoir comment arrêter ce connect() avant sa terminaison normale ?
Un simple close() suffit-il ?
Oui. Pourquoi faire compliqué ?
C'est surtout que la doc n'en était pas claire...
Merci.
Laurent Wacrenier
Erwan David écrit:
Sur un linux 2.2 (donc sans les aio) je fais des sockets en mode non bloquant. Dans ce mode, connect() revient immédiatement, et select() ou poll() préviennent quand il a terminé.
Il a pu terminer dès son retour.
Oui, évidemment, et dans ce cas là aucune raison de le canceller.
Il n'y a surtout aucune raison de faire un select() pour connaitre l'état d'avancement de la connexion.
C'est surtout que la doc n'en était pas claire...
Hà ? Tu as trouvé une doc quelque part ? close() libère les ressouces, on ne peut pas faire mieux. Il se peut que des parquets trainent encore par ci sur le réseau et qu'il reste encore des traces de la session dans le noyau quelques temps, mais c'est la vie.
Erwan David <erwan@rail.eu.org> écrit:
Sur un linux 2.2 (donc sans les aio) je fais des sockets en mode non
bloquant. Dans ce mode, connect() revient immédiatement, et select()
ou poll() préviennent quand il a terminé.
Il a pu terminer dès son retour.
Oui, évidemment, et dans ce cas là aucune raison de le canceller.
Il n'y a surtout aucune raison de faire un select() pour connaitre
l'état d'avancement de la connexion.
C'est surtout que la doc n'en était pas claire...
Hà ? Tu as trouvé une doc quelque part ?
close() libère les ressouces, on ne peut pas faire mieux.
Il se peut que des parquets trainent encore par ci sur le réseau et
qu'il reste encore des traces de la session dans le noyau quelques
temps, mais c'est la vie.
Sur un linux 2.2 (donc sans les aio) je fais des sockets en mode non bloquant. Dans ce mode, connect() revient immédiatement, et select() ou poll() préviennent quand il a terminé.
Il a pu terminer dès son retour.
Oui, évidemment, et dans ce cas là aucune raison de le canceller.
Il n'y a surtout aucune raison de faire un select() pour connaitre l'état d'avancement de la connexion.
C'est surtout que la doc n'en était pas claire...
Hà ? Tu as trouvé une doc quelque part ? close() libère les ressouces, on ne peut pas faire mieux. Il se peut que des parquets trainent encore par ci sur le réseau et qu'il reste encore des traces de la session dans le noyau quelques temps, mais c'est la vie.
Laurent Wacrenier
Laurent Wacrenier écrit:
Il a pu terminer dès son retour.
Oui, évidemment, et dans ce cas là aucune raison de le canceller.
Il n'y a surtout aucune raison de faire un select() pour connaitre l'état d'avancement de la connexion.
En fait, il faut faire un select() ou un poll() si connect() renvoie -1 et que errno == EINPROGRESS. La connexion a pu foirer du premier coup.
Laurent Wacrenier <lwa@teaser> écrit:
Il a pu terminer dès son retour.
Oui, évidemment, et dans ce cas là aucune raison de le canceller.
Il n'y a surtout aucune raison de faire un select() pour connaitre
l'état d'avancement de la connexion.
En fait, il faut faire un select() ou un poll() si connect() renvoie
-1 et que errno == EINPROGRESS. La connexion a pu foirer du premier
coup.