Thread View: gnu.g++.lib.bug
1 messages
1 total messages
Started by csusac!cvms!ronald
Thu, 01 Jun 1989 02:35
additional USG support for libg++-1.35.0
Author: csusac!cvms!ronald
Date: Thu, 01 Jun 1989 02:35
Date: Thu, 01 Jun 1989 02:35
99 lines
3233 bytes
3233 bytes
Here is an additional patch to go along with the patches I posted
previously that allows the use of the timer functions in libg++
on a USG (System V) machine.
--
Ronald Cole | uucp: cvms!ronald voice: +1 916 895 8321
Senior Software Engineer | internet: csusac!cvms!ronald@ucdavis.edu
CVM Systems +----------------------------------------------------
"No sex, please, we're software engineers." - Michael Swaine
------------------------- starts here -----------------------------
diff -rc2 libg++-1.35.0/src/builtin.cc libg++/src/builtin.cc
*** libg++-1.35.0/src/builtin.cc Sun May 7 05:19:36 1989
--- libg++/src/builtin.cc Wed May 31 13:36:40 1989
***************
*** 321,334 ****
// surely OK for these machines...
! #if defined(BSD) || defined(vax) || defined(sun)
extern "C" {
#include <sys/time.h>
#include <sys/resource.h>
int getrusage(int, struct rusage*);
}
static struct rusage Old_Time;
static struct rusage New_Time;
static int Timer_Set = 0;
--- 321,345 ----
// surely OK for these machines...
! #if defined(BSD) || defined(USG) || defined(vax) || defined(sun)
extern "C" {
+ #ifdef USG
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #include <sys/times.h>
+ #else
#include <sys/time.h>
#include <sys/resource.h>
int getrusage(int, struct rusage*);
+ #endif
}
+ #ifdef USG
+ static struct tms Old_Time;
+ static struct tms New_Time;
+ #else
static struct rusage Old_Time;
static struct rusage New_Time;
+ #endif
static int Timer_Set = 0;
***************
*** 336,341 ****
--- 347,357 ----
{
Timer_Set = 1;
+ #ifdef USG
+ times(&Old_Time);
+ return((double) Old_Time.tms_utime / HZ);
+ #else
getrusage(RUSAGE_SELF,&Old_Time); /* set starting process time */
return(Old_Time.ru_utime.tv_sec + (Old_Time.ru_utime.tv_usec / 1000000.0));
+ #endif
}
***************
*** 353,365 ****
--- 369,393 ----
else {
/* get process time */
+ #ifdef USG
+ times(&New_Time);
+ #else
getrusage(RUSAGE_SELF,&New_Time);
+ #endif
if (Last_Time == 0.0) {
+ #ifdef USG
+ return((double) (New_Time.tms_utime - Old_Time.tms_utime) / HZ);
+ #else
return((New_Time.ru_utime.tv_sec - Old_Time.ru_utime.tv_sec) +
((New_Time.ru_utime.tv_usec - Old_Time.ru_utime.tv_usec)
/ 1000000.0));
+ #endif
}
else {
+ #ifdef USG
+ return((double) New_Time.tms_utime / HZ - Last_Time);
+ #else
return((New_Time.ru_utime.tv_sec +
(New_Time.ru_utime.tv_usec / 1000000.0)) - Last_Time);
+ #endif
}
}
-------------------------- ends here ------------------------------
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads