Issue #25387: Check return value of winsound.MessageBeep

This commit is contained in:
Zachary Ware 2016-09-05 17:32:28 -05:00
parent cefebf3cbe
commit 625cb379f7
3 changed files with 15 additions and 2 deletions

View File

@ -40,7 +40,8 @@ provided by Windows platforms. It includes functions and several constants.
sound to play; possible values are ``-1``, ``MB_ICONASTERISK``,
``MB_ICONEXCLAMATION``, ``MB_ICONHAND``, ``MB_ICONQUESTION``, and ``MB_OK``, all
described below. The value ``-1`` produces a "simple beep"; this is the final
fallback if a sound cannot be played otherwise.
fallback if a sound cannot be played otherwise. If the system indicates an
error, :exc:`RuntimeError` is raised.
.. data:: SND_FILENAME

View File

@ -80,6 +80,8 @@ Core and Builtins
Library
-------
- Issue #25387: Check return value of winsound.MessageBeep.
- Issue #27866: Add SSLContext.get_ciphers() method to get a list of all
enabled ciphers.

View File

@ -175,7 +175,17 @@ static PyObject *
winsound_MessageBeep_impl(PyObject *module, int x)
/*[clinic end generated code: output=1ad89e4d8d30a957 input=a776c8a85c9853f6]*/
{
MessageBeep(x);
BOOL ok;
Py_BEGIN_ALLOW_THREADS
ok = MessageBeep(x);
Py_END_ALLOW_THREADS
if (!ok) {
PyErr_SetExcFromWindowsErr(PyExc_RuntimeError, 0);
return NULL;
}
Py_RETURN_NONE;
}