| @ -1,2 +1,4 @@ | |||||
| obj/* | obj/* | ||||
| bin/* | bin/* | ||||
| data/simpledb/* | |||||
| data/simpledb/blocks/* | |||||
| @ -1 +0,0 @@ | |||||
| 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f 0 | |||||
| @ -2,6 +2,6 @@ | |||||
| #define __MY_DAEMONIZE_H__ | #define __MY_DAEMONIZE_H__ | ||||
| void daemonize(); | void daemonize(); | ||||
| void log_signal_message(char*, char*); | |||||
| void log_signal_message(char*); | |||||
| #endif | #endif | ||||
| @ -8,9 +8,9 @@ | |||||
| #include <sys/types.h> | #include <sys/types.h> | ||||
| #include <sys/stat.h> | #include <sys/stat.h> | ||||
| #define RUNNING_DIR "/tmp" | |||||
| #define LOCK_FILE "/tmp/daemond.lock" | |||||
| #define LOG_FILE "/tmp/daemond.log" | |||||
| #define RUNNING_DIR "tmp" | |||||
| #define LOCK_FILE "tmp/daemond.lock" | |||||
| #define LOG_FILE "tmp/daemond.log" | |||||
| /* | /* | ||||
| * daemon.c | * daemon.c | ||||
| @ -33,9 +33,9 @@ | |||||
| * MA 02110-1301, USA. | * MA 02110-1301, USA. | ||||
| */ | */ | ||||
| void log_signal_message(char *filename,char *message){ | |||||
| void log_signal_message(char *message){ | |||||
| FILE *logfile; | FILE *logfile; | ||||
| logfile = fopen(filename,"a"); | |||||
| logfile = fopen(LOG_FILE,"a"); | |||||
| if(!logfile) return; | if(!logfile) return; | ||||
| fprintf(logfile,"%s",message); | fprintf(logfile,"%s",message); | ||||
| fclose(logfile); | fclose(logfile); | ||||
| @ -70,8 +70,8 @@ void daemonize(){ | |||||
| umask(022); | umask(022); | ||||
| lfp = open(LOCK_FILE,O_RDWR|O_CREAT,0640); | lfp = open(LOCK_FILE,O_RDWR|O_CREAT,0640); | ||||
| if(lfp < 0) exit(1); | |||||
| if(lockf(lfp,F_TLOCK,0) < 0) exit(1); | |||||
| if(lfp < 0) { log_signal_message("daemond is allready running !\n");exit(1); } | |||||
| if(lockf(lfp,F_TLOCK,0) < 0) { log_signal_message("daemond is allready running\n");exit(1); } | |||||
| sprintf(str,"%d\n",getpid()); | sprintf(str,"%d\n",getpid()); | ||||
| write(lfp,str,strlen(str)); | write(lfp,str,strlen(str)); | ||||
| @ -27,6 +27,9 @@ FILE* blockchain_fd = NULL; | |||||
| * Les outils | * Les outils | ||||
| */ | */ | ||||
| static void signal_handler(int sig){ | static void signal_handler(int sig){ | ||||
| char msg[200]; | |||||
| sprintf(msg,"process %d signal %d trapped\n", getpid(), sig); | |||||
| log_signal_message(msg); | |||||
| switch(sig){ | switch(sig){ | ||||
| case SIGUSR1: | case SIGUSR1: | ||||
| // signal USR1 | // signal USR1 | ||||
| @ -16,7 +16,7 @@ | |||||
| static void signal_handler(int sig){ | static void signal_handler(int sig){ | ||||
| char msg[200]; | char msg[200]; | ||||
| sprintf(msg,"process %d signal %d trapped\n", getpid(), sig); | sprintf(msg,"process %d signal %d trapped\n", getpid(), sig); | ||||
| log_signal_message("/tmp/daemonize.log", msg); | |||||
| log_signal_message(msg); | |||||
| switch(sig){ | switch(sig){ | ||||
| case SIGUSR1: | case SIGUSR1: | ||||
| @ -1,27 +0,0 @@ | |||||
| CC=gcc | |||||
| IFLAGS=-I /usr/local/include/btc | |||||
| CFLAGS=-g | |||||
| LDFLAGS=-lbtc | |||||
| OBJDIR=obj | |||||
| BINDIR=bin | |||||
| SRCDIR=src | |||||
| all: $(OBJDIR) $(BINDIR) $(EXE) | |||||
| $(OBJDIR): | |||||
| mkdir -p $(OBJDIR) | |||||
| $(BINDIR): | |||||
| mkdir -p $(BINDIR) | |||||
| $(OBJDIR)/%.o : $(SRCDIR)/%.c | $(OBJDIR) $(BINDIR) | |||||
| $(CC) $(IFLAGS) -o $@ -c $< $(CFLAGS) | |||||
| .PHONY: clean mrproper $(EXE) | |||||
| clean: | |||||
| rm -f $(OBJDIR)/*.o | |||||
| mrproper : clean | |||||
| rm -rf $(OBJDIR) | |||||
| rm -rf $(BINDIR) | |||||
| @ -0,0 +1 @@ | |||||
| process 11096 signal 15 trapped | |||||