Uploaded image for project: 'Guacamole'
  1. Guacamole
  2. GUACAMOLE-1625

Child processes inherit useless fd from parent processes

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 1.4.0
    • None
    • guacd
    • None

    Description

      For example, if we open three ssh connections in a row, the subprocesses will have more and more fd, which is actually not necessary

      Most fd's come from the socketpair() of the parent process

       

      # ps aux | grep guacd
      root      6453  0.0  0.3 522844 14756 pts/0    Sl+  19:24   0:00 guacd -f -Ldebug
      root      6457  0.2  0.9 628436 37176 pts/0    Sl   19:24   0:00 guacd -f -Ldebug
      root      6512  1.8  0.9 483508 38644 pts/0    Sl   19:31   0:00 guacd -f -Ldebug
      root      6605  0.0  0.0  21540  1084 pts/2    S+   19:31   0:00 grep --color=auto guacd
      # cd /proc/6512/fd
      # ls
      0  1  10  11  12  13  14  2  3  4  5  6  7  8  9
      # ps aux | grep guacd
      root      6453  0.0  0.3 678504 14756 pts/0    Sl+  19:24   0:00 guacd -f -Ldebug
      root      6457  0.1  0.9 628436 37176 pts/0    Sl   19:24   0:00 guacd -f -Ldebug
      root      6512  0.2  0.9 483508 38752 pts/0    Sl   19:31   0:00 guacd -f -Ldebug
      root      6620  5.0  0.9 679600 38748 pts/0    Sl   19:31   0:00 guacd -f -Ldebug
      root      6713  0.0  0.0  21540  1104 pts/2    S+   19:31   0:00 grep --color=auto guacd
      # cd /proc/6620/fd
      # ls
      0  1  10  11  12  13  14  15  16  17  2  3  4  5  6  7  8  9
      # ps aux | grep guacd
      root      6453  0.0  0.3 703092 14756 pts/0    Sl+  19:24   0:00 guacd -f -Ldebug
      root      6457  0.1  0.9 628436 37176 pts/0    Sl   19:24   0:00 guacd -f -Ldebug
      root      6512  0.1  0.9 483508 38752 pts/0    Sl   19:31   0:00 guacd -f -Ldebug
      root      6620  0.3  0.9 679600 38748 pts/0    Sl   19:31   0:00 guacd -f -Ldebug
      root      6720  1.2  0.9 761528 38804 pts/0    Sl   19:31   0:00 guacd -f -Ldebug
      root      6813  0.0  0.0  21540  1148 pts/2    S+   19:31   0:00 grep --color=auto guacd
      # cd /proc/6720/fd
      # ls
      0  1  10  11  12  13  14  15  16  17  18  19  2  20  3  4  5  6  7  8  9 

      This may cause libvncserver to fail using select() if the useless fd is larger than FD_SETSIZE

       

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            black_key luo
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: