summaryrefslogtreecommitdiff
path: root/open_issues/hurd_file_name_lookup_retry_FS_RETRY_MAGIC.mdwn
blob: c38d029e453294b5ff41b6c63016ed1bad43a533 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
[[!meta copyright="Copyright © 2009, 2010, 2013 Free Software Foundation,
Inc."]]

[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]

[[!tag open_issue_glibc open_issue_hurd]]


# IRC, freenode, #hurd, 2009-08-25

    <cfhammar> also I fixed (what I think is) a bug in
      hurd_file_name_lookup_retry when opening FDs with FS_RETRY_MAGIC
    <cfhammar> it didn't actually reopen the FD, rather it just (effectively)
      duped it
    <scolobb> cfhammar: That's great!  I think I had some problems because of
      not being able to truly reopen a port to a file.
    <antrik> cfhammar: what is the difference, and why do you consider it a
      bug?...
    <cfhammar> antrik: for one thing you can't change open modes, and it
      doesn't reset the file cursor
    <cfhammar> (which I actually needed, though I could have done it manually)
    <cfhammar> antrik: and also it isn't consistant with linux
    <cfhammar> you can trigger the bug from the shell: cat /dev/fd/3 3>>
      /tmp/foo
    <antrik> cfhammar: I can't say that I understand the test case... but I can
      at least confirm that it behaves differently on Hurd and on Linux :-)


## 2013-02-17

GNU/Linux:

    $ cat /dev/fd/3 3>> /tmp/foo
    $ ls -l /tmp/foo 
    -rw-rw-r-- 1 thomas thomas 0 Feb 17 12:01 /tmp/foo

GNU/Hurd:

    $ cat /dev/fd/3 3>> /tmp/foo
    cat: /dev/fd/3: Bad file descriptor