From 8cda1fe3e2072aba21cfa9f90d707b029c07773c Mon Sep 17 00:00:00 2001 From: Marcin Lewandowski Date: Thu, 30 Jun 2016 12:38:14 +0200 Subject: [PATCH] core-util: log error if we hit file descriptors limit --- src/pulsecore/core-util.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c index 350f35be5..873f86a0e 100644 --- a/src/pulsecore/core-util.c +++ b/src/pulsecore/core-util.c @@ -3493,6 +3493,16 @@ int pa_pipe_cloexec(int pipefd[2]) { if ((r = pipe2(pipefd, O_CLOEXEC)) >= 0) goto finish; + if (errno == EMFILE) { + pa_log_error("The per-process limit on the number of open file descriptors has been reached."); + return r; + } + + if (errno == ENFILE) { + pa_log_error("The system-wide limit on the total number of open files has been reached."); + return r; + } + if (errno != EINVAL && errno != ENOSYS) return r; @@ -3501,6 +3511,16 @@ int pa_pipe_cloexec(int pipefd[2]) { if ((r = pipe(pipefd)) >= 0) goto finish; + if (errno == EMFILE) { + pa_log_error("The per-process limit on the number of open file descriptors has been reached."); + return r; + } + + if (errno == ENFILE) { + pa_log_error("The system-wide limit on the total number of open files has been reached."); + return r; + } + /* return error */ return r;