#include "logging/log.h"
#include "common/macros.h"
+#include "common/common.h"
#ifdef __APPLE__
/*
struct mmap_mapping *mapping;
mapping = malloc(sizeof(struct mmap_mapping));
- if (mapping != NULL) {
+ if (mapping) {
mapping->file_handle = NULL;
mapping->map_handle = NULL;
mapping->log_level = log_level;
if (mapping) {
if (!CloseHandle(mapping->map_handle)) {
BT_LOGF_STR("Failed to close mmap map_handle.");
- abort();
+ bt_common_abort();
}
if (!CloseHandle(mapping->file_handle)) {
BT_LOGF_STR("Failed to close mmap file_handle.");
- abort();
+ bt_common_abort();
}
free(mapping);
mapping = NULL;
*/
BT_LOG_WRITE_CUR_LVL(BT_LOG_FATAL, BT_LOG_FATAL, BT_LOG_TAG,
"Failed to unmap mmap mapping.");
- abort();
+ bt_common_abort();
}
}
{
if (pthread_mutex_lock(&mmap_mutex)) {
BT_LOG_WRITE_CUR_LVL(BT_LOG_FATAL, log_level, BT_LOG_TAG, "Failed to acquire mmap_mutex.");
- abort();
+ bt_common_abort();
}
}
{
if (pthread_mutex_unlock(&mmap_mutex)) {
BT_LOG_WRITE_CUR_LVL(BT_LOG_FATAL, log_level, BT_LOG_TAG, "Failed to release mmap_mutex.");
- abort();
+ bt_common_abort();
}
}
mmap_lock(log_level);
/* Check if the mapping exists in the hashtable. */
- if (g_hash_table_lookup(mmap_mappings, addr) == NULL) {
+ if (!g_hash_table_lookup(mmap_mappings, addr)) {
_set_errno(EINVAL);
ret = -1;
goto end;
/* Remove it. */
if (!g_hash_table_remove(mmap_mappings, addr)) {
BT_LOGF_STR("Failed to remove mapping from hashtable.");
- abort();
+ bt_common_abort();
}
end:
return ret;
}
+BT_HIDDEN
+size_t bt_mmap_get_offset_align_size(int log_level)
+{
+ SYSTEM_INFO sysinfo;
+
+ GetNativeSystemInfo(&sysinfo);
+ BT_LOG_WRITE_CUR_LVL(BT_LOG_DEBUG, log_level, BT_LOG_TAG,
+ "Allocator granularity is %lu.",
+ sysinfo.dwAllocationGranularity);
+
+ return sysinfo.dwAllocationGranularity;
+}
+
#endif