bpo-40280: Add configure check for socket shutdown (GH-29795)

This commit is contained in:
Christian Heimes 2021-11-26 16:16:54 +02:00 committed by GitHub
parent db671b010c
commit 8caceb7a47
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 15 additions and 2 deletions

View file

@ -0,0 +1,3 @@
``configure`` now checks for socket ``shutdown`` function. The check makes
it possible to disable ``SYS_shutdown`` with ``ac_cv_func_shutdown=no`` in
CONFIG_SITE.

View file

@ -4788,6 +4788,7 @@ Set operation mode, IV and length of associated data for an AF_ALG\n\
operation socket.");
#endif
#ifdef HAVE_SHUTDOWN
/* s.shutdown(how) method */
static PyObject *
@ -4812,6 +4813,7 @@ PyDoc_STRVAR(shutdown_doc,
\n\
Shut down the reading side of the socket (flag == SHUT_RD), the writing side\n\
of the socket (flag == SHUT_WR), or both ends (flag == SHUT_RDWR).");
#endif
#if defined(MS_WINDOWS) && defined(SIO_RCVALL)
static PyObject*
@ -4957,8 +4959,10 @@ static PyMethodDef sock_methods[] = {
gettimeout_doc},
{"setsockopt", (PyCFunction)sock_setsockopt, METH_VARARGS,
setsockopt_doc},
#ifdef HAVE_SHUTDOWN
{"shutdown", (PyCFunction)sock_shutdown, METH_O,
shutdown_doc},
#endif
#ifdef CMSG_LEN
{"recvmsg", (PyCFunction)sock_recvmsg, METH_VARARGS,
recvmsg_doc},

View file

@ -517,6 +517,9 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */
/* Define if you have siginterrupt. */
/* #undef HAVE_SIGINTERRUPT */
/* Define to 1 if you have the `shutdown' function. */
#define HAVE_SHUTDOWN 1
/* Define if you have symlink. */
/* #undef HAVE_SYMLINK */

2
configure vendored
View file

@ -13395,7 +13395,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
setgid sethostname \
setlocale setregid setreuid setresuid setresgid setsid setpgid setpgrp setpriority setuid setvbuf \
sched_get_priority_max sched_setaffinity sched_setscheduler sched_setparam \
sched_rr_get_interval \
sched_rr_get_interval shutdown \
sigaction sigaltstack sigfillset siginterrupt sigpending sigrelse \
sigtimedwait sigwait sigwaitinfo snprintf splice strftime strlcpy strsignal symlinkat sync \
sysconf tcgetpgrp tcsetpgrp tempnam timegm times tmpfile tmpnam tmpnam_r \

View file

@ -3956,7 +3956,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
setgid sethostname \
setlocale setregid setreuid setresuid setresgid setsid setpgid setpgrp setpriority setuid setvbuf \
sched_get_priority_max sched_setaffinity sched_setscheduler sched_setparam \
sched_rr_get_interval \
sched_rr_get_interval shutdown \
sigaction sigaltstack sigfillset siginterrupt sigpending sigrelse \
sigtimedwait sigwait sigwaitinfo snprintf splice strftime strlcpy strsignal symlinkat sync \
sysconf tcgetpgrp tcsetpgrp tempnam timegm times tmpfile tmpnam tmpnam_r \

View file

@ -992,6 +992,9 @@
/* Define to 1 if you have the `shm_unlink' function. */
#undef HAVE_SHM_UNLINK
/* Define to 1 if you have the `shutdown' function. */
#undef HAVE_SHUTDOWN
/* Define to 1 if you have the `sigaction' function. */
#undef HAVE_SIGACTION