diff options
| author | Nat Goodspeed <nat@lindenlab.com> | 2017-05-10 14:19:44 -0400 | 
|---|---|---|
| committer | Nat Goodspeed <nat@lindenlab.com> | 2017-05-10 14:19:44 -0400 | 
| commit | 9fa131b088aeb17f3af9157184264ffa5c737610 (patch) | |
| tree | 218d511ab78e1f7c2e15d0513593c6842152dd7a | |
| parent | 54180e6e6b1e4d93bf05a6b98c1274f5da9c1d0d (diff) | |
DRTVWR-418, MAINT-6996: Update Mac mem queries (per Drake Arconis)
Drake points out that the OS X 64-bit-capable memory-query APIs recommended in
comments by some long-ago maintainer are by now themselves obsolete. He
offered this patch to update us to current macOS memory APIs.
| -rw-r--r-- | indra/llcommon/llmemory.cpp | 6 | ||||
| -rw-r--r-- | indra/llcommon/llsys.cpp | 32 | 
2 files changed, 19 insertions, 19 deletions
diff --git a/indra/llcommon/llmemory.cpp b/indra/llcommon/llmemory.cpp index aac6c26d9a..049e962638 100644 --- a/indra/llcommon/llmemory.cpp +++ b/indra/llcommon/llmemory.cpp @@ -267,9 +267,9 @@ U64 LLMemory::getCurrentRSS()  U64 LLMemory::getCurrentRSS()  {  	U64 residentSize = 0; -	task_basic_info_64_data_t basicInfo; -	mach_msg_type_number_t  basicInfoCount = TASK_BASIC_INFO_64_COUNT; -	if (task_info(mach_task_self(), TASK_BASIC_INFO_64, (task_info_t)&basicInfo, &basicInfoCount) == KERN_SUCCESS) +	mach_task_basic_info_data_t basicInfo; +	mach_msg_type_number_t  basicInfoCount = MACH_TASK_BASIC_INFO_COUNT; +	if (task_info(mach_task_self(), MACH_TASK_BASIC_INFO, (task_info_t)&basicInfo, &basicInfoCount) == KERN_SUCCESS)  	{  //		residentSize = basicInfo.resident_size;  		// Although this method is defined to return the "resident set size," diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp index 265c637b69..fd1828b1cc 100644 --- a/indra/llcommon/llsys.cpp +++ b/indra/llcommon/llsys.cpp @@ -1128,10 +1128,10 @@ LLSD LLMemoryInfo::loadStatsMap()  	//  	{ -		vm_statistics_data_t vmstat; -		mach_msg_type_number_t vmstatCount = HOST_VM_INFO_COUNT; +		vm_statistics64_data_t vmstat; +		mach_msg_type_number_t vmstatCount = HOST_VM_INFO64_COUNT; -		if (host_statistics(mach_host_self(), HOST_VM_INFO, (host_info_t) &vmstat, &vmstatCount) != KERN_SUCCESS) +		if (host_statistics64(mach_host_self(), HOST_VM_INFO64, (host_info64_t) &vmstat, &vmstatCount) != KERN_SUCCESS)  	{  			LL_WARNS("LLMemoryInfo") << "Unable to collect memory information" << LL_ENDL;  		} @@ -1189,20 +1189,20 @@ LLSD LLMemoryInfo::loadStatsMap()  	//  		{ -		task_basic_info_64_data_t taskinfo; -		unsigned taskinfoSize = sizeof(taskinfo); -		 -		if (task_info(mach_task_self(), TASK_BASIC_INFO_64, (task_info_t) &taskinfo, &taskinfoSize) != KERN_SUCCESS) +			mach_task_basic_info_data_t taskinfo; +			mach_msg_type_number_t task_count = MACH_TASK_BASIC_INFO_COUNT; +			if (task_info(mach_task_self(), MACH_TASK_BASIC_INFO, (task_info_t) &taskinfo, &task_count) != KERN_SUCCESS)  			{ -			LL_WARNS("LLMemoryInfo") << "Unable to collect task information" << LL_ENDL; -				} -				else -				{ -			stats.add("Basic suspend count",					taskinfo.suspend_count); -			stats.add("Basic virtual memory KB",				taskinfo.virtual_size / 1024); -			stats.add("Basic resident memory KB",				taskinfo.resident_size / 1024); -			stats.add("Basic new thread policy",				taskinfo.policy); -		} +				LL_WARNS("LLMemoryInfo") << "Unable to collect task information" << LL_ENDL; +			} +			else +			{ +				stats.add("Basic virtual memory KB", taskinfo.virtual_size / 1024); +				stats.add("Basic resident memory KB", taskinfo.resident_size / 1024); +				stats.add("Basic max resident memory KB", taskinfo.resident_size_max / 1024); +				stats.add("Basic new thread policy", taskinfo.policy); +				stats.add("Basic suspend count", taskinfo.suspend_count); +			}  	}  #elif LL_SOLARIS  | 
