view tests/testlib/sigpipe-worker.py @ 51388:cb5175edd225 stable

cext: fix potential memory leaks of list items appended with PyList_Append Also reduce the duplication in the tricky code that uses PyList_Append by extracting it into a function `pylist_append_owned`.
author Arseniy Alekseyev <aalekseyev@janestreet.com>
date Thu, 15 Feb 2024 15:21:43 +0000
parents 6000f5b25c9b
children
line wrap: on
line source

#!/usr/bin/env python3
#
# This is literally `cat` but in python, one char at a time.
#
# see sigpipe-remote.py for details.

import io
import os
import sys


if isinstance(sys.stdout.buffer, io.BufferedWriter):
    print('SIGPIPE-WORKER: script need unbuffered output', file=sys.stderr)
    sys.exit(255)

while True:
    c = os.read(sys.stdin.fileno(), 1)
    os.write(sys.stdout.fileno(), c)