summaryrefslogtreecommitdiffstats
path: root/network/MEGAsync/fix-double-declaration-of-tgkill.patch
diff options
context:
space:
mode:
author Matteo Bernardini2020-02-29 10:21:37 +0100
committer Matteo Bernardini2020-02-29 10:21:37 +0100
commit37498e325fe958c6948fae9ee70e16ec9427d9a4 (patch)
tree6a9ede00269c6dd697d95d5c43739ec0741dc379 /network/MEGAsync/fix-double-declaration-of-tgkill.patch
parente672baf11d590fdc9d8bd90c2cd50fc6232efd4e (diff)
downloadslackbuilds-409ab3c914ce10676bfe6379ae99c7484e007a99.tar.gz
20200229.1 global branch merge.current-20200229.1
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
Diffstat (limited to 'network/MEGAsync/fix-double-declaration-of-tgkill.patch')
-rw-r--r--network/MEGAsync/fix-double-declaration-of-tgkill.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/network/MEGAsync/fix-double-declaration-of-tgkill.patch b/network/MEGAsync/fix-double-declaration-of-tgkill.patch
new file mode 100644
index 0000000000..beeea5d1b4
--- /dev/null
+++ b/network/MEGAsync/fix-double-declaration-of-tgkill.patch
@@ -0,0 +1,26 @@
+diff --git a/src/MEGASync/google_breakpad/client/linux/handler/exception_handler.cc b/src/MEGASync/google_breakpad/client/linux/handler/exception_handler.cc
+index 48f91682..1b7ed059 100644
+--- a/src/MEGASync/google_breakpad/client/linux/handler/exception_handler.cc
++++ b/src/MEGASync/google_breakpad/client/linux/handler/exception_handler.cc
+@@ -103,12 +103,6 @@
+ #define PR_SET_PTRACER 0x59616d61
+ #endif
+
+-// A wrapper for the tgkill syscall: send a signal to a specific thread.
+-static int tgkill(pid_t tgid, pid_t tid, int sig) {
+- return syscall(__NR_tgkill, tgid, tid, sig);
+- return 0;
+-}
+-
+ namespace google_breakpad {
+
+ namespace {
+@@ -347,7 +341,7 @@ void ExceptionHandler::SignalHandler(int sig, siginfo_t* info, void* uc) {
+ // In order to retrigger it, we have to queue a new signal by calling
+ // kill() ourselves. The special case (si_pid == 0 && sig == SIGABRT) is
+ // due to the kernel sending a SIGABRT from a user request via SysRQ.
+- if (tgkill(getpid(), syscall(__NR_gettid), sig) < 0) {
++ if (sys_tgkill(getpid(), syscall(__NR_gettid), sig) < 0) {
+ // If we failed to kill ourselves (e.g. because a sandbox disallows us
+ // to do so), we instead resort to terminating our process. This will
+ // result in an incorrect exit code.