summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>1997-01-17 07:53:32 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>1997-01-17 07:53:32 +0000
commit7e7e0801f1305b1fe2a0e5ff4b0cc022077f73a6 (patch)
tree4024d7c33559faecd57832c74e5f650c7bf80e49
parentf498ec3072a4f20dbedadc2340592e24ed3301b7 (diff)
downloadATCD-7e7e0801f1305b1fe2a0e5ff4b0cc022077f73a6.tar.gz
*** empty log message ***
-rw-r--r--ChangeLog-97a18
-rw-r--r--README1
-rw-r--r--ace/OS.cpp37
-rw-r--r--ace/OS.h18
-rw-r--r--ace/OS.i72
-rw-r--r--ace/README6
-rw-r--r--ace/SOCK_Acceptor.cpp6
-rw-r--r--ace/Synch.h4
-rw-r--r--ace/Timer_Queue.h2
-rw-r--r--ace/config-aix-3.2.5.h2
-rw-r--r--ace/config-aix-4.1.x.h2
-rw-r--r--ace/config-irix6.2-sgic++.h15
-rw-r--r--ace/config-linux-lxpthreads.h37
-rw-r--r--ace/config-osf1-4.0-g++.h2
-rw-r--r--ace/config-osf1-4.0.h2
-rw-r--r--ace/config-unixware-2.01-g++.h2
-rw-r--r--examples/Service_Configurator/IPC-tests/server/Makefile4
-rw-r--r--include/makeinclude/platform_irix6.2_sgic++.GNU6
-rw-r--r--include/makeinclude/platform_linux_lxpthread.GNU6
-rw-r--r--include/makeinclude/platform_linux_lxpthreads.GNU6
-rw-r--r--include/makeinclude/rules.local.GNU10
-rw-r--r--include/makeinclude/wrapper_macros.GNU3
-rw-r--r--netsvcs/clients/Tokens/invariant/invariant.cpp1
-rw-r--r--netsvcs/clients/Tokens/manual/manual.cpp4
-rw-r--r--netsvcs/lib/Makefile2
25 files changed, 217 insertions, 51 deletions
diff --git a/ChangeLog-97a b/ChangeLog-97a
index b7076fe3bf2..c99c2a6ec8a 100644
--- a/ChangeLog-97a
+++ b/ChangeLog-97a
@@ -1,5 +1,23 @@
+Fri Jan 17 01:16:32 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
+
+ * ace/OS.h: Added an equivalent set of
+ ACE_LSOCK_{STREAM,ACCEPTOR,CONNECTOR} macros to complement the
+ ones for ACE_SOCK_*. Thanks to Gonzalo Diethelm
+ <gonzo@ing.puc.cl> for suggesting this.
+
Thu Jan 16 17:03:47 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
+ * include/makeinclude: Added support for shared object files
+ on Linux. Thanks to Marius Kjeldahl <mariusk@sn.no,
+ marius@funcom.com> for his help with this.
+
+ * ace: Merged in the IRIX support, mainly the missing netdb reentrant
+ functions. Thanks to Gonzalo Diethelm <gonzo@ing.puc.cl>
+ and Carlos O'Ryan <coryan@mat.puc.cl> for their help.
+
+ * ace/Timer_{List,Heap,Queue}: Changed iterator() to iter() to
+ avoid name clashes with STL (ugh).
+
* ace/Timer_{Heap,List}.cpp: Added ACE_BUILD_DLL so that things
will link. Thanks to John Morey for reporting this.
diff --git a/README b/README
index f055e362bd4..3e777c6d392 100644
--- a/README
+++ b/README
@@ -465,6 +465,7 @@ Anthony McConnell <Tonym@datel.demon.co.uk>
Mark Rabotnikov <mark@usp.elscintcorp.co.il>
John Bossom <John.Bossom@Cognos.COM>
Rino Simioni <sir@necsy.it>
+Carlos O'Ryan <coryan@mat.puc.cl>
I would particularly like to thank Paul Stephenson, who worked with me
at Ericsson and is now at ObjectSpace. Paul devised the recursive
diff --git a/ace/OS.cpp b/ace/OS.cpp
index 7eb318d9374..2359523a971 100644
--- a/ace/OS.cpp
+++ b/ace/OS.cpp
@@ -14,6 +14,43 @@
#include "ace/OS.i"
#endif /* ACE_HAS_INLINED_OS_CALLS */
+#if defined(ACE_MT_SAFE) && defined(ACE_LACKS_NETDB_REENTRANT_FUNCTIONS)
+
+int ACE_OS::netdb_mutex_inited_ = 0;
+
+ACE_mutex_t ACE_OS::netdb_mutex_;
+
+int
+ACE_OS::netdb_acquire (void)
+{
+ if (ACE_OS::netdb_mutex_inited_ == 0)
+ {
+ if (ACE_OS::thread_mutex_init (&ACE_OS::netdb_mutex_) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n",
+ "ACE_OS::netdb_acquire[init]"), -1);
+ ACE_OS::netdb_mutex_inited_ = 1;
+ }
+
+ if (ACE_OS::thread_mutex_lock (&ACE_OS::netdb_mutex_) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n",
+ "ACE_OS::netdb_acquire[lock]"), -1);
+ return 0;
+}
+
+int
+ACE_OS::netdb_release (void)
+{
+ if (ACE_OS::netdb_mutex_inited_ == 0)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n",
+ "ACE_OS::netdb_release[inited]"), -1);
+
+ if (ACE_OS::thread_mutex_unlock (&ACE_OS::netdb_mutex_) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n",
+ "ACE_OS::netdb_release[unlock]"), -1);
+ return 0;
+}
+#endif /* defined(ACE_MT_SAFE) && defined(ACE_LACKS_NETDB_REENTRANT_FUNCTIONS) */
+
void
ACE_OS::flock_t::dump (void) const
{
diff --git a/ace/OS.h b/ace/OS.h
index f7eac800801..9973cb2c7e4 100644
--- a/ace/OS.h
+++ b/ace/OS.h
@@ -238,6 +238,11 @@ typedef int key_t;
#define ACE_SOCK_CONNECTOR ACE_SOCK_Connector
#define ACE_SOCK_STREAM ACE_SOCK_Stream
+// Handle ACE_LSOCK_*
+#define ACE_LSOCK_ACCEPTOR ACE_LSOCK_Acceptor
+#define ACE_LSOCK_CONNECTOR ACE_LSOCK_Connector
+#define ACE_LSOCK_STREAM ACE_LSOCK_Stream
+
// Handle ACE_TLI_*
#define ACE_TLI_ACCEPTOR ACE_TLI_Acceptor
#define ACE_TLI_CONNECTOR ACE_TLI_Connector
@@ -291,6 +296,11 @@ typedef int key_t;
#define ACE_SOCK_CONNECTOR ACE_SOCK_Connector, ACE_INET_Addr
#define ACE_SOCK_STREAM ACE_SOCK_Stream, ACE_INET_Addr
+// Handle ACE_LSOCK_*
+#define ACE_LSOCK_ACCEPTOR ACE_LSOCK_Acceptor, ACE_UNIX_Addr
+#define ACE_LSOCK_CONNECTOR ACE_LSOCK_Connector, ACE_UNIX_Addr
+#define ACE_LSOCK_STREAM ACE_LSOCK_Stream, ACE_UNIX_Addr
+
// Handle ACE_TLI_*
#define ACE_TLI_ACCEPTOR ACE_TLI_Acceptor, ACE_INET_Addr
#define ACE_TLI_CONNECTOR ACE_TLI_Connector, ACE_INET_Addr
@@ -2448,6 +2458,14 @@ public:
private:
ACE_OS (void);
// Ensure we can't define an instance of this class.
+
+#if defined (ACE_MT_SAFE) && defined (ACE_LACKS_NETDB_REENTRANT_FUNCTIONS)
+ static int netdb_acquire (void);
+ static int netdb_release (void);
+
+ static int netdb_mutex_inited_;
+ static ACE_mutex_t netdb_mutex_;
+#endif /* defined (ACE_MT_SAFE) && defined (ACE_LACKS_NETDB_REENTRANT_FUNCTIONS) */
};
// A useful abstraction for expressions involving operator new since
diff --git a/ace/OS.i b/ace/OS.i
index 7bf1bf6ad70..bf83c6100f6 100644
--- a/ace/OS.i
+++ b/ace/OS.i
@@ -2145,6 +2145,24 @@ ACE_OS::event_reset (ACE_event_t *event)
#define ACE_SOCKCALL_RETURN(OP,TYPE,FAILVALUE) ACE_OSCALL_RETURN(OP,TYPE,FAILVALUE)
#endif /* ACE_WIN32 */
+#if defined (ACE_MT_SAFE) && defined (ACE_LACKS_NETDB_REENTRANT_FUNCTIONS)
+#define ACE_NETDBCALL_RETURN(OP,TYPE,FAILVALUE,TARGET,SIZE) \
+ do \
+ { \
+ if (ACE_OS::netdb_acquire ()) \
+ return FAILVALUE; \
+ else \
+ { \
+ TYPE ace_result_; \
+ ACE_OSCALL(OP,TYPE,FAILVALUE,ace_result_); \
+ if (ace_result_ != FAILVALUE) \
+ ::memcpy (TARGET, ace_result_, SIZE); \
+ ACE_OS::netdb_release (); \
+ return ace_result_; \
+ } \
+ } while(0)
+#endif /* defined (ACE_MT_SAFE) && defined (ACE_LACKS_NETDB_REENTRANT_FUNCTIONS) */
+
ACE_INLINE char *
ACE_OS::strcat (char *s, const char *t)
{
@@ -2428,8 +2446,14 @@ ACE_OS::getprotobyname_r (const char *name,
else
return 0;
#else
- ACE_SOCKCALL_RETURN (::getprotobyname_r (name, result, buffer, sizeof (ACE_PROTOENT_DATA)),
- struct protoent *, 0);
+#if defined(ACE_LACKS_NETDB_REENTRANT_FUNCTIONS)
+ ACE_NETDBCALL_RETURN (::getprotobyname (name),
+ struct protoent *, 0,
+ buffer, sizeof (ACE_PROTOENT_DATA));
+#else
+ ACE_SOCKCALL_RETURN (::getprotobyname_r (name, result, buffer, sizeof (ACE_PROTOENT_DATA)),
+ struct protoent *, 0);
+#endif /* ACE_LACKS_NETDB_REENTRANT_FUNCTIONS */
#endif /* defined (AIX) || defined (DIGITAL_UNIX) */
#else
ACE_UNUSED_ARG(buffer);
@@ -2465,8 +2489,14 @@ ACE_OS::getprotobynumber_r (int proto,
else
return 0;
#else
+#if defined(ACE_LACKS_NETDB_REENTRANT_FUNCTIONS)
+ ACE_NETDBCALL_RETURN (::getprotobynumber (proto),
+ struct protoent *, 0,
+ buffer, sizeof (ACE_PROTOENT_DATA));
+#else
ACE_SOCKCALL_RETURN (::getprotobynumber_r (proto, result, buffer, sizeof (ACE_PROTOENT_DATA)),
- struct protoent *, 0);
+ struct protoent *, 0);
+#endif /* ACE_LACKS_NETDB_REENTRANT_FUNCTIONS */
#endif /* defined (AIX) || defined (DIGITAL_UNIX) */
#else
ACE_UNUSED_ARG(buffer);
@@ -2697,10 +2727,16 @@ ACE_OS::gethostbyaddr_r (const char *addr, int length, int type,
return (struct hostent *) 0;
}
#else
+#if defined(ACE_LACKS_NETDB_REENTRANT_FUNCTIONS)
+ ACE_NETDBCALL_RETURN (::gethostbyaddr (addr, (ACE_SOCKET_LEN) length, type),
+ struct hostent *, 0,
+ buffer, sizeof (ACE_HOSTENT_DATA));
+#else
ACE_SOCKCALL_RETURN (::gethostbyaddr_r (addr, length, type, result,
- buffer, sizeof (ACE_HOSTENT_DATA),
- h_errnop),
- struct hostent *, 0);
+ buffer, sizeof (ACE_HOSTENT_DATA),
+ h_errnop),
+ struct hostent *, 0);
+#endif /* ACE_LACKS_NETDB_REENTRANT_FUNCTIONS */
#endif /* defined (AIX) || defined (DIGITAL_UNIX) */
#elif defined (ACE_HAS_NONCONST_GETBY)
char laddr[length];
@@ -2740,9 +2776,15 @@ ACE_OS::gethostbyname_r (const char *name, hostent *result,
return (struct hostent *) 0;
}
#else
+#if defined(ACE_LACKS_NETDB_REENTRANT_FUNCTIONS)
+ ACE_NETDBCALL_RETURN (::gethostbyname (name),
+ struct hostent *, 0,
+ buffer, sizeof (ACE_HOSTENT_DATA));
+#else
ACE_SOCKCALL_RETURN (::gethostbyname_r (name, result, buffer,
sizeof (ACE_HOSTENT_DATA), h_errnop),
struct hostent *, 0);
+#endif /* ACE_LACKS_NETDB_REENTRANT_FUNCTIONS */
#endif /* defined (AIX) || defined (DIGITAL_UNIX) */
#elif defined (ACE_HAS_NONCONST_GETBY)
char lname[::strlen (name) + 1];
@@ -2780,9 +2822,15 @@ ACE_OS::getservbyname_r (const char *svc, const char *proto,
else
return (struct servent *) 0;
#else
+#if defined(ACE_LACKS_NETDB_REENTRANT_FUNCTIONS)
+ ACE_NETDBCALL_RETURN (::getservbyname (svc, proto),
+ struct servent *, 0,
+ buf, sizeof (ACE_SERVENT_DATA));
+#else
ACE_SOCKCALL_RETURN (::getservbyname_r (svc, proto, result, buf,
- sizeof (ACE_SERVENT_DATA)),
- struct servent *, 0);
+ sizeof (ACE_SERVENT_DATA)),
+ struct servent *, 0);
+#endif /* ACE_LACKS_NETDB_REENTRANT_FUNCTIONS */
#endif /* defined (AIX) || defined (DIGITAL_UNIX) */
#elif defined (ACE_HAS_NONCONST_GETBY)
char lsvc[::strlen (svc) + 1];
@@ -5142,7 +5190,7 @@ ACE_OS::ctime_r (const time_t *t, char *buf, int buflen)
{
// ACE_TRACE ("ACE_OS::ctime_r");
#if defined (ACE_HAS_REENTRANT_FUNCTIONS) && defined (ACE_MT_SAFE)
-#if defined (ACE_HAS_ONLY_TWO_PARAMS_FOR_ASCTIME_R_AND_CTIME_R)
+#if defined (ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R)
char *result;
#if defined (DIGITAL_UNIX)
ACE_OSCALL (::_Pctime_r (t, buf), char *, 0, result);
@@ -5153,7 +5201,7 @@ ACE_OS::ctime_r (const time_t *t, char *buf, int buflen)
return buf;
#else
ACE_OSCALL_RETURN (::ctime_r (t, buf, buflen), char *, 0);
-#endif /* defined (ACE_HAS_ONLY_TWO_PARAMS_FOR_ASCTIME_R_AND_CTIME_R) */
+#endif /* defined (ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R) */
#else
char *result;
ACE_OSCALL (::ctime (t), char *, 0, result);
@@ -5198,7 +5246,7 @@ ACE_OS::asctime_r (const struct tm *t, char *buf, int buflen)
{
// ACE_TRACE ("ACE_OS::asctime_r");
#if defined (ACE_HAS_REENTRANT_FUNCTIONS) && defined (ACE_MT_SAFE)
-#if defined (ACE_HAS_ONLY_TWO_PARAMS_FOR_ASCTIME_R_AND_CTIME_R)
+#if defined (ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R)
char *result;
#if defined (DIGITAL_UNIX)
ACE_OSCALL (::_Pasctime_r(t, buf), char *, 0, result);
@@ -5209,7 +5257,7 @@ ACE_OS::asctime_r (const struct tm *t, char *buf, int buflen)
return buf;
#else
ACE_OSCALL_RETURN (::asctime_r (t, buf, buflen), char *, 0);
-#endif /* ACE_HAS_ONLY_TWO_PARAMS_FOR_ASCTIME_R_AND_CTIME_R */
+#endif /* ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R */
#else
char *result;
ACE_OSCALL (::asctime (t), char *, 0, result);
diff --git a/ace/README b/ace/README
index 69e94db353d..398e1f390d8 100644
--- a/ace/README
+++ b/ace/README
@@ -49,6 +49,7 @@ ACE_HAS_MT_SAFE_SOCKETS Sockets may be called in multi-threaded programs
ACE_HAS_NONCONST_GETBY Platform uses non-const char * in calls to gethostbyaddr, gethostbyname, getservbyname
ACE_HAS_OLD_MALLOC Compiler/platform uses old malloc()/free() prototypes (ugh)
ACE_HAS_ONEARG_SIGWAIT sigwait() takes only one argument.
+ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R Uses ctime_r & asctime_r with only two parameters vs. three.
ACE_HAS_ORBIX Platform has Orbix CORBA implementation
ACE_HAS_OSF_TIMOD_H Platform supports the OSF TLI timod STREAMS module
ACE_HAS_POLL Platform contains <poll.h>
@@ -143,11 +144,14 @@ ACE_LACKS_MODE_MASKS Platform/compiler doesn't have open() mode masks.
ACE_LACKS_MPROTECT The platform doesn't have mprotect(2) (e.g., EPLX real time OS from CDC (based on LYNX))
ACE_LACKS_MSGBUF_T Platform lacks struct msgbuf (e.g., NT and MSV).
ACE_LACKS_MSYNC Platform lacks msync() (e.g., Linux)
+ACE_LACKS_NETDB_REENTRANT_FUNCTIONS Platform does not support reentrant netdb functions
+ (getprotobyname_r, getprotobynumber_r, gethostbyaddr_r,
+ gethostbyname_r, getservbyname_r).
+ACE_LACKS_RPC_H Platform lacks the ONC RPC header files.
ACE_LACKS_PARAM_H Platform lacks <sys/param.h> (e.g., MVS)
ACE_LACKS_POSIX_PROTO Platform lacks POSIX prototypes for certain System V functions like shared memory and message queues.
ACE_LACKS_PTHREAD_THR_SIGSETMASK Platform lacks pthread_thr_sigsetmask (e.g., MVS, HP/UX, and OSF/1 3.2)
ACE_LACKS_RECVMSG Platform lacks recvmsg() (e.g., Linux)
-ACE_LACKS_RPC_H Platform lacks the ONC RPC header files.
ACE_LACKS_RWLOCK_T Platform lacks readers/writer locks.
ACE_LACKS_SBRK Platform lacks a working sbrk() (e.g., Win32 and VxWorks)
ACE_LACKS_SEMBUF_T Platform lacks struct sembuf (e.g., Win32 and VxWorks)
diff --git a/ace/SOCK_Acceptor.cpp b/ace/SOCK_Acceptor.cpp
index 0081bcc1f28..bd2a03177af 100644
--- a/ace/SOCK_Acceptor.cpp
+++ b/ace/SOCK_Acceptor.cpp
@@ -52,8 +52,10 @@ ACE_SOCK_Acceptor::dump (void) const
// General purpose routine for performing server ACE_SOCK creation.
int
-ACE_SOCK_Acceptor::open (const ACE_Addr &local_sap, int reuse_addr,
- int protocol_family, int backlog,
+ACE_SOCK_Acceptor::open (const ACE_Addr &local_sap,
+ int reuse_addr,
+ int protocol_family,
+ int backlog,
int protocol)
{
ACE_TRACE ("ACE_SOCK_Acceptor::open");
diff --git a/ace/Synch.h b/ace/Synch.h
index 9c8214da13a..776ccf7aebf 100644
--- a/ace/Synch.h
+++ b/ace/Synch.h
@@ -819,10 +819,10 @@ class ACE_Export ACE_Thread_Mutex_Guard
// = TITLE
// This data structure is meant to be used within a method or
// function... It performs automatic aquisition and release of
- // an ACE_Mutex.
+ // an <ACE_Thread_Mutex>.
//
// = DESCRIPTION
- // This should be a specialization of ACE_Guard, but compiler
+ // This should be a specialization of <ACE_Guard>, but compiler
// bugs in older C++ compilers preclude this...
{
public:
diff --git a/ace/Timer_Queue.h b/ace/Timer_Queue.h
index 295adb1282e..2a49c108e61 100644
--- a/ace/Timer_Queue.h
+++ b/ace/Timer_Queue.h
@@ -183,7 +183,7 @@ protected:
virtual void reschedule (ACE_Timer_Node *) = 0;
// Reschedule an "interval" <ACE_Timer_Node>.
- virtual ACE_Timer_Queue_Iterator &iterator (void) = 0;
+ virtual ACE_Timer_Queue_Iterator &iter (void) = 0;
// Returns a pointer to this <ACE_Timer_Queue>'s iterator.
virtual ACE_Timer_Node *alloc_node (void) = 0;
diff --git a/ace/config-aix-3.2.5.h b/ace/config-aix-3.2.5.h
index eb60aa501ea..8cf5005e16c 100644
--- a/ace/config-aix-3.2.5.h
+++ b/ace/config-aix-3.2.5.h
@@ -8,7 +8,7 @@
#define MAXNAMELEN 1024
-#define ACE_HAS_ONLY_TWO_PARAMS_FOR_ASCTIME_R_AND_CTIME_R
+#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS
#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
#define ACE_HAS_TEMPLATE_TYPEDEFS
diff --git a/ace/config-aix-4.1.x.h b/ace/config-aix-4.1.x.h
index 04b6529e0f7..0573b2413e7 100644
--- a/ace/config-aix-4.1.x.h
+++ b/ace/config-aix-4.1.x.h
@@ -10,7 +10,7 @@
// Compiling for AIX.
#define AIX
#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS
-#define ACE_HAS_ONLY_TWO_PARAMS_FOR_ASCTIME_R_AND_CTIME_R
+#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
#define _BSD 43
#define ACE_HAS_UNION_WAIT
#define ACE_HAS_MULTICAST
diff --git a/ace/config-irix6.2-sgic++.h b/ace/config-irix6.2-sgic++.h
index aa16f2824ae..c46aa0681b5 100644
--- a/ace/config-irix6.2-sgic++.h
+++ b/ace/config-irix6.2-sgic++.h
@@ -24,9 +24,21 @@
// ACE supports threads.
#define ACE_HAS_THREADS
+// Include XtReactor into the library.
+#define ACE_HAS_XT
+
// Platform supports getpagesize() call.
#define ACE_HAS_GETPAGESIZE
+// Platform supports reentrant functions (i.e., all the POSIX *_r
+// functions).
+#define ACE_HAS_REENTRANT_FUNCTIONS
+
+// Platform does not support reentrant netdb functions (getprotobyname_r,
+// getprotobynumber_r, gethostbyaddr_r, gethostbyname_r,
+// getservbyname_r).
+#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
+
//Sockets may be called in multi-threaded programs
#define ACE_HAS_MT_SAFE_SOCKETS
@@ -39,6 +51,9 @@
// Platform supports the tid_t type (e.g., AIX and Irix 6.2)
#define ACE_HAS_TID_T
+// uses ctime_r & asctime_r with only two parameters vs. three
+#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
+
// Platform has no implementation of pthread_condattr_setpshared(),
// even though it supports pthreads! (like Irix 6.2)
#define ACE_LACKS_CONDATTR_PSHARED
diff --git a/ace/config-linux-lxpthreads.h b/ace/config-linux-lxpthreads.h
index 735a2798e20..95676bfa3f9 100644
--- a/ace/config-linux-lxpthreads.h
+++ b/ace/config-linux-lxpthreads.h
@@ -1,34 +1,29 @@
/* -*- C++ -*- */
// $Id$
-// The following configuration file is designed to work for Linux
-// platforms using GNU C++ and the MIT threads package.
+/* The following configuration file is designed to work for Linux
+ platforms using GNU C++ and Xavier Leroy's pthreads package. For
+ more information you should check out his Web site:
-/* JCEJ 12/22/96
+ http://pauillac.inria.fr/~xleroy/linuxthreads/
- This is a slightly modified version of config-linux-pthreads
- made to work with Xavier Leroy's pthreads package. For more
- information you should check out his Web site:
- http://pauillac.inria.fr/~xleroy/linuxthreads/
+ The version I have installed and working is an RPM*
+ based on Xavier's 0.5 release. I don't know where
+ the tarball of 0.5 can be found, but I suspect that
+ Xavier's site has it...
- The version I have installed and working is an RPM*
- based on Xavier's 0.5 release. I don't know where
- the tarball of 0.5 can be found, but I suspect that
- Xavier's site has it...
+ * RPM == Redhat Package Management
+
+ My system is a Caldera-based distribution with many upgraded
+ packages. If you don't use RPM, there is a program (rpm2cpio)
+ which will extract the files for "normal consumption".
- * RPM == Redhat Package Management
- My system is a Caldera-based distribution with many
- upgraded packages. If you don't use RPM, there is
- a program (rpm2cpio) which will extract the files
- for "normal consumption".
+ You may also want to check out the "ACE On Linux" pages at:
- You may also want to check out the "ACE On Linux"
- pages at:
http://users.deltanet.com/users/slg/ACE/
- (They were a little out of date when I last was
- there however.)
- */
+ (They were a little out of date when I last was there
+ however.) */
#if !defined (ACE_CONFIG_H)
#define ACE_CONFIG_H
diff --git a/ace/config-osf1-4.0-g++.h b/ace/config-osf1-4.0-g++.h
index 4564aa8234b..9c4f5bd498e 100644
--- a/ace/config-osf1-4.0-g++.h
+++ b/ace/config-osf1-4.0-g++.h
@@ -199,7 +199,7 @@
//#define ACE_PAGE_SIZE 4096
#define ACE_PAGE_SIZE 8192
-#define ACE_HAS_ONLY_TWO_PARAMS_FOR_ASCTIME_R_AND_CTIME_R
+#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
#define ACE_HAS_BROKEN_IF_HEADER
#define ACE_HAS_REENTRANT_FUNCTIONS
diff --git a/ace/config-osf1-4.0.h b/ace/config-osf1-4.0.h
index 711e3f5c547..cb01661c20b 100644
--- a/ace/config-osf1-4.0.h
+++ b/ace/config-osf1-4.0.h
@@ -179,7 +179,7 @@
// DJT added 6/6/96
// uses ctime_r & asctime_r with only two parameters vs. three
-#define ACE_HAS_ONLY_TWO_PARAMS_FOR_ASCTIME_R_AND_CTIME_R
+#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
#define ACE_HAS_BROKEN_IF_HEADER
//#define ACE_HAS_REENTRANT_FUNCTIONS
diff --git a/ace/config-unixware-2.01-g++.h b/ace/config-unixware-2.01-g++.h
index 1e0c3e2a643..94b6db28e9b 100644
--- a/ace/config-unixware-2.01-g++.h
+++ b/ace/config-unixware-2.01-g++.h
@@ -14,7 +14,7 @@
#define ACE_HAS_GNU_CSTRING_H
#define ACE_HAS_INLINED_OSCALLS
#define ACE_HAS_MSG
-#define ACE_HAS_ONLY_TWO_PARAMS_FOR_ASCTIME_R_AND_CTIME_R
+#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
// Not yet sure about threads
#define ACE_HAS_MT_SAFE_SOCKETS
#define ACE_HAS_NONCONST_GETBY
diff --git a/examples/Service_Configurator/IPC-tests/server/Makefile b/examples/Service_Configurator/IPC-tests/server/Makefile
index 517d1db3e84..f46bb833aae 100644
--- a/examples/Service_Configurator/IPC-tests/server/Makefile
+++ b/examples/Service_Configurator/IPC-tests/server/Makefile
@@ -32,7 +32,9 @@ LIBS = -lACE
VLDLIBS = $(LDLIBS:%=%$(VAR))
-BUILD = $(VLIB) $(VSHLIB) $(SHLIBA) $(VBIN)
+BUILD = $(VLIB) $(VSHLIB) $(SHLIBA) $(VBIN)
+
+ESO = YES
#----------------------------------------------------------------------------
# Include macros and targets
diff --git a/include/makeinclude/platform_irix6.2_sgic++.GNU b/include/makeinclude/platform_irix6.2_sgic++.GNU
index 4d774f3c3e6..ba42f9a5975 100644
--- a/include/makeinclude/platform_irix6.2_sgic++.GNU
+++ b/include/makeinclude/platform_irix6.2_sgic++.GNU
@@ -13,7 +13,11 @@ CC = cc
CXX = CC
DLD = $(CXX)
LD = $(CXX)
-CPPFLAGS += -ptused -prelink +pp -D_SGI_MP_SOURCE -woff 3203,3209,3161,3262,3665
+CPPFLAGS += -ptused -prelink -D_SGI_MP_SOURCE
+# For the new 32 bit C++ compiler (-n32)
+#CPPFLAGS += -n32 -woff 1174,1209,1375,1506,1110,1552,1021,1171
+# For the old C++ compiler (-32)
+CPPFLAGS += +pp -woff 3203,3209,3161,3262,3665
LDFLAGS += -rpath "$(WRAPPER_ROOT)/ace" -Wl,-woff,85
LIBS += -lpthread
PIC = -KPIC
diff --git a/include/makeinclude/platform_linux_lxpthread.GNU b/include/makeinclude/platform_linux_lxpthread.GNU
index 67e517633ce..1e160271131 100644
--- a/include/makeinclude/platform_linux_lxpthread.GNU
+++ b/include/makeinclude/platform_linux_lxpthread.GNU
@@ -11,7 +11,7 @@ CC = gcc -w
CXX = gcc -w -I. -fno-strict-prototypes -D__ACE_INLINE__ -D_MIT_POSIX_THREADS -D_POSIX_THREADS -D_POSIX_THREAD_SAFE_FUNCTIONS
DLD = $(CXX)
LD = $(CXX)
-LIBS += -lpthread -lstdc++
+LIBS += -ldl -lpthread -lstdc++
PIC = -fPIC
AR = ar
ARFLAGS = ruv
@@ -19,6 +19,10 @@ RANLIB = ranlib
SOFLAGS = $(CPPFLAGS) -shared
SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $<
+# Added line below to support "Executable Shared Object" files (as
+# needed by the service configurator).
+# Marius Kjeldahl <mariusk@sn.no, marius@funcom.com>
+ESOBUILD = $(COMPILEESO.cc) $(PIC) -shared -o $(VSHDIR)$*.so $<
PRELIB = (echo "int main() { return 0; }" > gcctemp.c && \
$(COMPILE.cc) -o gcctemp.o gcctemp.c && \
$(LINK.cc) -o gcctemp gcctemp.o $^ $(LDFLAGS) $(LIBS); \
diff --git a/include/makeinclude/platform_linux_lxpthreads.GNU b/include/makeinclude/platform_linux_lxpthreads.GNU
index 67e517633ce..1e160271131 100644
--- a/include/makeinclude/platform_linux_lxpthreads.GNU
+++ b/include/makeinclude/platform_linux_lxpthreads.GNU
@@ -11,7 +11,7 @@ CC = gcc -w
CXX = gcc -w -I. -fno-strict-prototypes -D__ACE_INLINE__ -D_MIT_POSIX_THREADS -D_POSIX_THREADS -D_POSIX_THREAD_SAFE_FUNCTIONS
DLD = $(CXX)
LD = $(CXX)
-LIBS += -lpthread -lstdc++
+LIBS += -ldl -lpthread -lstdc++
PIC = -fPIC
AR = ar
ARFLAGS = ruv
@@ -19,6 +19,10 @@ RANLIB = ranlib
SOFLAGS = $(CPPFLAGS) -shared
SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $<
+# Added line below to support "Executable Shared Object" files (as
+# needed by the service configurator).
+# Marius Kjeldahl <mariusk@sn.no, marius@funcom.com>
+ESOBUILD = $(COMPILEESO.cc) $(PIC) -shared -o $(VSHDIR)$*.so $<
PRELIB = (echo "int main() { return 0; }" > gcctemp.c && \
$(COMPILE.cc) -o gcctemp.o gcctemp.c && \
$(LINK.cc) -o gcctemp gcctemp.o $^ $(LDFLAGS) $(LIBS); \
diff --git a/include/makeinclude/rules.local.GNU b/include/makeinclude/rules.local.GNU
index 3a66ef68b1c..2411cf9efd0 100644
--- a/include/makeinclude/rules.local.GNU
+++ b/include/makeinclude/rules.local.GNU
@@ -53,9 +53,17 @@ $(VDIR)%.o: %.cpp
# built via the same rule. SOLINK is required for the repository under
# gcc.
ifndef SOLINK
-$(VSHDIR)%.so: %.cpp
+# I added the "Executable Shared Object (ESO)" define to separate between
+# normal shared object files and executable shared object files (the kind
+# that the service configurator needs to be able to function).
+# 970104 Marius Kjeldahl <mariusk@sn.no, marius@funcom.com>
+ifndef ESO
+$(VSHDIR)%.so: %.cpp
$(SOBUILD)
else
+$(VSHDIR)%.so: %.cpp
+ $(ESOBUILD)
+endif
$(VSHDIR)%.o: %.cpp
$(COMPILE.cc) $(PIC) -o $@ $<
$(VSHDIR)%.o: %.cc
diff --git a/include/makeinclude/wrapper_macros.GNU b/include/makeinclude/wrapper_macros.GNU
index 767fefa6d0b..21e4b6c4145 100644
--- a/include/makeinclude/wrapper_macros.GNU
+++ b/include/makeinclude/wrapper_macros.GNU
@@ -112,6 +112,9 @@ endif # debug
COMPILE.c =$(CC) $(CFLAGS) $(CPPFLAGS) -c
COMPILE.cc =$(CXX) $(CCFLAGS) $(CPPFLAGS) $(PTDIRS) -c
+# 960905 Marius Kjeldahl <marius@funcom.com>
+# Added the line below to be used for compiling executable shared objects
+COMPILEESO.cc =$(CXX) $(CCFLAGS) $(CPPFLAGS) $(PTDIRS)
LINK.c =$(LD) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(LDLIBS) $(LIBS)
LINK.cc =$(LD) $(CCFLAGS) $(CPPFLAGS) $(PTDIRS)
SOLINK.cc =$(LINK_COMMAND) $(DLD) $(SOFLAGS)
diff --git a/netsvcs/clients/Tokens/invariant/invariant.cpp b/netsvcs/clients/Tokens/invariant/invariant.cpp
index 1b623169d64..febc2f2f244 100644
--- a/netsvcs/clients/Tokens/invariant/invariant.cpp
+++ b/netsvcs/clients/Tokens/invariant/invariant.cpp
@@ -18,6 +18,7 @@
#include "ace/OS.h"
#include "ace/Get_Opt.h"
+#include "ace/Singleton.h"
#include "ace/Thread_Manager.h"
#include "ace/Token_Invariants.h"
diff --git a/netsvcs/clients/Tokens/manual/manual.cpp b/netsvcs/clients/Tokens/manual/manual.cpp
index 4fad0dd9d57..3d3cdecf761 100644
--- a/netsvcs/clients/Tokens/manual/manual.cpp
+++ b/netsvcs/clients/Tokens/manual/manual.cpp
@@ -1,6 +1,6 @@
-// ============================================================================
// $Id$
+// ============================================================================
//
// = LIBRARY
// examples
@@ -17,10 +17,10 @@
// ============================================================================
#include "ace/OS.h"
-
#include "ace/Get_Opt.h"
#include "ace/Local_Tokens.h"
#include "ace/Remote_Tokens.h"
+#include "ace/Singleton.h"
#include "ace/Thread_Manager.h"
#include "ace/Token_Invariants.h"
#include "ace/Token_Collection.h"
diff --git a/netsvcs/lib/Makefile b/netsvcs/lib/Makefile
index b3582e23986..5cce5f7a370 100644
--- a/netsvcs/lib/Makefile
+++ b/netsvcs/lib/Makefile
@@ -22,6 +22,8 @@ LIBS += -lACE
BUILD = $(VLIB) $(VSHLIB)
+ESO = YES
+
#----------------------------------------------------------------------------
# Include macros and targets
#----------------------------------------------------------------------------