Caching debug messages
This commit is contained in:
		@@ -73,6 +73,7 @@ int cache_process() {
 | 
			
		||||
        for (int i = 0; i < FILE_CACHE_SIZE; i++) {
 | 
			
		||||
            if (cache[i].filename[0] != 0 && cache[i].meta.etag[0] == 0 && !cache[i].is_updating) {
 | 
			
		||||
                cache[i].is_updating = 1;
 | 
			
		||||
                fprintf(stdout, "Hashing file '%s'...\n", cache[i].filename);
 | 
			
		||||
                SHA1_Init(&ctx);
 | 
			
		||||
                file = fopen(cache[i].filename, "rb");
 | 
			
		||||
                compress = strncmp(cache[i].meta.type, "text/", 5) == 0 ||
 | 
			
		||||
@@ -97,10 +98,11 @@ int cache_process() {
 | 
			
		||||
                    }
 | 
			
		||||
                    buf[strlen(rel_path)] = 0;
 | 
			
		||||
                    sprintf(filename_comp, "%.*s/.necronda-server/cache/%s.z", cache[i].webroot_len, cache[i].filename, buf);
 | 
			
		||||
                    fprintf(stdout, "Compressing file '%s'...\n", cache[i].filename);
 | 
			
		||||
                    comp_file = fopen(filename_comp, "wb");
 | 
			
		||||
                    if (comp_file == NULL) {
 | 
			
		||||
                        compress = 0;
 | 
			
		||||
                        fprintf(stderr, ERR_STR "Unable to open cache file: %s" CLR_STR "\n", strerror(errno));
 | 
			
		||||
                        fprintf(stderr, ERR_STR "Unable to open cached file: %s" CLR_STR "\n", strerror(errno));
 | 
			
		||||
                    } else {
 | 
			
		||||
                        strm.zalloc = Z_NULL;
 | 
			
		||||
                        strm.zfree = Z_NULL;
 | 
			
		||||
@@ -131,6 +133,7 @@ int cache_process() {
 | 
			
		||||
                if (compress) {
 | 
			
		||||
                    deflateEnd(&strm);
 | 
			
		||||
                    fclose(comp_file);
 | 
			
		||||
                    fprintf(stdout, "Finished compressing file '%s'\n", cache[i].filename);
 | 
			
		||||
                    strcpy(cache[i].meta.filename_comp, filename_comp);
 | 
			
		||||
                } else {
 | 
			
		||||
                    memset(cache[i].meta.filename_comp, 0, sizeof(cache[i].meta.filename_comp));
 | 
			
		||||
@@ -141,12 +144,14 @@ int cache_process() {
 | 
			
		||||
                    sprintf(cache[i].meta.etag + j * 2, "%02x", hash[j]);
 | 
			
		||||
                }
 | 
			
		||||
                fclose(file);
 | 
			
		||||
                fprintf(stdout, "Finished hashing file '%s'\n", cache[i].filename);
 | 
			
		||||
                cache[i].is_updating = 0;
 | 
			
		||||
                cache_changed = 1;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (cache_changed) {
 | 
			
		||||
            cache_changed = 0;
 | 
			
		||||
            cache_file = fopen("/var/necronda-server/cache", "wb");
 | 
			
		||||
            fwrite(cache, sizeof(cache_entry), FILE_CACHE_SIZE, cache_file);
 | 
			
		||||
            fclose(cache_file);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user