diff --git a/src/Makefile.in b/src/Makefile.in index ca4979e..02772c0 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -11,6 +11,8 @@ TOP_HEADERS = sf_types.h sf_global.h sf_define.h sf_nio.h sf_service.h \ sf_binlog_index.h sf_file_writer.h sf_binlog_writer.h \ sf_ordered_writer.h sf_buffered_writer.h sf_iov.h +IDEMP_COMMON_HEADER = idempotency/common/idempotency_types.h + IDEMP_SERVER_HEADER = idempotency/server/server_types.h \ idempotency/server/server_channel.h \ idempotency/server/request_htable.h \ @@ -55,11 +57,13 @@ libserverframe.so: $(SHARED_OBJS) install: mkdir -p $(TARGET_LIB) mkdir -p $(TARGET_PREFIX)/lib + mkdir -p $(TARGET_PREFIX)/include/sf/idempotency/common mkdir -p $(TARGET_PREFIX)/include/sf/idempotency/server mkdir -p $(TARGET_PREFIX)/include/sf/idempotency/client install -m 755 $(ALL_LIBS) $(TARGET_LIB) cp -f $(TOP_HEADERS) $(TARGET_PREFIX)/include/sf + cp -f $(IDEMP_COMMON_HEADER) $(TARGET_PREFIX)/include/sf/idempotency/common cp -f $(IDEMP_SERVER_HEADER) $(TARGET_PREFIX)/include/sf/idempotency/server cp -f $(IDEMP_CLIENT_HEADER) $(TARGET_PREFIX)/include/sf/idempotency/client diff --git a/src/sf_binlog_index.c b/src/sf_binlog_index.c index 5ad3e8f..0e878ff 100644 --- a/src/sf_binlog_index.c +++ b/src/sf_binlog_index.c @@ -175,7 +175,9 @@ static int save(SFBinlogIndexContext *ctx, const char *filename) int i; int result; - if ((fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0644)) < 0) { + if ((fd=open(filename, O_WRONLY | O_CREAT | O_TRUNC | + O_CLOEXEC, 0644)) < 0) + { result = errno != 0 ? errno : EIO; logError("file: "__FILE__", line: %d, " "open file %s fail, errno: %d, error info: %s", diff --git a/src/sf_buffered_writer.h b/src/sf_buffered_writer.h index 86ad71b..ef32de7 100644 --- a/src/sf_buffered_writer.h +++ b/src/sf_buffered_writer.h @@ -43,7 +43,8 @@ extern "C" { int result; writer->filename = filename; - writer->fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0644); + writer->fd = open(filename, O_WRONLY | O_CREAT | + O_TRUNC | O_CLOEXEC, 0644); if (writer->fd < 0) { result = errno != 0 ? errno : EIO; logError("file: "__FILE__", line: %d, " diff --git a/src/sf_file_writer.c b/src/sf_file_writer.c index e710f28..7bd73b5 100644 --- a/src/sf_file_writer.c +++ b/src/sf_file_writer.c @@ -166,8 +166,8 @@ static int open_writable_binlog(SFFileWriterInfo *writer) } GET_BINLOG_FILENAME(writer); - writer->file.fd = open(writer->file.name, - O_WRONLY | O_CREAT | O_APPEND, 0644); + writer->file.fd = open(writer->file.name, O_WRONLY | + O_CREAT | O_APPEND | O_CLOEXEC, 0644); if (writer->file.fd < 0) { logError("file: "__FILE__", line: %d, " "open file \"%s\" fail, " diff --git a/src/sf_service.c b/src/sf_service.c index a0ac841..0238387 100644 --- a/src/sf_service.c +++ b/src/sf_service.c @@ -332,11 +332,11 @@ static int _socket_server(const char *bind_addr, int port, int *sock) return result; } - if ((result=tcpsetserveropt(*sock, g_sf_global_vars.network_timeout)) != 0) { + if ((result=tcpsetserveropt(*sock, SF_G_NETWORK_TIMEOUT)) != 0) { return result; } - return 0; + return fd_set_cloexec(*sock); } int sf_socket_server_ex(SFContext *sf_context)