ctdb-daemon: Remove ctdb_fork_with_logging()
authorAmitay Isaacs <amitay@gmail.com>
Wed, 18 Dec 2013 03:09:52 +0000 (14:09 +1100)
committerMartin Schwenke <martins@samba.org>
Thu, 16 Jan 2014 03:05:35 +0000 (04:05 +0100)
This function has been replaced with ctdb_vfork_with_logging().

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Thu Jan 16 04:05:35 CET 2014 on sn-devel-104

ctdb/include/ctdb_private.h
ctdb/server/ctdb_logging.c

index 096ed424b2c6b106c6ca64ddebae48ba97c8ed6c..5c18d87474fb6584d157668d922125d012c91e94 100644 (file)
@@ -1456,11 +1456,6 @@ int32_t ctdb_control_get_log(struct ctdb_context *ctdb, TDB_DATA addr);
 int32_t ctdb_control_clear_log(struct ctdb_context *ctdb);
 void ctdb_log_ringbuffer_free(void);
 
-struct ctdb_log_state *ctdb_fork_with_logging(TALLOC_CTX *mem_ctx,
-                                             struct ctdb_context *ctdb,
-                                             const char *log_prefix,
-                                             void (*logfn)(const char *, uint16_t, void *),
-                                             void *logfn_private, pid_t *pid);
 struct ctdb_log_state *ctdb_vfork_with_logging(TALLOC_CTX *mem_ctx,
                                               struct ctdb_context *ctdb,
                                               const char *log_prefix,
index 38d7bff5d86ed12a0b6b3c8ba635a0443fd28fe9..d33419177bb9b04985c0f2d21f217c4e2251001e 100644 (file)
@@ -468,66 +468,6 @@ static int log_context_destructor(struct ctdb_log_state *log)
        return 0;
 }
 
-/*
-   fork(), redirecting child output to logging and specified callback.
-*/
-struct ctdb_log_state *ctdb_fork_with_logging(TALLOC_CTX *mem_ctx,
-                                             struct ctdb_context *ctdb,
-                                             const char *log_prefix,
-                                             void (*logfn)(const char *, uint16_t, void *),
-                                             void *logfn_private, pid_t *pid)
-{
-       int p[2];
-       struct ctdb_log_state *log;
-       struct tevent_fd *fde;
-
-       log = talloc_zero(mem_ctx, struct ctdb_log_state);
-       CTDB_NO_MEMORY_NULL(ctdb, log);
-       log->ctdb = ctdb;
-       log->prefix = log_prefix;
-       log->logfn = logfn;
-       log->logfn_private = (void *)logfn_private;
-
-       if (pipe(p) != 0) {
-               DEBUG(DEBUG_ERR,(__location__ " Failed to setup for child logging pipe\n"));
-               goto free_log;
-       }
-
-       *pid = ctdb_fork(ctdb);
-
-       /* Child? */
-       if (*pid == 0) {
-               close(STDOUT_FILENO);
-               close(STDERR_FILENO);
-               dup2(p[1], STDOUT_FILENO);
-               dup2(p[1], STDERR_FILENO);
-               close(p[0]);
-               close(p[1]);
-               return log;
-       }
-       close(p[1]);
-
-       /* We failed? */
-       if (*pid < 0) {
-               DEBUG(DEBUG_ERR, (__location__ " fork failed for child process\n"));
-               close(p[0]);
-               goto free_log;
-       }
-
-       log->pfd = p[0];
-       set_close_on_exec(log->pfd);
-       talloc_set_destructor(log, log_context_destructor);
-       fde = event_add_fd(ctdb->ev, log, log->pfd,
-                          EVENT_FD_READ, ctdb_log_handler, log);
-       tevent_fd_set_auto_close(fde);
-
-       return log;
-
-free_log:
-       talloc_free(log);
-       return NULL;
-}
-
 /*
  * vfork + exec, redirecting child output to logging and specified callback.
  */