From: Andre Noll Date: Sun, 6 Nov 2011 11:06:25 +0000 (+0100) Subject: Merge branch 't/t0004' X-Git-Tag: v0.4.9~12 X-Git-Url: http://git.tuebingen.mpg.de/?a=commitdiff_plain;h=e1f3c04146bff24c242101bb446a2528ee45214a;hp=--cc;p=paraslash.git Merge branch 't/t0004' --- e1f3c04146bff24c242101bb446a2528ee45214a diff --cc NEWS index 3a702729,6db72253..f50ffa3b --- a/NEWS +++ b/NEWS @@@ -9,8 -9,6 +9,10 @@@ - Shared memory areas are no longer restricted to 64K. We now detect the maximal size of a shared memory area at runtime. - cleanup of the internal uptime API. + - para_server prefaults the mmapped audio file to avoid + delays on slow media. ++ - A new test for the test-suite that exercises the ++ communication between para_server and para_audiod. -------------------------------------- 0.4.8 (2011-08-19) "nested assignment" diff --cc server.c index 120fea25,1e45eb36..0cfac607 --- a/server.c +++ b/server.c @@@ -512,17 -503,18 +507,18 @@@ static void server_init(int argc, char */ para_sigaction(SIGUSR1, SIG_IGN); /* - * We have to install a SIGCHLD handler before the afs process is being - * forked off. Otherwise, para_server does not notice if afs dies before - * the SIGCHLD handler has been installed by init_signal_task() below. + * We have to block SIGCHLD before the afs process is being forked off. + * Otherwise, para_server does not notice if afs dies before the + * SIGCHLD handler has been installed for the parent process by + * init_signal_task() below. */ - para_sigaction(SIGCHLD, tmp_sigchld_handler); + para_block_signal(SIGCHLD); PARA_NOTICE_LOG("initializing the audio file selector\n"); - afs_socket = init_afs(); + afs_socket = init_afs(argc, argv); init_signal_task(); + para_unblock_signal(SIGCHLD); PARA_NOTICE_LOG("initializing virtual streaming system\n"); init_vss_task(afs_socket); - init_server_command_task(argc, argv); PARA_NOTICE_LOG("server init complete\n"); }