From: Andre Noll Date: Thu, 5 Nov 2009 23:27:40 +0000 (+0100) Subject: Merge branch 'maint' X-Git-Tag: v0.4.0~4 X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=commitdiff_plain;h=d1f203ea37e3b3ca0ac6db268331961caa47d705;hp=a4eb244ecdf9aaa0f167b3c91d3e276bde99d681 Merge branch 'maint' Conflicts: server.c --- diff --git a/server.c b/server.c index be97516f..f7aad898 100644 --- a/server.c +++ b/server.c @@ -439,19 +439,21 @@ err: static int init_afs(void) { int ret, afs_server_socket[2]; + pid_t afs_pid; ret = socketpair(PF_UNIX, SOCK_DGRAM, 0, afs_server_socket); if (ret < 0) exit(EXIT_FAILURE); get_random_bytes_or_die((unsigned char *)&afs_socket_cookie, sizeof(afs_socket_cookie)); - mmd->afs_pid = fork(); - if (mmd->afs_pid < 0) + afs_pid = fork(); + if (afs_pid < 0) exit(EXIT_FAILURE); - if (!mmd->afs_pid) { /* child (afs) */ + if (afs_pid == 0) { /* child (afs) */ close(afs_server_socket[0]); afs_init(afs_socket_cookie, afs_server_socket[1]); } + mmd->afs_pid = afs_pid; close(afs_server_socket[1]); ret = mark_fd_nonblocking(afs_server_socket[0]); if (ret < 0)