comparison mcabber/src/main.c @ 165:b4921dbf8709

[/trunk] Changeset 177 by mikael * Maybe fix a segfault when receiving a message. * Try to have a less intrusive signal handler function. * TODO update
author mikael
date Wed, 04 May 2005 09:07:49 +0000
parents a8f7dc0a56cb
children 0ed6099b5a54
comparison
equal deleted inserted replaced
164:faf534be8ff0 165:b4921dbf8709
26 int status; 26 int status;
27 pid_t pid; 27 pid_t pid;
28 do { 28 do {
29 pid = waitpid (WAIT_ANY, &status, WNOHANG); 29 pid = waitpid (WAIT_ANY, &status, WNOHANG);
30 } while (pid > 0); 30 } while (pid > 0);
31 if (pid < 0) 31 //if (pid < 0)
32 ut_WriteLog("Error in waitpid: errno=%d\n", errno); 32 // ut_WriteLog("Error in waitpid: errno=%d\n", errno);
33 signal(SIGCHLD, sig_handler); 33 signal(SIGCHLD, sig_handler);
34 } else if (signum == SIGTERM) { 34 } else if (signum == SIGTERM) {
35 // bud_TerminateBuddies(); 35 // bud_TerminateBuddies();
36 scr_TerminateCurses(); 36 scr_TerminateCurses();
37 jb_disconnect(); 37 jb_disconnect();
38 printf("Killed by SIGTERM\nBye!\n"); 38 printf("Killed by SIGTERM\nBye!\n");
39 exit(EXIT_SUCCESS); 39 exit(EXIT_SUCCESS);
40 } 40 } else {
41 ut_WriteLog("Caught signal: %d\n", signum); 41 ut_WriteLog("Caught signal: %d\n", signum);
42 }
42 } 43 }
43 44
44 ssize_t my_getpass (char **passstr, size_t *n) 45 ssize_t my_getpass (char **passstr, size_t *n)
45 { 46 {
46 struct termios orig, new; 47 struct termios orig, new;