Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Advanced Developers Conference     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: FAQ - Linux/Unix ::  Port auch nach Absturz besetzt  
Gehen Sie zu Seite Zurück  1, 2
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
hackbert
Mitglied

Benutzerprofil
Anmeldungsdatum: 03.11.2001
Beiträge: 723
Beitrag hackbert Mitglied 13:25:20 30.10.2004   Titel:              Zitieren

wischmop2 schrieb:
In meinem Fall habe ich aber auch mit Threads gearbeitet, verwendest Du vielleicht Prozesse (d.h. fork) in der Accept-Loop? Vielleicht laufen dann noch Zombi-Prozesse?

Ich benutze in der Anwendung pthreads (womit es auch imemr wieder Fehler gibt siehe http://www.c-plusplus.de/forum/viewtopic.php?t=90499 ). Sicher ist auf jeden Fall, dass kein close() für den Socket aufgerufen wird. Hier vermnute ich auch den Fehler. Aber trotzdem: Ist der socket nicht ein Kernelobjekt, dass - falls der Prozess nicht mehr existiert, der es angefordert hat - wieder gelöscht wird? Oder habe ich da was ganz falsch verstanden?

_________________
http://www.programmierforen.de | KernelWiki


Zuletzt bearbeitet von hackbert am 13:26:11 30.10.2004, insgesamt 1-mal bearbeitet
Werbeunterbrechung
entelechie
Mitglied

Benutzerprofil
Anmeldungsdatum: 04.05.2002
Beiträge: 647
Beitrag entelechie Mitglied 14:07:28 30.10.2004   Titel:              Zitieren

nochmal:
der socket bleibt noch eine weile offen, um noch evtl. vorhandene
pakete, die grade "auf dem weg sind" abzufangen.
sonst koennte es passieren, dass du auf einem grade erzeugten socket
alte pakete erhaelts.

_________________
http://cchoernchen.de
wischmop2
Mitglied

Benutzerprofil
Anmeldungsdatum: 04.05.2001
Beiträge: 127
Beitrag wischmop2 Mitglied 14:36:37 30.10.2004   Titel:              Zitieren

Hast Du denn nun mal ein kleines Testprogramm mit den paar Codezeilen von mir geschrieben?
Es empfiehlt sich nicht immer, an einem größeren Programm eine Korrektur vorzunehmen und dann wenn es immer noch nicht funktioniert zu glauben, dass das es das es noch eine andere Lösung geben muss, denn eigentlich ist es die beschriebene Lösung. In C/C++ können manchmal durch verbogene Zeiger, bereits gelöschte Objekte etc. Probleme an Stellen auftreten, an die man in den kühnsten Träumen nicht zu denken mag.
Schreib mal das Testprogramm, "kill" es dann und vergleich das Verhalten mit mit Deinem ursprünglichen Progamm (z.B. auch mal killen).
SO_REUSEPORT habe ich übrigens bei mir in der socket.h gefunden, allerdings auskommentiert:
/* To add :#define SO_REUSEPORT 15 */
Kannst es damit ja auch nochmal testen, indem Du einfach den Wert 15 nimmst.
C/C++ Forum :: FAQ - Linux/Unix ::  Port auch nach Absturz besetzt  
Gehen Sie zu Seite Zurück  1, 2
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können keine Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum nicht antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.