pass_fd.c: added #include <sys/uio.h>
tcp_main.c: moved #include <sys/select.h> underneath #include <sys/types.h.>
Still getting this:
$ gmake Makefile.defs:331: Old gcc detected (2.9x), use gcc >= 3.1 for better results gcc -g -O9 -funroll-loops -Wcast-align -Wall -m486 -malign-loops=4 -DNAME='"ser"' -DVERSION='"0.8.11pre6-tcp5-tm"' -DARCH='"i386"' -DOS='"freebsd"' -DCOMPILER='"gcc 2.95"' -D__CPU_i386 -DCFG_DIR='"/usr/local/etc/ser/"' -DPKG_MALLOC -DSHM_MEM -DSHM_MMAP -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DDNS_IP_HACK -DUSE_IPV6 -DVOICE_MAIL -D_TOTAG -DUSE_TCP -DFAST_LOCK -DHAVE_SOCKADDR_SA_LEN -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -c tcp_main.c -o tcp_main.o tcp_main.c: In function `tcp_send': tcp_main.c:351: `MSG_NOSIGNAL' undeclared (first use in this function) tcp_main.c:351: (Each undeclared identifier is reported only once tcp_main.c:351: for each function it appears in.) gmake: *** [tcp_main.o] Error 1
Cannot find proper #define for MSG_NOSIGNAL
The flags, according to "send()" man page is:
The flags parameter may include one or more of the following:
#define MSG_OOB 0x1 /* process out-of-band data */ #define MSG_PEEK 0x2 /* peek at incoming message */ #define MSG_DONTROUTE 0x4 /* bypass routing, use direct interface */ #define MSG_EOR 0x8 /* data completes record */ #define MSG_EOF 0x100 /* data completes transaction */
The flag MSG_OOB is used to send ``out-of-band'' data on sockets that support this notion (e.g. SOCK_STREAM); the underlying protocol must also support ``out-of-band'' data. MSG_EOR is used to indicate a record mark for protocols which support the concept. MSG_EOF requests that the sender side of a socket be shut down, and that an appropriate indication be sent at the end of the specified data; this flag is only implemented for SOCK_STREAM sockets in the PF_INET protocol family, and is used to implement Transaction TCP (see ttcp(4)). MSG_DONTROUTE is usually used only by diagnostic or routing programs.
--- Lenny Tropiano E-mail: lenny@voiping.com Partner, Networking Specialist Pager: pager-lenny@voiping.com VoIPing, LLC URL: http://www.voiping.com/ PO Box 867, Cedar Park, TX 78630-0867 Mobile: 512-698-VOIP [8647]
On Feb 19, 2003 at 20:37, Lenny Tropiano lenny@voiping.com wrote:
pass_fd.c: added #include <sys/uio.h>
tcp_main.c: moved #include <sys/select.h> underneath #include <sys/types.h.>
Thanks.
Still getting this:
[...]
tcp_main.c:351: `MSG_NOSIGNAL' undeclared (first use in this function) tcp_main.c:351: (Each undeclared identifier is reported only once tcp_main.c:351: for each function it appears in.) gmake: *** [tcp_main.o] Error 1
Fixed on cvs.
Cannot find proper #define for MSG_NOSIGNAL
The flags, according to "send()" man page is:
It seems it is defined only on Linux (or at least it is not defined on freebsd, netbsd, openbsd or solaris).
From the linux send manpage: MSG_NOSIGNAL Requests not to send SIGPIPE on errors on stream oriented sock- ets when the other end breaks the connection. The EPIPE error is still returned.
Now ser ignores SIGPIPE so it should not matter.
Right now the cvs version compiles on linux, freebsd, netbsd and openbsd. It compiles on Solaris only if -DUSE_TCP is removed from the Makefile. There might still be some broken modules (the core & tm are ok I did not test the rest).
Andrei