aboutsummaryrefslogtreecommitdiffstats
path: root/src/directory.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/directory.c')
-rw-r--r--src/directory.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/directory.c b/src/directory.c
index 7ecc5bd62..17d91631c 100644
--- a/src/directory.c
+++ b/src/directory.c
@@ -29,6 +29,7 @@
#include "listen.h"
#include "interface.h"
#include "volume.h"
+#include "mpd_types.h"
#include <string.h>
#include <sys/types.h>
@@ -72,6 +73,8 @@ char directorydb[MAXPATHLEN+1];
int directory_updatePid = 0;
+mpd_uint16 directory_updateJobId = 0;
+
DirectoryList * newDirectoryList();
int addToDirectory(Directory * directory, char * shortname, char * name);
@@ -89,7 +92,7 @@ void deleteEmptyDirectoriesInDirectory(Directory * directory);
int addSubDirectoryToDirectory(Directory * directory, char * shortname, char * name);
int isUpdatingDB() {
- if(directory_updatePid>0) return 1;
+ if(directory_updatePid>0) return directory_updateJobId;
return 0;
}
@@ -143,7 +146,11 @@ int updateInit(FILE * fp) {
return -1;
}
- DEBUG("updateInit: fork()'d update child\n");
+ directory_updateJobId++;
+ if(directory_updateJobId > 1<<15) directory_updateJobId = 1;
+ DEBUG("updateInit: fork()'d update child for update job id %i\n",
+ (int)directory_updateJobId);
+ myfprintf(fp,"updating_db: %i\n",(int)directory_updateJobId);
return 0;
}