FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

unlink stale unix socket before binding · Issue #425 · python/asyncio · GitHub

This repository was archived by the owner on Nov 23, 2017. It is now read-only.

Repository navigation

This repository was archived by the owner on Nov 23, 2017. It is now read-only.

unlink stale unix socket before binding #425

Closed

Description

loop.create_unix_server() should remove socket at that path if it exists. Every application that wants to use unix socket server should do that. Why not to add code that removes unix socket before binding ?

It should:

  1. Check if it is exists and that is UNIX socket (i.e. do os.stat())
  2. raise exception if removal failed, raise exception if this path exists but is not unix socket.
  3. not even try to remove if path starts with zero byte (i.e. abstract unix socket)

Activity

  1. gjcarneiro commented on Sep 22, 2016

    What if you are trying, by mistake, to start a second instance of a server, with the previous one still running? We want to catch that mistake, instead of silently removing the existing socket.

  2. socketpair commented on Sep 22, 2016

    Author

    All software that I see unlinks stale socket unconditionally. Can you show any one that checks for the other instance ? Also, seems the kernel checks if address already in use during bind() even when FS node is removed.

  3. 1st1 commented on Oct 5, 2016

    Member

    +1 one to do this. @socketpair can you quickly make a PR (so that we can fix this before 3.6b2)?

  4. 1st1 commented on Oct 5, 2016

    Member

    Although there is another approach: maybe the correct thing to do is to remove the socket file after we close the unix server? How Twisted/Tornado implement this?

  5. socketpair commented on Oct 6, 2016

    Author
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions


      Back | FazBrowse Home | New Git URL