summaryrefslogtreecommitdiffstats
path: root/server.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2009-11-11 08:00:42 +0000
committerNicholas Marriott <nicm@openbsd.org>2009-11-11 08:00:42 +0000
commit2756437f4bd1c0def6877e3742f018b3fbb721da (patch)
tree77a50265b96bff13535689934a1c597487d96406 /server.c
parent15b9946a4094d22f3bde6ef5af67fbb526807329 (diff)
Only need to chmod +x or -x the socket when a client is created, lost or
attached, rather than every event loop.
Diffstat (limited to 'server.c')
-rw-r--r--server.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/server.c b/server.c
index 09618d25..209fcd07 100644
--- a/server.c
+++ b/server.c
@@ -59,7 +59,6 @@ void server_loop(void);
int server_should_shutdown(void);
void server_send_shutdown(void);
void server_clean_dead(void);
-int server_update_socket(void);
void server_accept_callback(int, short, void *);
void server_signal_callback(int, short, void *);
void server_child_signal(void);
@@ -105,6 +104,8 @@ server_create_socket(void)
if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1)
fatal("fcntl failed");
+ server_update_socket();
+
return (fd);
}
@@ -208,8 +209,6 @@ void
server_loop(void)
{
while (!server_should_shutdown()) {
- server_update_socket();
-
event_loop(EVLOOP_ONCE);
server_window_loop();
@@ -288,7 +287,7 @@ server_clean_dead(void)
}
/* Update socket execute permissions based on whether sessions are attached. */
-int
+void
server_update_socket(void)
{
struct session *s;
@@ -312,8 +311,6 @@ server_update_socket(void)
else
chmod(socket_path, S_IRUSR|S_IWUSR);
}
-
- return (n);
}
/* Callback for server socket. */