cosmopolitan/third_party/python/Python/sigcheck.c
Justine Tunney fa20edc44d
Reduce header complexity
- Remove most __ASSEMBLER__ __LINKER__ ifdefs
- Rename libc/intrin/bits.h to libc/serialize.h
- Block pthread cancelation in fchmodat() polyfill
- Remove `clang-format off` statements in third_party
2023-11-28 14:39:42 -08:00

27 lines
1.4 KiB
C

/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:4;tab-width:8;coding:utf-8 -*-│
│vi: set net ft=c ts=4 sts=4 sw=4 fenc=utf-8 :vi│
╞══════════════════════════════════════════════════════════════════════════════╡
│ Python 3 │
│ https://docs.python.org/3/license.html │
╚─────────────────────────────────────────────────────────────────────────────*/
#include "third_party/python/Include/intrcheck.h"
#include "third_party/python/Include/pyerrors.h"
/* Sigcheck is similar to intrcheck() but sets an exception when an
interrupt occurs. It can't be in the intrcheck.c file since that
file (and the whole directory it is in) doesn't know about objects
or exceptions. It can't be in errors.c because it can be
overridden (at link time) by a more powerful version implemented in
signalmodule.c. */
#pragma weak PyErr_CheckSignals
/* ARGSUSED */
int
PyErr_CheckSignals(void)
{
if (!PyOS_InterruptOccurred())
return 0;
PyErr_SetNone(PyExc_KeyboardInterrupt);
return -1;
}