Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
c664b342
Unverified
Kaydet (Commit)
c664b342
authored
May 04, 2019
tarafından
Victor Stinner
Kaydeden (comit)
GitHub
May 04, 2019
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
bpo-36475: Make PyThread_exit_thread with _Py_NO_RETURN (GH-13068)
üst
6b5b013b
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
17 additions
and
15 deletions
+17
-15
pyerrors.h
Include/pyerrors.h
+0
-11
pyport.h
Include/pyport.h
+14
-0
pythread.h
Include/pythread.h
+1
-1
ceval.c
Python/ceval.c
+0
-1
thread_nt.h
Python/thread_nt.h
+1
-1
thread_pthread.h
Python/thread_pthread.h
+1
-1
No files found.
Include/pyerrors.h
Dosyayı görüntüle @
c664b342
...
@@ -21,17 +21,6 @@ PyAPI_FUNC(void) PyErr_GetExcInfo(PyObject **, PyObject **, PyObject **);
...
@@ -21,17 +21,6 @@ PyAPI_FUNC(void) PyErr_GetExcInfo(PyObject **, PyObject **, PyObject **);
PyAPI_FUNC
(
void
)
PyErr_SetExcInfo
(
PyObject
*
,
PyObject
*
,
PyObject
*
);
PyAPI_FUNC
(
void
)
PyErr_SetExcInfo
(
PyObject
*
,
PyObject
*
,
PyObject
*
);
#endif
#endif
#if defined(__clang__) || \
(defined(__GNUC__) && \
((__GNUC__ >= 3) || \
(__GNUC__ == 2) && (__GNUC_MINOR__ >= 5)))
# define _Py_NO_RETURN __attribute__((__noreturn__))
#elif defined(_MSC_VER)
# define _Py_NO_RETURN __declspec(noreturn)
#else
# define _Py_NO_RETURN
#endif
/* Defined in Python/pylifecycle.c */
/* Defined in Python/pylifecycle.c */
PyAPI_FUNC
(
void
)
_Py_NO_RETURN
Py_FatalError
(
const
char
*
message
);
PyAPI_FUNC
(
void
)
_Py_NO_RETURN
Py_FatalError
(
const
char
*
message
);
...
...
Include/pyport.h
Dosyayı görüntüle @
c664b342
...
@@ -829,4 +829,18 @@ extern _invalid_parameter_handler _Py_silent_invalid_parameter_handler;
...
@@ -829,4 +829,18 @@ extern _invalid_parameter_handler _Py_silent_invalid_parameter_handler;
# define _Py_FORCE_UTF8_FS_ENCODING
# define _Py_FORCE_UTF8_FS_ENCODING
#endif
#endif
/* Mark a function which cannot return. Example:
PyAPI_FUNC(void) _Py_NO_RETURN PyThread_exit_thread(void); */
#if defined(__clang__) || \
(defined(__GNUC__) && \
((__GNUC__ >= 3) || \
(__GNUC__ == 2) && (__GNUC_MINOR__ >= 5)))
# define _Py_NO_RETURN __attribute__((__noreturn__))
#elif defined(_MSC_VER)
# define _Py_NO_RETURN __declspec(noreturn)
#else
# define _Py_NO_RETURN
#endif
#endif
/* Py_PYPORT_H */
#endif
/* Py_PYPORT_H */
Include/pythread.h
Dosyayı görüntüle @
c664b342
...
@@ -23,7 +23,7 @@ typedef enum PyLockStatus {
...
@@ -23,7 +23,7 @@ typedef enum PyLockStatus {
PyAPI_FUNC
(
void
)
PyThread_init_thread
(
void
);
PyAPI_FUNC
(
void
)
PyThread_init_thread
(
void
);
PyAPI_FUNC
(
unsigned
long
)
PyThread_start_new_thread
(
void
(
*
)(
void
*
),
void
*
);
PyAPI_FUNC
(
unsigned
long
)
PyThread_start_new_thread
(
void
(
*
)(
void
*
),
void
*
);
PyAPI_FUNC
(
void
)
PyThread_exit_thread
(
void
);
PyAPI_FUNC
(
void
)
_Py_NO_RETURN
PyThread_exit_thread
(
void
);
PyAPI_FUNC
(
unsigned
long
)
PyThread_get_thread_ident
(
void
);
PyAPI_FUNC
(
unsigned
long
)
PyThread_get_thread_ident
(
void
);
PyAPI_FUNC
(
PyThread_type_lock
)
PyThread_allocate_lock
(
void
);
PyAPI_FUNC
(
PyThread_type_lock
)
PyThread_allocate_lock
(
void
);
...
...
Python/ceval.c
Dosyayı görüntüle @
c664b342
...
@@ -211,7 +211,6 @@ exit_thread_if_finalizing(PyThreadState *tstate)
...
@@ -211,7 +211,6 @@ exit_thread_if_finalizing(PyThreadState *tstate)
if
(
_Py_IsFinalizing
()
&&
!
_Py_CURRENTLY_FINALIZING
(
tstate
))
{
if
(
_Py_IsFinalizing
()
&&
!
_Py_CURRENTLY_FINALIZING
(
tstate
))
{
drop_gil
(
tstate
);
drop_gil
(
tstate
);
PyThread_exit_thread
();
PyThread_exit_thread
();
Py_UNREACHABLE
();
}
}
}
}
...
...
Python/thread_nt.h
Dosyayı görüntüle @
c664b342
...
@@ -227,7 +227,7 @@ PyThread_get_thread_ident(void)
...
@@ -227,7 +227,7 @@ PyThread_get_thread_ident(void)
return
GetCurrentThreadId
();
return
GetCurrentThreadId
();
}
}
void
void
_Py_NO_RETURN
PyThread_exit_thread
(
void
)
PyThread_exit_thread
(
void
)
{
{
dprintf
((
"%lu: PyThread_exit_thread called
\n
"
,
PyThread_get_thread_ident
()));
dprintf
((
"%lu: PyThread_exit_thread called
\n
"
,
PyThread_get_thread_ident
()));
...
...
Python/thread_pthread.h
Dosyayı görüntüle @
c664b342
...
@@ -302,7 +302,7 @@ PyThread_get_thread_ident(void)
...
@@ -302,7 +302,7 @@ PyThread_get_thread_ident(void)
return
(
unsigned
long
)
threadid
;
return
(
unsigned
long
)
threadid
;
}
}
void
void
_Py_NO_RETURN
PyThread_exit_thread
(
void
)
PyThread_exit_thread
(
void
)
{
{
dprintf
((
"PyThread_exit_thread called
\n
"
));
dprintf
((
"PyThread_exit_thread called
\n
"
));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment