More better solution for close all handles in server_job()

This commit is contained in:
Jaroslav Kysela 2004-01-09 18:32:05 +00:00
parent a8bed129d1
commit 0fc787b69e

View file

@ -199,8 +199,10 @@ static int make_local_socket(const char *filename, int server, mode_t ipc_perm)
} }
#if 0 #if 0
#define SERVER_JOB_DEBUG
#define server_printf(fmt, args...) printf(fmt, ##args) #define server_printf(fmt, args...) printf(fmt, ##args)
#else #else
#undef SERVER_JOB_DEBUG
#define server_printf(fmt, args...) /* nothing */ #define server_printf(fmt, args...) /* nothing */
#endif #endif
@ -212,7 +214,11 @@ static void server_job(snd_pcm_direct_t *dmix)
/* close all files to free resources */ /* close all files to free resources */
i = sysconf(_SC_OPEN_MAX); i = sysconf(_SC_OPEN_MAX);
#ifdef SERVER_JOB_DEBUG
while (--i >= 3) { while (--i >= 3) {
#else
while (--i >= 0) {
#endif
if (i != dmix->server_fd && i != dmix->hw_fd) if (i != dmix->server_fd && i != dmix->hw_fd)
close(i); close(i);
} }
@ -291,7 +297,9 @@ static void server_job(snd_pcm_direct_t *dmix)
snd_pcm_direct_shm_discard(dmix); snd_pcm_direct_shm_discard(dmix);
snd_pcm_direct_semaphore_discard(dmix); snd_pcm_direct_semaphore_discard(dmix);
server_printf("DIRECT SERVER EXIT\n"); server_printf("DIRECT SERVER EXIT\n");
#ifdef SERVER_JOB_DEBUG
close(0); close(1); close(2); close(0); close(1); close(2);
#endif
_exit(EXIT_SUCCESS); _exit(EXIT_SUCCESS);
} }