diff --git a/configure.ac b/configure.ac index b34506d..3be2cc2 100644 --- a/configure.ac +++ b/configure.ac @@ -74,6 +74,7 @@ AC_C_INLINE AC_C_BIGENDIAN AC_TYPE_SIZE_T AC_HEADER_TIME +AC_HEADER_SYS_WAIT AC_TYPE_SOCKLEN_T AC_CREATE_STDINT_H(include/rfbint.h) diff --git a/examples/Makefile.am b/examples/Makefile.am index 5a76ecf..6875c21 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -4,6 +4,7 @@ endif if OSX MAC=mac +mac_LDFLAGS=-framework ApplicationServices -framework Carbon -framework IOKit endif noinst_HEADERS=radon.h diff --git a/examples/mac.c b/examples/mac.c index eec4bcc..195e58f 100644 --- a/examples/mac.c +++ b/examples/mac.c @@ -27,8 +27,6 @@ * */ -#define LOCAL_CONTROL - #ifdef LOCAL_CONTROL #include "1instance.c" #endif diff --git a/vncterm/Makefile.am b/vncterm/Makefile.am index cad88a2..d049f6b 100644 --- a/vncterm/Makefile.am +++ b/vncterm/Makefile.am @@ -1,6 +1,6 @@ CONSOLE_SRCS=VNConsole.c -noinst_HEADERS=VNConsole.h +noinst_HEADERS=VNConsole.h vga.h LDADD=-L.. -lvncserver INCLUDES=-I. -I../include diff --git a/vncterm/VNCommand.c b/vncterm/VNCommand.c index 1e86fe6..694f401 100644 --- a/vncterm/VNCommand.c +++ b/vncterm/VNCommand.c @@ -1,11 +1,18 @@ -#include -#include +#include "VNConsole.h" +#include "vga.h" +#ifdef HAVE_FCNTL_H #include +#endif +#ifdef HAVE_SYS_TIME_H #include +#endif +#ifdef HAVE_UNISTD_H #include +#endif +#ifdef HAVE_SYS_WAIT_H +#include +#endif #include -#include "VNConsole.h" -#include "vga.h" int main(int argc, char **argv) @@ -45,7 +52,7 @@ int main(int argc, char **argv) char buffer[1024]; fd_set fs,fs1/*,ifs,ifs1*/; struct timeval tv,tv1; - int i,c=1,num_fds,max_fd=out[0]; + int i,c=1,num_fds,max_fd=out[0],status; FILE *input_pipe; vncConsolePtr console=vcGetConsole(&serverArgc,argv,80,25,&vgaFont,FALSE); if(interactive) @@ -61,7 +68,7 @@ int main(int argc, char **argv) input_pipe=fdopen(in[1],"w"); setbuf(input_pipe,NULL); - while(c || getpgid(pid)>=0) { + while(c || waitpid(pid,&status,WNOHANG)==0) { /* event loop */ vcProcessEvents(console);