This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients JelleZijlstra, benjamin.peterson, corona10, db3l, eryksun, remi.lapeyre, serhiy.storchaka, stutzbach, vstinner
Date 2020-06-04.16:31:56
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1591288316.65.0.0370092184014.issue40826@roundup.psfhosted.org>
In-reply-to
Content
I am confused. Code which uses the closed file descriptor 0 uses "_Py_BEGIN_SUPPRESS_IPH":

        _Py_BEGIN_SUPPRESS_IPH
        hStdIn = (HANDLE)_get_osfhandle(fileno(sys_stdin));
        hStdErr = (HANDLE)_get_osfhandle(fileno(stderr));
        _Py_END_SUPPRESS_IPH

and

    _Py_BEGIN_SUPPRESS_IPH
    handle = (HANDLE)_get_osfhandle(fileno(fp));
    _Py_END_SUPPRESS_IPH

Macros defined as:

extern _invalid_parameter_handler _Py_silent_invalid_parameter_handler;
#define _Py_BEGIN_SUPPRESS_IPH { _invalid_parameter_handler _Py_old_handler = \
    _set_thread_local_invalid_parameter_handler(_Py_silent_invalid_parameter_handler);
#define _Py_END_SUPPRESS_IPH _set_thread_local_invalid_parameter_handler(_Py_old_handler); }

with PC/invalid_parameter_handler.c:

static void __cdecl _silent_invalid_parameter_handler(
    wchar_t const* expression,
    wchar_t const* function,
    wchar_t const* file,
    unsigned int line,
    uintptr_t pReserved) { }

_invalid_parameter_handler _Py_silent_invalid_parameter_handler = _silent_invalid_parameter_handler;


The purpose of _Py_BEGIN_SUPPRESS_IPH is to suppress such popup, no?
History
Date User Action Args
2020-06-04 16:31:56vstinnersetrecipients: + vstinner, db3l, benjamin.peterson, stutzbach, serhiy.storchaka, eryksun, JelleZijlstra, corona10, remi.lapeyre
2020-06-04 16:31:56vstinnersetmessageid: <1591288316.65.0.0370092184014.issue40826@roundup.psfhosted.org>
2020-06-04 16:31:56vstinnerlinkissue40826 messages
2020-06-04 16:31:56vstinnercreate