mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-29 05:40:25 -04:00
More better solution for close all handles in server_job()
This commit is contained in:
parent
a8bed129d1
commit
0fc787b69e
1 changed files with 8 additions and 0 deletions
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue