SIGCHLD can differ

ulab-original
jsorg71 20 years ago
parent d349f6920a
commit 666b5dd175

@ -769,6 +769,16 @@ g_signal(int sig_num, void (*func)(int))
#endif #endif
} }
/*****************************************************************************/
void
g_signal_child_stop(void (*func)(int))
{
#if defined(_WIN32)
#else
signal(SIGCHLD, func);
#endif
}
/*****************************************************************************/ /*****************************************************************************/
int int
g_fork(void) g_fork(void)

@ -134,6 +134,8 @@ g_execlp11(char* a1, char* a2, char* a3, char* a4, char* a5, char* a6,
char* a7, char* a8, char* a9, char* a10, char* a11); char* a7, char* a8, char* a9, char* a10, char* a11);
void void
g_signal(int sig_num, void (*func)(int)); g_signal(int sig_num, void (*func)(int));
void
g_signal_child_stop(void (*func)(int));
int int
g_fork(void); g_fork(void);
int int

@ -296,7 +296,7 @@ start_session(int width, int height, int bpp, char* username, char* password)
} }
else /* parent */ else /* parent */
{ {
g_signal(17, cterm); /* SIGCHLD */ g_signal_child_stop(cterm); /* SIGCHLD */
session_items[display].pid = pid; session_items[display].pid = pid;
g_strcpy(session_items[display].name, username); g_strcpy(session_items[display].name, username);
session_items[display].display = display; session_items[display].display = display;

@ -26,3 +26,11 @@ ip=ask
port=ask5900 port=ask5900
username=na username=na
password=ask password=ask
[vnc4]
name=sesman-any
lib=../vnc/libvnc.so
ip=ask
port=-1
username=ask
password=ask

Loading…
Cancel
Save