From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com [IPv6:2a00:1450:4864:20::22c]) by sourceware.org (Postfix) with ESMTPS id 034F23858C66 for ; Tue, 1 Aug 2023 15:37:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 034F23858C66 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-lj1-x22c.google.com with SMTP id 38308e7fff4ca-2b9ba3d6157so87635361fa.3 for ; Tue, 01 Aug 2023 08:37:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1690904234; x=1691509034; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=L75K4T7WsbOZrbvHkZDS+Vn/2t6+iCbOTY3SOfBzOoQ=; b=a5DThtMXX8+K0CTWFK5UvBKFvMG44ZcD1mh6GJ0gkRvVppdSeod3HuDYzVtMyqFxFW XqKYSXqqOw3dSLOXOvyAo/6BrNtvdo3O/4monpbvEKLJ+heNd0iLAExzZfyqd1b/4RFW 7TmRVxhPl19+4LsFgiH9qg6RVXOPpL4HP5XtUzcdE1qrN0nVuWsinLCNZ8+nRPzYNLT8 w8d86TZEsRg9PVkCijwZOH/rUJiUDGwxORxnuBMn0tW0ZwWEhxrQjX0tYkCm3c47MoMG Y/w6VXVMuZkAg8Jdlzo6msIIEj6pyxhPotQMbxnbsNCSz+1/8BKm7T7aNIM2zeuBx3ei tvcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690904234; x=1691509034; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=L75K4T7WsbOZrbvHkZDS+Vn/2t6+iCbOTY3SOfBzOoQ=; b=V+HuNmB3nLwOBPd0saqhmeREgRZ41L5xo28Gae+RIsbRAfnAi9/9GUJKNhACl9iPQR +uW5GlVWqC1hrWbcVD2WKbXBDiMs9g15JrG6MhXam6kU7GmmitjonWYXkI8dxWw77mlE en9j/Ngi8RPLZa9LyR7n6MWBpeSZ3a7iKdmHXWuWoaQbFTbdnyfgzbuty2vuvZKc1Yd6 xsYHfQLR7AuX4CSOdvQXrfjXnw1ELean83AN3xnzsg8saDzs/TjwoImSVn/Yyxc4fXwk sw5vpm939zosvd76F/VVeMUzrWZbDGn0dqC6hBECZjgzEx3pYyU2/coXFsKAgUyiWTdQ 9sMA== X-Gm-Message-State: ABy/qLa4qNGXvqtHNBWpt6yUk/2lHVJmF9BHOcLUEugdJCq4kXT2RaYg 338q110F+xFtQeTlCRMq8LJ6Sk3G9Ec= X-Google-Smtp-Source: APBJJlGwPuDZpWLCd/eP4/kql+4VCAyVTeFiiFb2v4ebnaqngHeIefAK50uzNk++6bwxr0tmS0024g== X-Received: by 2002:a2e:8044:0:b0:2b5:7dd9:74f5 with SMTP id p4-20020a2e8044000000b002b57dd974f5mr2903365ljg.21.1690904233877; Tue, 01 Aug 2023 08:37:13 -0700 (PDT) Received: from localhost.localdomain ([2001:2044:c7:5500:5637:6b43:7745:198c]) by smtp.gmail.com with ESMTPSA id c3-20020a2e9483000000b002b6ea79c613sm3151002ljh.94.2023.08.01.08.37.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Aug 2023 08:37:13 -0700 (PDT) From: Simon Farre To: gdb-patches@sourceware.org Cc: tom@tromey.com, Simon Farre Subject: [PATCH v2] [gdb/dap] Add thread exited event Date: Tue, 1 Aug 2023 17:36:59 +0200 Message-ID: <20230801153659.109243-1-simon.farre.cx@gmail.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-10.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Reports a thread exit according to the DAP spec: https://microsoft.github.io/debug-adapter-protocol/specification#Events_Thread This patch requires the ThreadExitedEvent to be checked in, in order to work. That patch is found here https://sourceware.org/pipermail/gdb-patches/2023-June/200071.html Formatted correctly using black Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30474 --- gdb/python/lib/gdb/dap/events.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/gdb/python/lib/gdb/dap/events.py b/gdb/python/lib/gdb/dap/events.py index d9ae603dfa4..19838756c74 100644 --- a/gdb/python/lib/gdb/dap/events.py +++ b/gdb/python/lib/gdb/dap/events.py @@ -68,16 +68,26 @@ def _bp_deleted(event): @in_gdb_thread -def _new_thread(event): +def thread_event(event, reason): send_event( "thread", { - "reason": "started", + "reason": reason, "threadId": event.inferior_thread.global_num, }, ) +@in_gdb_thread +def _new_thread(event): + thread_event(event, "started") + + +@in_gdb_thread +def _thread_exited(event): + thread_event(event, "exited") + + _suppress_cont = False @@ -160,4 +170,5 @@ gdb.events.breakpoint_created.connect(_bp_created) gdb.events.breakpoint_modified.connect(_bp_modified) gdb.events.breakpoint_deleted.connect(_bp_deleted) gdb.events.new_thread.connect(_new_thread) +gdb.events.thread_exited.connect(_thread_exited) gdb.events.cont.connect(_cont) -- 2.41.0