With earlier versions of RPC and TIRPC it seems that svctcp_create() calles listen() on the socket (as seen by debugger and strace). Tooltalk expects this behavior. However, with newer systems (ArchLinux 5/18+ and similar bleeding edge versions of SuSE's equivalent: Tumbleweed), this behavior seems to have changed. ttsession goes into an infinite loop trying to accept() a connection in the TIRPC library (via svc_getreqset()). It appears listen() is no longer called on the socket when it is created via svctcp_create(). The hack in this commit, always causes listen() to be called on the socket, and seems to resolve the problem. But it is a hack I think. I don't know if this is the correct behavior of svctcp_create() or we were just lucky before.
54 lines
1.6 KiB
Plaintext
54 lines
1.6 KiB
Plaintext
XCOMM $TOG: Imakefile /main/7 1999/08/30 11:01:36 mgreess $
|
|
#define DoNormalLib YES
|
|
#define DoSharedLib NO
|
|
#define DoDebugLib NO
|
|
#define DoProfileLib NO
|
|
#define LibName stt
|
|
#define LibHeaders NO
|
|
#define LibInstall NO
|
|
|
|
#define CplusplusSource YES
|
|
DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
|
|
|
|
#include <Threads.tmpl>
|
|
|
|
#include "../tooltalk.tmpl"
|
|
|
|
DEFINES = $(TIRPC_DEFINES)
|
|
INCLUDES = $(TIRPCINC) -I. -I../lib
|
|
|
|
|
|
SRCS = \
|
|
mp_ce_attrs.C mp_observer.C mp_observer_utils.C \
|
|
mp_otype.C mp_otype_utils.C mp_ptype.C \
|
|
mp_ptype_utils.C mp_rpc_implement.C mp_rpc_server.C \
|
|
mp_rpc_server_utils.C \
|
|
mp_s_file.C mp_s_file_utils.C \
|
|
mp_s_message.C mp_s_message_utils.C mp_s_mp.C \
|
|
mp_s_pattern.C mp_s_pattern_utils.C mp_s_procid.C \
|
|
mp_s_procid_utils.C mp_s_msg_context.C mp_s_pat_context.C \
|
|
mp_s_session.C mp_s_session_prop.C mp_s_session_utils.C \
|
|
mp_s_xdr_functions.C mp_self_procid.C \
|
|
mp_signature.C mp_signature_utils.C mp_typedb.C \
|
|
mp_typedb_utils.C tt_isstrerror.C
|
|
|
|
|
|
OBJS = \
|
|
mp_ce_attrs.o mp_observer.o mp_observer_utils.o \
|
|
mp_otype.o mp_otype_utils.o mp_ptype.o \
|
|
mp_ptype_utils.o mp_rpc_implement.o mp_rpc_server.o \
|
|
mp_rpc_server_utils.o \
|
|
mp_s_file.o mp_s_file_utils.o \
|
|
mp_s_message.o mp_s_message_utils.o mp_s_mp.o \
|
|
mp_s_pattern.o mp_s_pattern_utils.o mp_s_procid.o \
|
|
mp_s_procid_utils.o mp_s_msg_context.o mp_s_pat_context.o \
|
|
mp_s_session.o mp_s_session_prop.o mp_s_session_utils.o \
|
|
mp_s_xdr_functions.o mp_self_procid.o \
|
|
mp_signature.o mp_signature_utils.o mp_typedb.o \
|
|
mp_typedb_utils.o tt_isstrerror.o
|
|
|
|
|
|
#include <Library.tmpl>
|
|
|
|
DependTarget()
|