Staging
v0.5.1
https://github.com/python/cpython
Revision f286e0373feda0955c910a9fe4ef99cd2c40969e authored by Miss Islington (bot) on 01 June 2019, 09:36:29 UTC, committed by GitHub on 01 June 2019, 09:36:29 UTC

Fixed QueueListener in order to avoid random deadlocks.
Unable to add regression tests atm due to time constraints, will add it in a bit.
Regarding implementation, although it's nested, it does not cause performance issues whatsoever, and does not call task_done() in case of an exception (which is the right thing to do IMHO).

https://bugs.python.org/issue36813
(cherry picked from commit 6b282e18877ec84e927b381b4ce187eaf4ba3dd7)

Co-authored-by: Bar Harel <bzvi7919@gmail.com>
1 parent 18e23f2
Raw File
Tip revision: f286e0373feda0955c910a9fe4ef99cd2c40969e authored by Miss Islington (bot) on 01 June 2019, 09:36:29 UTC
bpo-36813: Fix QueueListener to call task_done() upon termination. (GH-13113)
Tip revision: f286e03
getcompiler.c

/* Return the compiler identification, if possible. */

#include "Python.h"

#ifndef COMPILER

// Note the __clang__ conditional has to come before the __GNUC__ one because
// clang pretends to be GCC.
#if defined(__clang__)
#define COMPILER "\n[Clang " __clang_version__ "]"
#elif defined(__GNUC__)
#define COMPILER "\n[GCC " __VERSION__ "]"
// Generic fallbacks.
#elif defined(__cplusplus)
#define COMPILER "[C++]"
#else
#define COMPILER "[C]"
#endif

#endif /* !COMPILER */

const char *
Py_GetCompiler(void)
{
    return COMPILER;
}
back to top