-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't run daemonded on macOS #1390
Comments
I reproduce on Mac M1 mini. Changing the homepath doesn't help either. |
Apparently the original Workaround:
|
slipher
added a commit
to slipher/Daemon
that referenced
this issue
Dec 11, 2024
Somehow bind() has the same filename length limit from the 1970s and there is no alternative API that can use a longer name. Recent MacOS versions generate a long random path for TMPDIR, which causes a fatal error for daemonded - DaemonEngine#1390 (the server uses a slightly longer path than the client).
slipher
added a commit
to slipher/Daemon
that referenced
this issue
Dec 11, 2024
The default profile now generates a ~50-character-long $TMPDIR by default (I assume it must have been shorter before). The singleton socket path we generate for daemonded ends up too long for the `bind` or `connect` APIs. (The socket path for clients is slightly shorter and just sneaks under the limit.) Work around this by using the Mac-specific pthread_chdir_np API to thread-safely change the CWD to the directory with the socket, accessing it with a relative path, then resetting the current directory to what it was before. Fixes DaemonEngine#1390.
slipher
added a commit
to slipher/Daemon
that referenced
this issue
Dec 11, 2024
The default profile now generates a ~50-character-long $TMPDIR by default (I assume it must have been shorter before). The singleton socket path we generate for daemonded ends up too long for the `bind` or `connect` APIs. (The socket path for clients is slightly shorter and just sneaks under the limit.) Work around this by using the Mac-specific pthread_chdir_np API to thread-safely change the CWD to the directory with the socket, accessing it with a relative path, then resetting the current directory to what it was before. Fixes DaemonEngine#1390.
slipher
added a commit
that referenced
this issue
Dec 13, 2024
Somehow bind() has the same filename length limit from the 1970s and there is no alternative API that can use a longer name. Recent MacOS versions generate a long random path for TMPDIR, which causes a fatal error for daemonded - #1390 (the server uses a slightly longer path than the client).
slipher
added a commit
that referenced
this issue
Dec 13, 2024
The default profile now generates a ~50-character-long $TMPDIR by default (I assume it must have been shorter before). The singleton socket path we generate for daemonded ends up too long for the `bind` or `connect` APIs. (The socket path for clients is slightly shorter and just sneaks under the limit.) Work around this by using the Mac-specific pthread_chdir_np API to thread-safely change the CWD to the directory with the socket, accessing it with a relative path, then resetting the current directory to what it was before. Fixes #1390.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Can't run
daemonded
on macOS:But
daemon-tty
works and can host a game.The text was updated successfully, but these errors were encountered: