exit(EXIT_FAILURE);
}
server_socket = socket_fd;
+ ret = mark_fd_nonblock(server_socket);
+ if (ret < 0)
+ exit(EXIT_FAILURE);
PARA_INFO_LOG("server_socket: %d, afs_socket_cookie: %u\n",
server_socket, (unsigned) cookie);
current_play_mode = init_admissible_files();
afs_pid = fork();
if (afs_pid < 0)
exit(EXIT_FAILURE);
- if (!afs_pid) /* child (afs) */
+ if (!afs_pid) { /* child (afs) */
+ close(afs_server_socket[0]);
afs_init(afs_socket_cookie, afs_server_socket[1]);
+ }
close(afs_server_socket[1]);
afs_socket = afs_server_socket[0];
+ ret = mark_fd_nonblock(afs_socket);
+ if (ret < 0)
+ exit(EXIT_FAILURE);
+ add_close_on_fork_list(afs_socket);
PARA_INFO_LOG("afs_socket: %d, afs_socket_cookie: %u\n", afs_socket,
(unsigned) afs_socket_cookie);
}