From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Vijay Marupudi Newsgroups: gmane.lisp.guile.user Subject: Re: Question about handling SIGINT properly in Guile Date: Sat, 13 Apr 2024 16:22:54 -0400 Message-ID: <87jzl1rp0h.fsf@vijaymarupudi.com> References: <87wmp1fhhj.fsf@vijaymarupudi.com> <874jc51a9f.fsf@laura> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20732"; mail-complaints-to="usenet@ciao.gmane.io" To: Olivier Dion , guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Sat Apr 13 22:23:52 2024 Return-path: Envelope-to: guile-user@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rvjuh-0005CS-3L for guile-user@m.gmane-mx.org; Sat, 13 Apr 2024 22:23:51 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rvjuA-0003T6-D8; Sat, 13 Apr 2024 16:23:18 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rvju2-0003SB-PL for guile-user@gnu.org; Sat, 13 Apr 2024 16:23:11 -0400 Original-Received: from mail-dm6nam10on2109.outbound.protection.outlook.com ([40.107.93.109] helo=NAM10-DM6-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rvjtz-0000dD-8X for guile-user@gnu.org; Sat, 13 Apr 2024 16:23:09 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SaYHRbdKYYwEbtpzd1R7QyhqTR/KPqSsmhehXxjGQpQ3F/nW1ssM8WFsII6Ic6DG8t9HNXp2R2K9fw4Mt/2RQVCW6u+vlUqTuqhfLQvXa/DTF5zLtVuve7jwCDehpvCw89/Osm1B1vh8emo4UGuYvBbXLlut3I8J10W6XyeYkKz5+vRuHpf64LQtPkb5kuRhy/GLPpLVusG439PY92Gc9vxwfo/J4fduHMv6y4a5h4rQSETq0uyoRgEMEjMLgOWOenentqrE6tuKUPrVts8fMIzrtxmGA0jss9lr1Da8nDlC+kDDfeneNPmB6vLghrhFwwqtDR4M1QQcBvg46kT7+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BoP1X18c8EXuShPq4Qhd3QEZFRxG5cV4gt/yhxiZCrg=; b=ErL9KskpT1uHIxARGhjtWBTLK+J/Vfu45LUlNkVXGJ4aBE2swb1JpOWAN15uxyW7T8aMMvtmg12iHMG8CynBGJWcdPnysj1gBAEGEYKJxFlc7FgNxRYGHdOQER5Z7ewKBldQwL9YLxmbJCWNgMgjKoJ96EC5d8Q4cVSceoVL+jwck6pPTohIrmEUFfVlEnscwfIQkPcEyRU1nVUFX6vnucplA2hBlbhgt3AnH4tZjwHqydEVCZyaKGzZdGGJcQujDl5Zl4Z6OE8j/nNxmJECpkNFDTqIxMNDwG/obMq/x2l/AImxrnikPdqMtZrIzOEW9C/QXoMMbcD5cidOtHnedQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=gatech.edu; dmarc=pass action=none header.from=gatech.edu; dkim=pass header.d=gatech.edu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gatech.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BoP1X18c8EXuShPq4Qhd3QEZFRxG5cV4gt/yhxiZCrg=; b=X9JH98dgbF5EZnm4+J2InuAxjgpe0D93kmOni1b/7yGIWjKl889TNK7Ecjc/5cewrFfdW6HS1IGeOyGqxlm5jtPfA/eGowtCjsSOJ6J138RUYnc4YFQZD1l9k8MjDIiphxBnehNBOSDZ4drJmGiPtHj+oJ+Q8ZV2DFvFop3XphP/FeeLp5nH2Erk/fixSgDgy+GENpE0+s2ww8IFdTDFWRaEB60kX0O6ueflxZ3k495kLKAej1VZ8cZJ0mKmyhD3erzCZ1sybvW4rlnXmz0vg4v0A6iQAuLDEJX9+h4DHr9B9zA8WB76dD+edCe8K8PLuqmd8syQ90WECTuE4PBcgA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=gatech.edu; Original-Received: from BN0PR07MB8278.namprd07.prod.outlook.com (2603:10b6:408:129::13) by BL3PR07MB8969.namprd07.prod.outlook.com (2603:10b6:208:340::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Sat, 13 Apr 2024 20:23:04 +0000 Original-Received: from BN0PR07MB8278.namprd07.prod.outlook.com ([fe80::41aa:76d:ee31:2b8d]) by BN0PR07MB8278.namprd07.prod.outlook.com ([fe80::41aa:76d:ee31:2b8d%4]) with mapi id 15.20.7452.041; Sat, 13 Apr 2024 20:23:04 +0000 In-Reply-To: <874jc51a9f.fsf@laura> X-ClientProxiedBy: BL1PR13CA0004.namprd13.prod.outlook.com (2603:10b6:208:256::9) To BN0PR07MB8278.namprd07.prod.outlook.com (2603:10b6:408:129::13) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN0PR07MB8278:EE_|BL3PR07MB8969:EE_ X-MS-Office365-Filtering-Correlation-Id: 412a6a30-ce45-4085-91f0-08dc5bf785b9 X-GT-Tenant: 042d12d7-75fe-4547-b5b6-0573f80f829d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KuTYXNffJ/wOhq8o49jTMJjLTbUsuagT8iDT9sPwVld2OhHp554Geu/QZTYMmRy5dCXojbKunB7KeWeHUu/s3SR3Iy/EFdi5UbJZh0IpNjpXc8qVDf+I9QLvk0ud2xyVZdjE/DbCq4QTTrbQQQg296tZNmSMHcjYVlKEj1fEyyb6ihRa9EYwgfI7b3NhR4L97HmfffYBDE1Ew/2Ev8P3cDilPD9XpSODygh/maiW4EHnDY3tOlexaVvlCAIRgjXoCUiIxg4/oRRrD5P4rUzuywj9IIamFcjZS2xvSXEPteqW5FR6G+EfacPeniiQj5z0V24ntbRM/YcwQ5OIPmhan6RTMM5kh3rILPvg8yzdhXn6n7izrSwuoJ9tliSu1T/yXXZGdO7aP4/ZzS3q57CB6yEGwifvKXKq1ZWuzhbj5euIjp0jCaA+HBUQpA7xN1l5aQQwzLMKe6z3+gVdnWUyZBd34JxUV8BE26tzSapIL5LNoYfeW3RNUgPzx5DYmiB2F7jDg5C8HBFbsNSwt8cJvWlIgCCNFyh2K3S9t0B551Pp3mGHCRnFxJW2kytHI2Zoe/a4R9Gsr1KbSJZDy65dn/AHi3r3JM40zysBtziYP/HMNyZdhGWtxMPDV+s28BfRjYr22wZ2VEMch6rKV9TiVJGiGAqKTclgDmnLzOxWpLM= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN0PR07MB8278.namprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376005)(366007)(1800799015); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?/xR4jrJTcAE7KOPb6pnhdBnBqnXj4Gsf6YKOpjX8zzvJAfb7O2VSdCFNN7NF?= =?us-ascii?Q?YDKpqdZxwb3t/KhjUzaMbQOH++IERKEXjN9i0+UFTAhRX/nn3nijhP/w7Ciu?= =?us-ascii?Q?B8hVzzSebQ/xHOzxvaHCQCgj4YQHg6Zqh2GfDQTVmq1rLaN9p7EKb+jFWm+S?= =?us-ascii?Q?YEykcWoMvzxyg+BXuhUxYq/WU+LvNPeokuzruIhjlGwUT8SUtCJc8/ODuxwR?= =?us-ascii?Q?sU5hG2qearGPyy540zUnzurgEuWiAkXm1ZP7PDNRpSm/Yg8BnLOzYzjVnxaU?= =?us-ascii?Q?AfkVnZlSy7mpAYNyPWxGZRvI9y08ex+3YzQl1pm8byAKBelOMc0ANL+1Ks5N?= =?us-ascii?Q?1+xJdPUJDjaKmEQ+KRDNAyY+zdkg+rW2M7g45rZ3yAWvyPFDb2Ag8MN+0eKI?= =?us-ascii?Q?MpmDVI++pYkGcPUNZBP0NUeoBmMG5DM932X47T+GiR/GszeiENag9Zn4KAA3?= =?us-ascii?Q?bmcUyVcFyQScN37osokbicqMBjEvust8HutiXmjZNNGvIPGhRoVegXkZZxSB?= =?us-ascii?Q?wugC1xnUfBTG+43kK3v/IiOWcU1k50/18bRvXhstM6iPM9tXks8xalU2Lj4N?= =?us-ascii?Q?XOh2l7O0L/NllAFp6asXUriAcQvfRUrYJikQPrUAxoSDSfHhx/k79y6t86IE?= =?us-ascii?Q?ko X-OriginatorOrg: gatech.edu X-MS-Exchange-CrossTenant-Network-Message-Id: 412a6a30-ce45-4085-91f0-08dc5bf785b9 X-MS-Exchange-CrossTenant-AuthSource: BN0PR07MB8278.namprd07.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Apr 2024 20:23:03.9682 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 482198bb-ae7b-4b25-8b7a-6d7f32faa083 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: sn9vr3XlhHlGQ2fnOhQUZKq/ENa7ZzuvupooGZuah7MfbFHX9mJGzwwelbtEICj6yOwp7bMmlsa9ZYBYprRP6A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR07MB8969 Received-SPF: pass client-ip=40.107.93.109; envelope-from=vijaymarupudi@gatech.edu; helo=NAM10-DM6-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.lisp.guile.user:19516 Archived-At: > So there is two things with signals. First, when a process get a signal > queued, the OS only deliver the signal -- at least on linux -- when > going back to user-space. Typically, before the process get > re-scheduled or after a system call. So sending a signal is not > immediate. Furthermore, Guile also queues the signals and deliver them > to threads with async marks I think. I understand. I don't get this problem with C, so I assume it's the asynchronity of Guile that is my issue. I tried running the scm_async_tick function, which the documentation says runs queued asyncs (by providing a 'safe point', but that doesn't seem to change anything. (define-module (testing) #:use-module (system foreign) #:use-module (system foreign-library)) (define tick (foreign-library-function #f "scm_async_tick")) (define quit? #f) (sigaction SIGINT (lambda (arg) (pk "SIG" arg) (set! quit? #t))) (let loop () (pk "QUIT-CHECK") (tick) (if quit? (begin (format #t "Quitting!~%") (exit 0)) (begin (pk "WORK" (do ((i 0 (+ i 1)) (sum 0 (+ sum i))) ((= i 1000) sum))) (let ((ret (sleep 10))) (pk "SLEEP" ret) (loop))))) ~ Vijay