mirror of
https://github.com/dslm4515/BMLFS.git
synced 2025-08-16 16:39:38 +00:00
Upgraded aom from 3.1.2 to 3.7.0
This commit is contained in:
@ -1,78 +0,0 @@
|
||||
From e53da0b1bf2652896bed7b65929a1d8d0729d922 Mon Sep 17 00:00:00 2001
|
||||
From: Wan-Teh Chang <wtc@google.com>
|
||||
Date: Thu, 27 Aug 2020 20:49:03 -0700
|
||||
Subject: [PATCH] Ensure thread stack size is at least 256 KB
|
||||
|
||||
BUG=aomedia:2754
|
||||
|
||||
Change-Id: Ia6e211f9b87bc2efe376e7b9f4adb11741850b18
|
||||
---
|
||||
|
||||
diff --git a/aom_util/aom_thread.c b/aom_util/aom_thread.c
|
||||
index a749a22..8411569 100644
|
||||
--- a/aom_util/aom_thread.c
|
||||
+++ b/aom_util/aom_thread.c
|
||||
@@ -133,16 +133,39 @@
|
||||
goto Error;
|
||||
}
|
||||
if (pthread_cond_init(&worker->impl_->condition_, NULL)) {
|
||||
- pthread_mutex_destroy(&worker->impl_->mutex_);
|
||||
- goto Error;
|
||||
+ goto Error1;
|
||||
}
|
||||
+ pthread_attr_t *attr = NULL;
|
||||
+#if HAVE_PTHREAD_H
|
||||
+ pthread_attr_t thread_attributes;
|
||||
+ attr = &thread_attributes;
|
||||
+ if (pthread_attr_init(attr)) {
|
||||
+ goto Error2;
|
||||
+ }
|
||||
+ size_t stack_size;
|
||||
+ if (pthread_attr_getstacksize(attr, &stack_size)) {
|
||||
+ pthread_attr_destroy(attr);
|
||||
+ goto Error2;
|
||||
+ }
|
||||
+ const size_t kMinStackSize = 256 * 1024;
|
||||
+ if (stack_size < kMinStackSize &&
|
||||
+ pthread_attr_setstacksize(attr, kMinStackSize)) {
|
||||
+ pthread_attr_destroy(attr);
|
||||
+ goto Error2;
|
||||
+ }
|
||||
+#endif // HAVE_PTHREAD_H
|
||||
pthread_mutex_lock(&worker->impl_->mutex_);
|
||||
- ok = !pthread_create(&worker->impl_->thread_, NULL, thread_loop, worker);
|
||||
+ ok = !pthread_create(&worker->impl_->thread_, attr, thread_loop, worker);
|
||||
if (ok) worker->status_ = OK;
|
||||
pthread_mutex_unlock(&worker->impl_->mutex_);
|
||||
+#if HAVE_PTHREAD_H
|
||||
+ pthread_attr_destroy(attr);
|
||||
+#endif
|
||||
if (!ok) {
|
||||
- pthread_mutex_destroy(&worker->impl_->mutex_);
|
||||
+ Error2:
|
||||
pthread_cond_destroy(&worker->impl_->condition_);
|
||||
+ Error1:
|
||||
+ pthread_mutex_destroy(&worker->impl_->mutex_);
|
||||
Error:
|
||||
aom_free(worker->impl_);
|
||||
worker->impl_ = NULL;
|
||||
diff --git a/aom_util/aom_thread.h b/aom_util/aom_thread.h
|
||||
index 8d04312..efbed78 100644
|
||||
--- a/aom_util/aom_thread.h
|
||||
+++ b/aom_util/aom_thread.h
|
||||
@@ -32,6 +32,7 @@
|
||||
#include <process.h> // NOLINT
|
||||
#include <windows.h> // NOLINT
|
||||
typedef HANDLE pthread_t;
|
||||
+typedef int pthread_attr_t;
|
||||
typedef CRITICAL_SECTION pthread_mutex_t;
|
||||
|
||||
#if _WIN32_WINNT < 0x0600
|
||||
@@ -147,6 +148,7 @@
|
||||
#include <sys/builtin.h> // NOLINT
|
||||
|
||||
#define pthread_t TID
|
||||
+#define pthread_attr_t int
|
||||
#define pthread_mutex_t HMTX
|
||||
|
||||
typedef struct {
|
Reference in New Issue
Block a user