python / python/cpython

Remote debugger should be checked only if interpreter paused on STW

Aperta
#145,970 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

interpreter-core type-feature
Lingua principale
Python
Stelle
77.2k
Fork
35.9k
Metriche di merge delle PR
Metriche PR in attesa

Descrizione

Feature or enhancement

Proposal:

Now it is checked every _Py_HandlePending call.

https://github.com/python/cpython/blob/1dfe99ae3bed6cac01732b47bf7fa637abadf51b/Python/ceval_gil.c#L1361-L1368

https://github.com/python/cpython/blob/1dfe99ae3bed6cac01732b47bf7fa637abadf51b/Python/ceval_gil.c#L1431-L1433

Should we move this under if ((breaker & _PY_EVAL_PLEASE_STOP_BIT) != 0)? If yes, I have a PR ready.

cc @pablogsal

Has this already been discussed elsewhere?

No response given

Links to previous discussion of this feature:

No response

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia in Python/ceval_gil.c nei punti di chiamata referenziati di _Py_HandlePending e confronta il controllo del debugger remoto con la gestione di _PY_EVAL_PLEASE_STOP_BIT. Conferma il comportamento previsto per gli interpreti in pausa su STW, quindi esegui i test pertinenti dell’interprete CPython oppure aggiungi una copertura che dimostri che il controllo non viene eseguito in ogni percorso di gestione delle chiamate in sospeso.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
backend
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.