emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#57567: closed (‘primitive-load’ should open files with O_CLOEXEC)


From: GNU bug Tracking System
Subject: bug#57567: closed (‘primitive-load’ should open files with O_CLOEXEC)
Date: Wed, 07 Sep 2022 16:04:01 +0000

Your message dated Wed, 07 Sep 2022 18:03:16 +0200
with message-id <87czc7qiij.fsf@gnu.org>
and subject line Re: bug#57567: ‘primitive-load’ should open files with 
O_CLOEXEC
has caused the debbugs.gnu.org bug report #57567,
regarding ‘primitive-load’ should open files with O_CLOEXEC
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
57567: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=57567
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: ‘primitive-load’ should open files with O_CLOEXEC Date: Sat, 03 Sep 2022 21:24:12 +0200 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux)
Hi,

Currently ‘primitive-load’ opens files without O_CLOEXEC:

    port = scm_open_file_with_encoding (filename,
                                        scm_from_latin1_string ("r"),
                                        SCM_BOOL_T, /* guess_encoding */
                                        scm_from_latin1_string ("UTF-8"));

We should fix that; here’s an example where it shows:

--8<---------------cut here---------------start------------->8---
$ guix shell bash -- sh -c 'ls -l /proc/$$/fd'
total 0
lrwx------ 1 ludo users 64 Sep  3 21:20 0 -> /dev/pts/0
lrwx------ 1 ludo users 64 Sep  3 21:20 1 -> /dev/pts/0
lrwx------ 1 ludo users 64 Sep  3 21:20 2 -> /dev/pts/0
lr-x------ 1 ludo users 64 Sep  3 21:20 3 -> /proc/9563/fd
lr-x------ 1 ludo users 64 Sep  3 21:20 5 -> 
/gnu/store/4qbqaa4dgr2fwjjs9i2naqrd0djrcnw3-guix-command
$ head -1 $(type -P guix)
#!/gnu/store/9z95jms1r801z1kxpiq5xw594cxaw5jx-guile-wrapper/bin/guile 
--no-auto-compile
--8<---------------cut here---------------end--------------->8---

For a proper fix, one possibility would be to first augment
‘scm_i_mode_to_open_flags’ to recognize some letter for O_CLOEXEC.  In
glibc, fopen(3) uses “e” for that.

Thoughts?

Ludo’.



--- End Message ---
--- Begin Message --- Subject: Re: bug#57567: ‘primitive-load’ should open files with O_CLOEXEC Date: Wed, 07 Sep 2022 18:03:16 +0200 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux)
Ludovic Courtès <ludo@gnu.org> skribis:

> Currently ‘primitive-load’ opens files without O_CLOEXEC:
>
>     port = scm_open_file_with_encoding (filename,
>                                         scm_from_latin1_string ("r"),
>                                         SCM_BOOL_T, /* guess_encoding */
>                                         scm_from_latin1_string ("UTF-8"));

[...]

> For a proper fix, one possibility would be to first augment
> ‘scm_i_mode_to_open_flags’ to recognize some letter for O_CLOEXEC.  In
> glibc, fopen(3) uses “e” for that.

I went ahead and did that:

  0aa1a9976 'primitive-load' opens files with O_CLOEXEC.
  a356ceebe Add support for "e" flag (O_CLOEXEC) to 'open-file'.

Ludo’.


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]