From 073dff1ba13da4770627ba8eb3f9fdd2342fad3e Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 5 Feb 2003 11:00:16 +0000 Subject: [PATCH] Commented out FD_CLOEXEC fcntl() calls --- src/control/control_hw.c | 5 +++++ src/hwdep/hwdep_hw.c | 5 +++++ src/pcm/pcm.c | 31 +++++++++++++++++++++++++++++++ src/pcm/pcm_hw.c | 5 +++++ src/rawmidi/rawmidi_hw.c | 5 +++++ src/seq/seq_hw.c | 5 +++++ src/timer/timer_hw.c | 5 +++++ 7 files changed, 61 insertions(+) diff --git a/src/control/control_hw.c b/src/control/control_hw.c index 90d2e1ea..6f843887 100644 --- a/src/control/control_hw.c +++ b/src/control/control_hw.c @@ -315,12 +315,17 @@ int snd_ctl_hw_open(snd_ctl_t **handle, const char *name, int card, int mode) if ((fd = open(filename, O_RDWR)) < 0) return -errno; } +#if 0 + /* + * this is bogus, an application have to care about open filedescriptors + */ if (fcntl(fd, F_SETFD, FD_CLOEXEC) != 0) { SYSERR("fcntl FD_CLOEXEC failed"); err = -errno; close(fd); return err; } +#endif if (ioctl(fd, SNDRV_CTL_IOCTL_PVERSION, &ver) < 0) { err = -errno; close(fd); diff --git a/src/hwdep/hwdep_hw.c b/src/hwdep/hwdep_hw.c index 24ec8689..81a1d643 100644 --- a/src/hwdep/hwdep_hw.c +++ b/src/hwdep/hwdep_hw.c @@ -120,12 +120,17 @@ int snd_hwdep_hw_open(snd_hwdep_t **handle, const char *name, int card, int devi if ((fd = open(filename, mode)) < 0) return -errno; } +#if 0 + /* + * this is bogus, an application have to care about open filedescriptors + */ if (fcntl(fd, F_SETFD, FD_CLOEXEC) != 0) { SYSERR("fcntl FD_CLOEXEC failed"); ret = -errno; close(fd); return ret; } +#endif if (ioctl(fd, SNDRV_HWDEP_IOCTL_PVERSION, &ver) < 0) { ret = -errno; close(fd); diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c index 7241c037..b0a894cd 100644 --- a/src/pcm/pcm.c +++ b/src/pcm/pcm.c @@ -4988,6 +4988,37 @@ void snd_pcm_sw_params_copy(snd_pcm_sw_params_t *dst, const snd_pcm_sw_params_t *dst = *src; } +/** + * \brief Set boundary for ring pointers inside a software configuration container + * \param pcm PCM handle + * \param params Software configuration container + * \param val boundary in frames + * \return 0 otherwise a negative error code + */ +#ifndef DOXYGEN +int snd_pcm_sw_params_set_boundary(snd_pcm_t *pcm ATTRIBUTE_UNUSED, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val) +#else +int snd_pcm_sw_params_set_boundary(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val) +#endif +{ + assert(pcm && params); + params->boundary = val; + return 0; +} + +/** + * \brief Get boundary for ring pointers from a software configuration container + * \param params Software configuration container + * \param val Returned boundary in frames + * \return 0 otherwise a negative error code + */ +int snd_pcm_sw_params_get_boundary(const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val) +{ + assert(params); + *val = params->boundary; + return 0; +} + /** * \brief (DEPRECATED) Set start mode inside a software configuration container * \param pcm PCM handle diff --git a/src/pcm/pcm_hw.c b/src/pcm/pcm_hw.c index 9233a1e1..0e34f45a 100644 --- a/src/pcm/pcm_hw.c +++ b/src/pcm/pcm_hw.c @@ -845,12 +845,17 @@ int snd_pcm_hw_open_fd(snd_pcm_t **pcmp, const char *name, if (fmode & O_ASYNC) mode |= SND_PCM_ASYNC; +#if 0 + /* + * this is bogus, an application have to care about open filedescriptors + */ if (fcntl(fd, F_SETFD, FD_CLOEXEC) != 0) { ret = -errno; SYSERR("fcntl FD_CLOEXEC failed"); close(fd); return ret; } +#endif if (ioctl(fd, SNDRV_PCM_IOCTL_PVERSION, &ver) < 0) { ret = -errno; diff --git a/src/rawmidi/rawmidi_hw.c b/src/rawmidi/rawmidi_hw.c index f18b0042..96421f61 100644 --- a/src/rawmidi/rawmidi_hw.c +++ b/src/rawmidi/rawmidi_hw.c @@ -228,12 +228,17 @@ int snd_rawmidi_hw_open(snd_rawmidi_t **inputp, snd_rawmidi_t **outputp, return -errno; } } +#if 0 + /* + * this is bogus, an application have to care about open filedescriptors + */ if (fcntl(fd, F_SETFD, FD_CLOEXEC) != 0) { SYSERR("fcntl FD_CLOEXEC failed"); ret = -errno; close(fd); return ret; } +#endif if (ioctl(fd, SNDRV_RAWMIDI_IOCTL_PVERSION, &ver) < 0) { ret = -errno; SYSERR("SNDRV_RAWMIDI_IOCTL_PVERSION failed"); diff --git a/src/seq/seq_hw.c b/src/seq/seq_hw.c index 7d330d7e..a4506395 100644 --- a/src/seq/seq_hw.c +++ b/src/seq/seq_hw.c @@ -447,12 +447,17 @@ int snd_seq_hw_open(snd_seq_t **handle, const char *name, int streams, int mode) return -errno; } } +#if 0 + /* + * this is bogus, an application have to care about open filedescriptors + */ if (fcntl(fd, F_SETFD, FD_CLOEXEC) != 0) { SYSERR("fcntl FD_CLOEXEC failed"); ret = -errno; close(fd); return ret; } +#endif if (ioctl(fd, SNDRV_SEQ_IOCTL_PVERSION, &ver) < 0) { SYSERR("SNDRV_SEQ_IOCTL_PVERSION failed"); ret = -errno; diff --git a/src/timer/timer_hw.c b/src/timer/timer_hw.c index 82d03cf1..0fc540bd 100644 --- a/src/timer/timer_hw.c +++ b/src/timer/timer_hw.c @@ -172,12 +172,17 @@ int snd_timer_hw_open(snd_timer_t **handle, const char *name, int dev_class, int tmode |= O_NONBLOCK; if ((fd = open(SNDRV_FILE_TIMER, tmode)) < 0) return -errno; +#if 0 + /* + * this is bogus, an application have to care about open filedescriptors + */ if (fcntl(fd, F_SETFD, FD_CLOEXEC) != 0) { SYSERR("fcntl FD_CLOEXEC failed"); ret = -errno; close(fd); return ret; } +#endif if (ioctl(fd, SNDRV_TIMER_IOCTL_PVERSION, &ver) < 0) { ret = -errno; close(fd); -- 2.47.1