Compare commits
	
		
			2 Commits
		
	
	
		
			2.38.0
			...
			LIBGTOP_2_
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					e1d6e713fc | ||
| 
						 | 
					1634698050 | 
							
								
								
									
										5
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								NEWS
									
									
									
									
									
								
							@@ -1,3 +1,8 @@
 | 
			
		||||
24 May 2008: Overview of changes in 2.22.2
 | 
			
		||||
==========================================
 | 
			
		||||
* linux:
 | 
			
		||||
  - fixed parsing of huge /proc/stat.
 | 
			
		||||
 | 
			
		||||
04 April 2008: Overview of changes in 2.22.1
 | 
			
		||||
============================================
 | 
			
		||||
* Fixed compilation/dist for !linux.
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@ dnl
 | 
			
		||||
 | 
			
		||||
m4_define([libgtop_major_version], [2])
 | 
			
		||||
m4_define([libgtop_minor_version], [22])
 | 
			
		||||
m4_define([libgtop_micro_version], [1])
 | 
			
		||||
m4_define([libgtop_micro_version], [2])
 | 
			
		||||
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
 | 
			
		||||
 | 
			
		||||
dnl  increment if the interface has additions, changes, removals.
 | 
			
		||||
 
 | 
			
		||||
@@ -119,20 +119,27 @@ file_to_buffer(glibtop *server, char *buffer, size_t bufsiz, const char *filenam
 | 
			
		||||
static unsigned long
 | 
			
		||||
read_boot_time(glibtop *server)
 | 
			
		||||
{
 | 
			
		||||
	char buffer[BUFSIZ];
 | 
			
		||||
	char *btime;
 | 
			
		||||
	char* line = NULL;
 | 
			
		||||
	size_t size = 0;
 | 
			
		||||
	FILE* stat;
 | 
			
		||||
	unsigned long btime = 0;
 | 
			
		||||
 | 
			
		||||
	file_to_buffer(server, buffer, sizeof buffer, "/proc/stat");
 | 
			
		||||
 | 
			
		||||
	btime = strstr(buffer, "btime");
 | 
			
		||||
 | 
			
		||||
	if (!btime) {
 | 
			
		||||
		glibtop_warn_io_r(server, "cannot find btime in /proc/stat");
 | 
			
		||||
		return 0UL;
 | 
			
		||||
	if (!(stat = fopen("/proc/stat", "r"))) {
 | 
			
		||||
		glibtop_error_io_r(server, "fopen(\"/proc/stat\")");
 | 
			
		||||
		goto out;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	btime = skip_token(btime);
 | 
			
		||||
	return strtoul(btime, NULL, 10);
 | 
			
		||||
	while (getline(&line, &size, stat) != -1) {
 | 
			
		||||
		if (!strncmp(line, "btime", 5)) {
 | 
			
		||||
			btime = strtoul(skip_token(line), NULL, 10);
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	free(line);
 | 
			
		||||
	fclose(stat);
 | 
			
		||||
out:
 | 
			
		||||
	return btime;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user