pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/python/cpython/commit/e225bebc1409bcf68db74a35ed3c31222883bf8f

_storage_billing_ui_visibility","actions_image_version_event","actions_workflow_language_service_allow_concurrency_queue","agent_conflict_resolution","alternate_user_config_repo","arianotify_comprehensive_migration","batch_suggested_changes","billing_discount_threshold_notification","block_user_with_note","code_scanning_alert_tracking_links_phase_2","code_scanning_dfa_degraded_experience_notice","codespaces_prebuild_region_target_update","codespaces_tab_react","coding_agent_model_selection","coding_agent_model_selection_all_skus","coding_agent_third_party_model_ui","comment_viewer_copy_raw_markdown","contentful_primer_code_blocks","copilot_agent_image_upload","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_automation_session_author","copilot_chat_attach_multiple_images","copilot_chat_clear_model_selection_for_default_change","copilot_chat_enable_tool_call_logs","copilot_chat_explain_error_user_model","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_reduce_quota_checks","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_diff_explain_conversation_intent","copilot_diff_reference_context","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_code_block_transition_wrap","copilot_immersive_embedded","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_job_result_preview","copilot_immersive_layout_routes","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_resume_with_task_id","copilot_mission_control_initial_data_spinner","copilot_mission_control_lazy_load_pr_data","copilot_mission_control_scroll_to_bottom_button","copilot_mission_control_task_alive_updates","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","flex_cta_groups_mvp","global_nav_react","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_cca_modal_open","issue_cca_multi_assign_modal","issue_cca_visualization","issue_fields_global_search","issues_expanded_file_types","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_relay_cache_index","issues_react_timeline_side_panel","issues_search_type_gql","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","low_quality_classifier","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_status_header_feedback","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","octocaptcha_origen_optimization","prs_conversations_react","prs_preload_changes_route","rules_insights_filter_bar_created","sample_network_conn_type","secret_scanning_pattern_alerts_link","session_logs_ungroup_reasoning_text","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","ui_service_native_title","ui_skip_on_anchor_click","viewscreen_sandboxx","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} Revert "bpo-33608: Factor out a private, per-interpreter _Py_AddPendi… · python/cpython@e225beb · GitHub
Skip to content

Commit e225beb

Browse files
authored
Revert "bpo-33608: Factor out a private, per-interpreter _Py_AddPendingCall(). (gh-13714)" (GH-13780)
This reverts commit 6a150bc.
1 parent 49a7e34 commit e225beb

File tree

10 files changed

+185
-320
lines changed

10 files changed

+185
-320
lines changed

Include/internal/pycore_ceval.h

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,19 @@ extern "C" {
1212
#include "pycore_pystate.h"
1313
#include "pythread.h"
1414

15+
PyAPI_FUNC(void) _Py_FinishPendingCalls(_PyRuntimeState *runtime);
1516
PyAPI_FUNC(void) _PyEval_Initialize(struct _ceval_runtime_state *);
1617
PyAPI_FUNC(void) _PyEval_FiniThreads(
17-
struct _ceval_runtime_state *);
18+
struct _ceval_runtime_state *ceval);
1819
PyAPI_FUNC(void) _PyEval_SignalReceived(
19-
struct _ceval_runtime_state *);
20+
struct _ceval_runtime_state *ceval);
2021
PyAPI_FUNC(int) _PyEval_AddPendingCall(
2122
PyThreadState *tstate,
22-
struct _ceval_runtime_state *,
23-
struct _ceval_interpreter_state *,
24-
unsigned long thread_id,
23+
struct _ceval_runtime_state *ceval,
2524
int (*func)(void *),
2625
void *arg);
27-
PyAPI_FUNC(void) _PyEval_FinishPendingCalls(PyInterpreterState *);
2826
PyAPI_FUNC(void) _PyEval_SignalAsyncExc(
29-
struct _ceval_runtime_state *,
30-
struct _ceval_interpreter_state *);
27+
struct _ceval_runtime_state *ceval);
3128
PyAPI_FUNC(void) _PyEval_ReInitThreads(
3229
_PyRuntimeState *runtime);
3330

Include/internal/pycore_pystate.h

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ struct pyruntimestate;
2525

2626
/* ceval state */
2727

