From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu Newsgroups: gmane.emacs.devel Subject: Re: feature/android b91e8ada70e 3/5: Fix auto-revert-mode on Android Date: Sat, 25 Feb 2023 18:41:27 +0800 Message-ID: <87lekm2fjc.fsf@yahoo.com> References: <167724502313.15669.16640007729364817665@vcs2.savannah.gnu.org> <20230224132344.40927C1391F@vcs2.savannah.gnu.org> <87k006vy4g.fsf@gmx.de> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="7092"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: emacs-devel@gnu.org To: Michael Albinus Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Feb 25 11:44:23 2023 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 1pVs2Q-0001ga-U5 for ged-emacs-devel@m.gmane-mx.org; Sat, 25 Feb 2023 11:44:23 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pVs1r-0004mE-DZ; Sat, 25 Feb 2023 05:43:48 -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 1pVs1n-0004ld-O4 for emacs-devel@gnu.org; Sat, 25 Feb 2023 05:43:43 -0500 Original-Received: from sonic307-35.consmr.mail.ne1.yahoo.com ([66.163.190.58]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pVs1l-00067Z-5R for emacs-devel@gnu.org; Sat, 25 Feb 2023 05:43:43 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1677321816; bh=J/k1Xg2QbFLUUau1Kldr0mk/AOl+9+j+K+cRhHRUu9U=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=H4vAFmWd7ZO6j21y23A9krJZui+u8HacwHKKRHqWJBBcbuaa+J2DrFMC8+EPVTz6PrJuZmDHOFJBwTkKl0NsIi7GKuRDwyVtCUx3uQ/v5ibf+KSHCti6qpQAjQsX3RfAyyvNRCfaY2ea86/ilerKkuIwKlK+Vn59LdPMYA2SxU1mRhwD+lLurrAiJ5LGZchkrSGVCggYF6C/qQGoPO+Ea0I2iyurtnCw1HucXjEw34BSyOXBmlkhcQnda6NWREMKqLnLVzIiGl5WqVjHiOKZpvHTWzQ5TZasZaXmTWVzgGwCH6YyhQIRw0sOD3+avGcw70jToQZE3TmRYc50/CJ2Vg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1677321816; bh=kiw98vfotnPA5bGaHJckotA4rJPhpAEfOQHBcjGQZd+=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=LkHzmlNLMGy6lok6deyeHnLkRM8nT7kspKISSNE0f/Ct3/H26u30FKW4VKPzRppwcfxPw9Qz1yFMNQqbSaZThupWl2dAR4MEq6ZaAsE/sbfh4vaRBqo7a6YTfxeBV96+0DCjFLhuhU95mIUL8zSxQ4dlTmv1Ewl+IjeaC3+0px2lp12K18EGvGfXt2359xgeN1ixCuwrVfcgBES6S/mNk1o83GUE6tH8n6Uy4QLWNZA+2AZ5ruNZb8LXmVH7K80CDsvwZoneM7kG1Bwv15XWtm2H1rJw18tVqBkhIL3ka/t7Bm1t13ydw9qTDYP0fM0+GjIqwVqMJYsS3o8VfCaoVw== X-YMail-OSG: 8cIsBocVM1lyKXqNbhblthDvgo1d5Ggp9xDikysyZLzcJVk.Wq1d0lkH0HDhaPv 1oSMzlHjPxkqL13.y6tNFYsk9qJsr1rzwzH1zCe6x0j2YIWQKwi.iQ3y.DhkadmKM.fRl9ijTIoj 1qpATQEjRIgTLgAi1GJ3pO3LKxccK7D4iMLyySs8Yw7vAYtV0kIAngaisjdH5XqUXjiwtTFdNtIP IzAu_9Z_GMLm5x22RO_mLfA3RAozCW2SF2xsvcMddQaafa7O7lQqvCVaeGZPk.Y1kl5Lk2wMHfGa uS5K3HymY7riUwQRS.hMXuMRdXIfxcafntbam71SzUcQLN_hWT0Jn_sflYEcrXNrqdURvgkZKKZK 28QF.w54P1Xo1IfpkoxnDvhf_fn.5V1ZiKPl8z1YFjtqN3SMeXh.3Bp_v3DfVJEAnkfjI5O8OfIg cmNFkbabwD0itVTE09z7YjVZpmAsfjBl71DB7di7X7ChocVmKElbtM0gM4tKoQtQfHh0cOa4pMy6 cp1wACBkiD9jyuAzOA9i6PBmCSds021aUl29N13IB6tUS9Hr.al7hgz9RqjZrjM96wytC7QrWOXG bGfz5CKMPCgkcpbxqLIwRuUNULuq3ouiSssom.8w4jnWfBo2Tm74OBQYqELDEW4tJnq_bPMHgvtG Xo84U9Jyq4YkXo4JLagJIkInqgbQlCtj2wHzWDTMzECx3zczpdCyOvcNV5PL2j78CogkhWGobIJd ym7XT5iPVo25eEbT9ZZd35.pS9UPz9IiIWT29WtYxbkh.f3WagiiB2lUx.OOaAp55Y2JjXbI82qC .bo0g.ChiQUIfnnxzOyjExDKrEyovbW3sV3lmDjhWO X-Sonic-MF: Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic307.consmr.mail.ne1.yahoo.com with HTTP; Sat, 25 Feb 2023 10:43:36 +0000 Original-Received: by hermes--production-sg3-9fc5746c8-xxb6k (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID d0070e3cd069fdcb5d903949712e2da4; Sat, 25 Feb 2023 10:41:33 +0000 (UTC) In-Reply-To: <87k006vy4g.fsf@gmx.de> (Michael Albinus's message of "Sat, 25 Feb 2023 11:27:11 +0100") X-Mailer: WebService/1.1.21221 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Received-SPF: pass client-ip=66.163.190.58; envelope-from=luangruo@yahoo.com; helo=sonic307-35.consmr.mail.ne1.yahoo.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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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:303792 Archived-At: Michael Albinus writes: > Po Lu via Mailing list for Emacs changes writes: > > Hi, > >> Fix auto-revert-mode on Android >> >> * src/inotify.c (Finotify_add_watch): Handle asset files. >> --- >> src/inotify.c | 19 ++++++++++++++++++- >> 1 file changed, 18 insertions(+), 1 deletion(-) >> >> diff --git a/src/inotify.c b/src/inotify.c >> index 7562ffb1701..b2a48884efa 100644 >> --- a/src/inotify.c >> +++ b/src/inotify.c >> @@ -419,6 +419,7 @@ IN_ONESHOT */) >> int wd = -1; >> uint32_t imask = aspect_to_inotifymask (aspect); >> uint32_t mask = imask | IN_MASK_ADD | IN_EXCL_UNLINK; >> + char *name; >> >> CHECK_STRING (filename); >> >> @@ -432,7 +433,23 @@ IN_ONESHOT */) >> } >> >> encoded_file_name = ENCODE_FILE (filename); >> - wd = inotify_add_watch (inotifyfd, SSDATA (encoded_file_name), mask); >> + name = SSDATA (encoded_file_name); >> + >> +#if defined HAVE_ANDROID && !defined ANDROID_STUBIFY >> + /* If FILENAME actually lies in a special directory, return now >> + instead of letting inotify fail. These directories cannot >> + receive file notifications as they are read only. */ >> + >> + if (strcmp (name, "/assets") >> + || strcmp (name, "/assets/") >> + || strcmp (name, "/content") >> + || strcmp (name, "/content/") >> + || strncmp (name, "/assets/", sizeof "/assets") >> + || strncmp (name, "/content", sizeof "/content")) >> + return Qnil; >> +#endif >> + >> + wd = inotify_add_watch (inotifyfd, name, mask); >> if (wd < 0) >> report_file_notify_error ("Could not add watch for file", filename); > > I have two problems with this patch. First, nil is not defined as return > value of *-add-watch functions. If we want to allow this, we must extend > the interface. > > Second, do we really want to have such a hard coded list in inotify.c? > What about other directories on other systems, like "/proc"? Shouldn't > we add rather a common interface for excluding directories from being > watched, say file-notify-excluded-directories (a list of strings)? This > could be modified on Lisp level, no need to do it in the notification > backends. Shouldn't watching /proc work, in that no error is signalled, unlike watching /content and /assets, which are wholly inventions of android.c which do not exist in the VFS? Anyway, what return value do you think would be appropriate here? Thanks.