summaryrefslogtreecommitdiffstats
path: root/src/polypcore/pid.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2006-04-22 20:04:06 +0000
committerLennart Poettering <lennart@poettering.net>2006-04-22 20:04:06 +0000
commitb0059c679d1beb3ee2d45b689d3d52d051ad795d (patch)
tree87783bbd12092d1e14f77f759735a7039cda6641 /src/polypcore/pid.c
parent0cc2e04157bd4fc6838b3690bd6387fcb3ee4587 (diff)
try to remove the directory where the PID file resides in after removing the PID file
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@771 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/polypcore/pid.c')
-rw-r--r--src/polypcore/pid.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/polypcore/pid.c b/src/polypcore/pid.c
index 374b5506..b258290b 100644
--- a/src/polypcore/pid.c
+++ b/src/polypcore/pid.c
@@ -41,6 +41,7 @@
#include <polypcore/util.h>
#include <polypcore/log.h>
+#include <polypcore/xmalloc.h>
#include "pid.h"
@@ -191,6 +192,7 @@ int pa_pid_file_remove(void) {
char fn[PATH_MAX];
int ret = -1;
pid_t pid;
+ char *p;
pa_runtime_path("pid", fn, sizeof(fn));
@@ -223,6 +225,11 @@ int pa_pid_file_remove(void) {
goto fail;
}
+ if ((p = pa_parent_dir(fn))) {
+ rmdir(p);
+ pa_xfree(p);
+ }
+
ret = 0;
fail: