mirror of
https://github.com/alsa-project/alsa-utils
synced 2024-11-10 00:05:42 +01:00
axfer: test: use memfd_create() for mapper-test
The mapper test program writes audio data frame to files, and read them from the files, then validate them. For the operations, usage of any in-memory file is good to shorten time of overall operations. This commit uses shm by memfd_create(). Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
parent
5ab26fbc14
commit
92004425fc
1 changed files with 14 additions and 3 deletions
|
@ -6,11 +6,20 @@
|
|||
//
|
||||
// Licensed under the terms of the GNU General Public License, version 2.
|
||||
|
||||
#include <aconfig.h>
|
||||
#ifdef HAVE_MEMFD_CREATE
|
||||
#define _GNU_SOURCE
|
||||
#endif
|
||||
|
||||
#include "../mapper.h"
|
||||
#include "../misc.h"
|
||||
|
||||
#include "generator.h"
|
||||
|
||||
#ifdef HAVE_MEMFD_CREATE
|
||||
#include <sys/mman.h>
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <stdbool.h>
|
||||
|
@ -230,7 +239,11 @@ static int test_mapper(struct mapper_trial *trial, snd_pcm_access_t access,
|
|||
for (i = 0; i < cntr_count; ++i) {
|
||||
const char *path = trial->paths[i];
|
||||
|
||||
#ifdef HAVE_MEMFD_CREATE
|
||||
cntr_fds[i] = memfd_create(path, 0);
|
||||
#else
|
||||
cntr_fds[i] = open(path, O_RDWR | O_CREAT | O_TRUNC, 0644);
|
||||
#endif
|
||||
if (cntr_fds[i] < 0) {
|
||||
err = -errno;
|
||||
goto end;
|
||||
|
@ -255,10 +268,8 @@ static int test_mapper(struct mapper_trial *trial, snd_pcm_access_t access,
|
|||
frames_per_second, frames_per_buffer, check_buffer,
|
||||
frame_count, cntr_fds, cntr_count);
|
||||
end:
|
||||
for (i = 0; i < cntr_count; ++i) {
|
||||
unlink(trial->paths[i]);
|
||||
for (i = 0; i < cntr_count; ++i)
|
||||
close(cntr_fds[i]);
|
||||
}
|
||||
|
||||
free(cntr_fds);
|
||||
|
||||
|
|
Loading…
Reference in a new issue