1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-24 09:25:01 +00:00
freebsd-ports/devel/ace+tao/files/patch-ae
Sergey Matveychuk 7f3e0d51d2 - Mark port NOT_FOR_ARCH=alpha because of segment overflow on linking
- While I'm here: remove comments modification from patch-ae

Reported by:	kris via pointyhat
Submittet by:	Alex Vasylenko <lxv(at)omut.org>
2005-01-25 10:01:18 +00:00

115 lines
3.9 KiB
Plaintext

--- ace/OS_NS_time.h.orig Thu Jun 11 23:14:04 1970
+++ ace/OS_NS_time.h Mon Dec 6 02:46:06 2004
@@ -25,6 +25,7 @@
# pragma once
# endif /* ACE_LACKS_PRAGMA_ONCE */
+#include "ace/OS_NS_errno.h"
#include "ace/Basic_Types.h"
#include "ace/os_include/os_time.h"
#include "ace/ACE_export.h"
@@ -105,10 +106,6 @@
#endif /* ACE_PSOS_HAS_TIME */
#if defined (ACE_HAS_WINCE)
- /// Supporting data for ctime and ctime_r functions on WinCE.
- const wchar_t *day_of_week_name[7];
- const wchar_t *month_name[12];
-
// WinCE doesn't have most of the standard C library time functions. It
// also doesn't define struct tm. SYSTEMTIME has pretty much the same
// info though, so we can map it when needed. Define struct tm here and
@@ -137,48 +134,35 @@
*/
inline long ace_timezone()
{
-#if !defined (VXWORKS) && !defined (ACE_PSOS) && !defined (CHORUS)
-# if defined (ACE_HAS_WINCE)
+#if defined (ACE_HAS_WINCE)
TIME_ZONE_INFORMATION tz;
GetTimeZoneInformation (&tz);
return tz.Bias * 60;
-# elif defined (ACE_WIN32) && !defined (ACE_HAS_DINKUM_STL)
+#elif defined (ACE_WIN32) && !defined (ACE_HAS_DINKUM_STL)
return _timezone; // For Win32.
-# elif defined (ACE_WIN32) && defined (ACE_HAS_DINKUM_STL)
+#elif defined (ACE_WIN32) && defined (ACE_HAS_DINKUM_STL)
time_t tod = time(0); // get current time
time_t t1 = mktime(gmtime(&tod)); // convert without timezone
time_t t2 = mktime(localtime(&tod)); // convert with timezone
return difftime(t1, t2); // compute difference in seconds
-# elif defined (ACE_HAS_TIMEZONE_GETTIMEOFDAY) \
- && !defined (__linux__) \
- && !defined (__FreeBSD__) \
- && !defined (__NetBSD__)
+#elif defined (ACE_HAS_TIMEZONE)
+ // The XPG/POSIX specification requires that tzset() be called to
+ // set the global variable <timezone>.
+ ::tzset();
+ return timezone;
+#elif defined (ACE_HAS_TIMEZONE_GETTIMEOFDAY)
// The XPG/POSIX specification does not require gettimeofday to
// set the timezone struct (it leaves the behavior of passing a
- // non-null struct undefined). We know gettimeofday() on Linux
- // *BSD systems does not set the timezone, so we avoid using it
- // and use the global variable <timezone> instead.
- //
- // @note As of this writing, OpenBSD does not provide the global
- // variable timezone.
- //
- // @todo It would be better if we had a feature test macro that
- // could be used instead of a list of operating systems.
+ // non-null struct undefined).
long result = 0;
struct timeval time;
struct timezone zone;
ACE_UNUSED_ARG (result);
ACE_OSCALL (::gettimeofday (&time, &zone), int, -1, result);
return zone.tz_minuteswest * 60;
-# else /* ACE_HAS_TIMEZONE_GETTIMEOFDAY */
- // The XPG/POSIX specification requires that tzset() be called to
- // set the global variable <timezone>.
- ::tzset();
- return timezone;
-# endif /* ACE_HAS_TIMEZONE_GETTIMEOFDAY */
-#else
+#else
ACE_NOTSUP_RETURN (0);
-#endif /* !ACE_HAS_WINCE && !VXWORKS && !ACE_PSOS */
+#endif
}
@@ -217,6 +201,8 @@
# endif // ACE_LACKS_LONGLONG_T
# elif defined (ACE_PSOS)
typedef ACE_UINT64 ACE_hrtime_t;
+# elif defined (_TNS_R_TARGET)
+typedef long long ACE_hrtime_t;
# else /* !ACE_WIN32 && !ACE_PSOS */
# if defined (ACE_HAS_HI_RES_TIMER) && !defined (ACE_LACKS_LONGLONG_T)
/* hrtime_t is defined on systems (Suns) with ACE_HAS_HI_RES_TIMER */
@@ -227,8 +213,22 @@
# endif /* ACE_WIN32 */
+# if defined (ACE_HRTIME_T_IS_BASIC_TYPE)
+# define ACE_HRTIME_CONVERSION(VAL) (VAL)
+# define ACE_HRTIME_TO_U64(VAL) ACE_U_LongLong(VAL)
+# else
+# define ACE_HRTIME_CONVERSION(VAL) ACE_U64_TO_U32(VAL)
+# define ACE_HRTIME_TO_U64(VAL) (VAL)
+# endif
+
namespace ACE_OS {
+
+# if defined (ACE_HAS_WINCE)
+ /// Supporting data for ctime and ctime_r functions on WinCE.
+ const wchar_t *day_of_week_name[];
+ const wchar_t *month_name[];
+# endif /* ACE_HAS_WINCE */
# if defined (CHORUS) && !defined (CHORUS_4)
// We must format this code as follows to avoid confusing OSE.