diff --git a/contrib/reload/Makefile.in b/contrib/reload/Makefile.in new file mode 100644 index 0000000..978ec2e --- /dev/null +++ b/contrib/reload/Makefile.in @@ -0,0 +1,38 @@ +SHELL = @SHELL@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +bindir = @bindir@ +sbindir = @sbindir@ +includedir = @includedir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +mandir = @mandir@ +datarootdir = @datarootdir@ +localstatedir = @localstatedir@ + +CC = @CC@ +CFLAGS = @CFLAGS@ @CPPFLAGS@ +DEFS = @defs@ +INCDIR = -I. -I.. -I../.. -I../../src -I../src @INCDIR@ @sql_includes@ +LIBDIR = -L. @LIBDIR@ @LDFLAGS@ -L../src +LIBS = @LIBS@ @sql_libs@ +RUNNING_USER = @RUNNING_USER@ +RUNNING_GROUP = `@id_bin@ -gn $(RUNNING_USER)` + +INSTALL = @INSTALL@ + +all: pilerreload + +pilerreload: pilerreload.c ../../src/libpiler.a + $(CC) $(CFLAGS) $(INCDIR) $(DEFS) -o $@ $< -lpiler $(LIBS) $(LIBDIR) + +install: + +clean: + rm -f pilerreload + +distclean: clean + rm -f Makefile diff --git a/contrib/reload/pilerreload.c b/contrib/reload/pilerreload.c new file mode 100644 index 0000000..c5aa7bc --- /dev/null +++ b/contrib/reload/pilerreload.c @@ -0,0 +1,53 @@ +/* + * pilerreload.c, SJ + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +extern char *optarg; +extern int optind; + +char *configfile = CONFIG_FILE; +struct __config cfg; + + +void fatal(char *s){ + printf("pilerctl: fatal: %s\n", s); + exit(1); +} + + +int main(int argc, char **argv){ + char buf[SMALLBUFSIZE]; + int pid; + FILE *f; + + cfg = read_config(CONFIG_FILE); + + f = fopen(cfg.pidfile, "r"); + if(!f) fatal("cannot open pidfile"); + + if(fgets(buf, sizeof(buf)-2, f) == NULL) fatal("cannot read pidfile"); + + fclose(f); + + pid = atoi(buf); + + if(pid > 1) kill(pid, SIGHUP); + + return 0; +} +