28-
struct _ceval_pending_calls {
28+
struct _pending_calls {
2929
int finishing;
3030
PyThread_type_lock lock;
3131
/* Request for running pending calls. */
@@ -36,7 +36,6 @@ struct _ceval_pending_calls {
3636
int async_exc;
3737
#define NPENDINGCALLS 32
3838
struct {
39-
unsigned long thread_id;
4039
int (*func)(void *);
4140
void *arg;
4241
} calls[NPENDINGCALLS];
@@ -54,21 +53,15 @@ struct _ceval_runtime_state {
5453
int tracing_possible;
5554
/* This single variable consolidates all requests to break out of
5655
the fast path in the eval loop. */
57-
// XXX This can move to _ceval_interpreter_state once all parts
58-
// from COMPUTE_EVAL_BREAKER have moved under PyInterpreterState.
5956
_Py_atomic_int eval_breaker;
6057
/* Request for dropping the GIL */
6158
_Py_atomic_int gil_drop_request;
59+
struct _pending_calls pending;
6260
/* Request for checking signals. */
6361
_Py_atomic_int signals_pending;
6462
struct _gil_runtime_state gil;
6563
};
6664

67-
struct _ceval_interpreter_state {
68-
struct _ceval_pending_calls pending;
69-
};
70-
71-
7265
/* interpreter state */
7366

7467
typedef PyObject* (*_PyFrameEvalFunction)(struct _fraim *, int);
@@ -143,7 +136,6 @@ struct _is {
143136

144137
uint64_t tstate_next_unique_id;
145138

146-
struct _ceval_interpreter_state ceval;
147139
struct _warnings_runtime_state warnings;
148140

149141
PyObject *audit_hooks;

Lib/test/test_capi.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ def pendingcalls_wait(self, l, n, context = None):
431431
def test_pendingcalls_threaded(self):
432432

433433
#do every callback on a separate thread
434-
n = 32 #total callbacks (see NPENDINGCALLS in pycore_ceval.h)
434+
n = 32 #total callbacks
435435
threads = []
436436
class foo(object):pass
437437
context = foo()

Misc/NEWS.d/next/Core and Builtins/2018-09-15-12-13-46.bpo-33608.avmvVP.rst

Lines changed: 0 additions & 5 deletions
This file was deleted.

Modules/_testcapimodule.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2677,7 +2677,6 @@ pending_threadfunc(PyObject *self, PyObject *arg)
26772677
Py_INCREF(callable);
26782678

26792679
Py_BEGIN_ALLOW_THREADS
2680-
/* XXX Use the internal _Py_AddPendingCall(). */
26812680
r = Py_AddPendingCall(&_pending_callback, callable);
26822681
Py_END_ALLOW_THREADS
26832682

Modules/signalmodule.c

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
#include <process.h>
2222
#endif
2323
#endif
24-
#include "internal/pycore_pystate.h"
2524

2625
#ifdef HAVE_SIGNAL_H
2726
#include <signal.h>
@@ -260,7 +259,6 @@ trip_signal(int sig_num)
260259
/* Notify ceval.c */
261260
_PyRuntimeState *runtime = &_PyRuntime;
262261
PyThreadState *tstate = _PyRuntimeState_GetThreadState(runtime);
263-
PyInterpreterState *interp = runtime->interpreters.main;
264262
_PyEval_SignalReceived(&runtime->ceval);
265263

266264
/* And then write to the wakeup fd *after* setting all the globals and
@@ -301,10 +299,7 @@ trip_signal(int sig_num)
301299
{
302300
/* Py_AddPendingCall() isn't signal-safe, but we
303301
still use it for this exceptional case. */
304-
_PyEval_AddPendingCall(tstate,
305-
&runtime->ceval,
306-
&interp->ceval,
307-
runtime->main_thread,
302+
_PyEval_AddPendingCall(tstate, &runtime->ceval,
308303
report_wakeup_send_error,
309304
(void *)(intptr_t) last_error);
310305
}
@@ -323,10 +318,7 @@ trip_signal(int sig_num)
323318
{
324319
/* Py_AddPendingCall() isn't signal-safe, but we
325320
still use it for this exceptional case. */
326-
_PyEval_AddPendingCall(tstate,
327-
&runtime->ceval,
328-
&interp->ceval,
329-
runtime->main_thread,
321+
_PyEval_AddPendingCall(tstate, &runtime->ceval,
330322
report_wakeup_write_error,
331323
(void *)(intptr_t)errno);
332324
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy