From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Some experience with the igc branch Date: Mon, 23 Dec 2024 20:35:21 +0200 Message-ID: <867c7q4592.fsf@gnu.org> References: <87o713wwsi.fsf@telefonica.net> <87ldw7fwet.fsf@protonmail.com> <87a5cnfj8t.fsf@protonmail.com> <86seqe4j4f.fsf@gnu.org> <87ttaucub8.fsf@protonmail.com> <87pllicrpi.fsf@protonmail.com> <86bjx24ad0.fsf@gnu.org> <87cyhicocg.fsf@protonmail.com> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34421"; mail-complaints-to="usenet@ciao.gmane.io" Cc: gerd.moellmann@gmail.com, ofv@wanadoo.es, emacs-devel@gnu.org, eller.helmut@gmail.com, acorallo@gnu.org To: Pip Cet Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Dec 23 19:36:28 2024 Return-path: Envelope-to: ged-emacs-devel@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 1tPnI2-0008mw-QX for ged-emacs-devel@m.gmane-mx.org; Mon, 23 Dec 2024 19:36:26 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tPnHR-0003y3-Q9; Mon, 23 Dec 2024 13:35:49 -0500 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 1tPnHK-0003xR-4N for emacs-devel@gnu.org; Mon, 23 Dec 2024 13:35:43 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tPnHJ-0003tu-8E; Mon, 23 Dec 2024 13:35:41 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=NvdIYt9gUR6MR/4+5HoXvA3T6ra91b+T/umj79sK2JU=; b=BoERby0fdNVi hOezpsTZVRY1k0nqGfIZt3WGOVaXiBXCJxu+cFEAHacp4BUKkflLP+T/71KC8apRiDZ08BdwknCqG JsdBeyps/1WwCWac2dfvK0oQfzzaRRGf/sKYJ7HT2duCzLj76dlDYmtgdYvEZfgCa6tv2wm+IXE4E H9NxzhYDjXGMq7WkGhd5oaY/b+UG1aISF0ey+3Ue8vhURfDK3Z3Q4doBIQ1GK5amHKGFJHUObOukC w2DsyzQEoA+0Gmx1q6c+FUl/rZGQUWrniBkuNLkIE3nAP9xQ3KWIhapNUV48rK7lKYhqsAqmnLRbw HkOlDqR2nrcFey6nnO2JyQ==; In-Reply-To: <87cyhicocg.fsf@protonmail.com> (message from Pip Cet on Mon, 23 Dec 2024 17:16:32 +0000) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:326928 Archived-At: > Date: Mon, 23 Dec 2024 17:16:32 +0000 > From: Pip Cet > Cc: gerd.moellmann@gmail.com, ofv@wanadoo.es, emacs-devel@gnu.org, eller.helmut@gmail.com, acorallo@gnu.org > > "Eli Zaretskii" writes: > > >> +#include > > > > We cannot use pthreads.h in portable code. If we want to use threads, > > we need separate implementations for Posix and Windows, like wedid in > > systhread.c for Lisp threads. > > Noted. > > As an aside, without any relevance to the fact that we should avoid > using them, aren't pthreads available on "mingw"64 systems? pthreads are ported to both 32-bit and 64-bit Windows (more than once), but the ports are buggy, and pthreads.h itself defines all kinds of stuff that conflicts with various w32 places in Emacs. The following lines from nt/mingw-site.cfg is one sign of that: # We don't want pthread.h to be picked up just because it defines timespec gl_cv_sys_struct_timespec_in_pthread_h=no # Or at all... ac_cv_header_pthread_h=no > > Why do we need this, again? > > We can't interrupt allocation, so we move it to a separate thread where > it will complete (unlocking the arena) even if a signal interrupts us. How will this allow us to run the Lisp machine from a signal? Because this is the goal, right?