@@ -32006,7 +32006,7 @@ index 4e97337811..bb8d8f9590 100644
32006
32006
sin(pi*x), giving accurate results for all finite x (especially x
32007
32007
integral or close to an integer). This is here for use in the
32008
32008
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
32009
- index 850769fd95..10fab7d8a5 100644
32009
+ index 850769fd95..4e8c32c4fd 100644
32010
32010
--- a/Modules/posixmodule.c
32011
32011
+++ b/Modules/posixmodule.c
32012
32012
@@ -20,6 +20,8 @@
@@ -32044,52 +32044,7 @@ index 850769fd95..10fab7d8a5 100644
32044
32044
32045
32045
/*[clinic input]
32046
32046
# one of the few times we lie about this name!
32047
- @@ -442,27 +463,33 @@
32048
- }
32049
- }
32050
- }
32051
- +#endif
32052
-
32053
- void
32054
- PyOS_BeforeFork(void)
32055
- {
32056
- +#ifdef HAVE_FORK
32057
- run_at_forkers(_PyInterpreterState_Get()->before_forkers, 1);
32058
-
32059
- _PyImport_AcquireLock();
32060
- +#endif
32061
- }
32062
-
32063
- void
32064
- PyOS_AfterFork_Parent(void)
32065
- {
32066
- +#ifdef HAVE_FORK
32067
- if (_PyImport_ReleaseLock() <= 0)
32068
- Py_FatalError("failed releasing import lock after fork");
32069
-
32070
- run_at_forkers(_PyInterpreterState_Get()->after_forkers_parent, 0);
32071
- +#endif
32072
- }
32073
-
32074
- void
32075
- PyOS_AfterFork_Child(void)
32076
- {
32077
- +#ifdef HAVE_FORK
32078
- _PyRuntimeState *runtime = &_PyRuntime;
32079
- _PyGILState_Reinit(runtime);
32080
- _PyEval_ReInitThreads(runtime);
32081
- @@ -472,8 +499,10 @@
32082
- _PyInterpreterState_DeleteExceptMain(runtime);
32083
-
32084
- run_at_forkers(_PyInterpreterState_Get()->after_forkers_child, 0);
32085
- +#endif
32086
- }
32087
-
32088
- +#ifdef HAVE_FORK
32089
- static int
32090
- register_at_forker(PyObject **lst, PyObject *func)
32091
- {
32092
- @@ -1373,7 +1402,9 @@
32047
+ @@ -1373,7 +1394,9 @@
32093
32048
*/
32094
32049
#include <crt_externs.h>
32095
32050
#elif !defined(_MSC_VER) && (!defined(__WATCOMC__) || defined(__QNX__) || defined(__VXWORKS__))
@@ -32099,15 +32054,7 @@ index 850769fd95..10fab7d8a5 100644
32099
32054
#endif /* !_MSC_VER */
32100
32055
32101
32056
static PyObject *
32102
- @@ -1444,6 +1475,7 @@
32103
- Py_DECREF(k);
32104
- Py_DECREF(v);
32105
- }
32106
- +#endif
32107
- return d;
32108
- }
32109
-
32110
- @@ -4348,7 +4380,12 @@
32057
+ @@ -4348,7 +4371,12 @@
32111
32058
}
32112
32059
32113
32060
Py_BEGIN_ALLOW_THREADS
@@ -32120,7 +32067,7 @@ index 850769fd95..10fab7d8a5 100644
32120
32067
Py_END_ALLOW_THREADS
32121
32068
return result;
32122
32069
}
32123
- @@ -4625,7 +4662 ,7 @@
32070
+ @@ -4625,7 +4653 ,7 @@
32124
32071
static int
32125
32072
utime_dir_fd(utime_t *ut, int dir_fd, const char *path, int follow_symlinks)
32126
32073
{
@@ -32129,7 +32076,7 @@ index 850769fd95..10fab7d8a5 100644
32129
32076
int flags = follow_symlinks ? 0 : AT_SYMLINK_NOFOLLOW;
32130
32077
UTIME_TO_TIMESPEC;
32131
32078
return utimensat(dir_fd, path, time, flags);
32132
- @@ -4651,7 +4688 ,7 @@
32079
+ @@ -4651,7 +4679 ,7 @@
32133
32080
static int
32134
32081
utime_fd(utime_t *ut, int fd)
32135
32082
{
@@ -32138,7 +32085,7 @@ index 850769fd95..10fab7d8a5 100644
32138
32085
UTIME_TO_TIMESPEC;
32139
32086
return futimens(fd, time);
32140
32087
#else
32141
- @@ -4674,7 +4711 ,7 @@
32088
+ @@ -4674,7 +4702 ,7 @@
32142
32089
static int
32143
32090
utime_nofollow_symlinks(utime_t *ut, const char *path)
32144
32091
{
@@ -32147,7 +32094,7 @@ index 850769fd95..10fab7d8a5 100644
32147
32094
UTIME_TO_TIMESPEC;
32148
32095
return utimensat(DEFAULT_DIR_FD, path, time, AT_SYMLINK_NOFOLLOW);
32149
32096
#else
32150
- @@ -4690,7 +4727 ,7 @@
32097
+ @@ -4690,7 +4718 ,7 @@
32151
32098
static int
32152
32099
utime_default(utime_t *ut, const char *path)
32153
32100
{
0 commit comments