Not logged in. · Lost password · Register

Forum: Bachelor Softwaresysteme Systemprogrammierung RSS
N kleines tutorial zu sockets
Page:  previous  1  2  3  4 
Str1ch444
Member since Jun 2003
312 posts
In reply to post ID 11066
Du brauchst nur nen Signalhandler, der bei SIGCHLD solange waitpid aufruft, bis es keine Kinder mehr zum aufsammeln gibt.

Also while(waitpid(-1, &status, WNOHANG) != 0) {}
tsunami
skankin´ foot
Avatar
Member since Jan 2003
352 posts
hehe... VERDAMMT IST DAS SCHLAU!  ;-)
Und noch eine letzte Frage: Angenommen, meine timed bedient mehrere clients, die brav ihre Daten übermitteln, und ich kille derweil meine timed. Sollen dann sämtliche Kinder mit nem SIGQUIT beendet werden? Ansonsten würden von denen ja die Zombis übrigbleiben, weil wer soll die noch aufsammeln?!
once you had a dream
of oceans, and sunken cities;
memories of things you´ve never known
and you have never known...   (Michael Stipe)
This post was edited on 2004-01-04, 17:29 by tsunami.
Yves
Code artist
(Administrator)
Avatar
Member since Nov 2002
3282 posts
Quote by tsunami:
weil wer soll die noch aufsammeln?!

dafür ist meiner erfahrung nach dann das betriebssystem zuständig
Physikalisch gesehen ist ein Quantensprung die kleinstmögliche Zustandsänderung, meist von einem höheren auf ein niedrigeres Niveau.

Komprenu Energiemonitoring-Software | dotforward Webhosting
tsunami
skankin´ foot
Avatar
Member since Jan 2003
352 posts
Quote by Yves:
dafür ist meiner erfahrung nach dann das betriebssystem zuständig


hehe... das Argument hätte man bei der trsh auch in den Quellcode schreiben können...  :-D
once you had a dream
of oceans, and sunken cities;
memories of things you´ve never known
and you have never known...   (Michael Stipe)
Duke
Avatar
Member since Nov 2002
89 posts
Habe folgendes Problem:Was passiert denn nach printf("2\n")? Warum wird nicht 3 und 4 auch noch ausgegeben, und die beiden free()s werden wohl auch nicht mehr ausgefürt, oder?

Ansonsten macht mein timed alles wie er soll.
if (errno == EPIPE){
                                perror("SIGPIPE(von write) wurde ignoriert\n");

                                printf("0\n");
                                close(newsock);
                                printf("1\n");
                                free(zeit);
                                printf("2\n");
                                free(zeit2);
                                printf("3\n");
                                free(s);
                                printf("4\n");

                                exit(EXIT_SUCCESS);

ich bekomme aber folgende Ausgabe:
faui05b [src]> timed
SIGPIPE(von write) wurde ignoriert
: Broken pipe
0
1
2
Damn I'm good!
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Page:  previous  1  2  3  4 
Go to forum
Datenschutz | Kontakt
Powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2011 by Yves Goergen