logfile.cs

来自「berkeley db 4.6.21的源码。berkeley db是一个简单的数」· CS 代码 · 共 69 行

CS
69
字号
m4_ignore([dnl#include <sys/types.h>#include <sys/stat.h>#include <errno.h>#include <pthread.h>#include <stdarg.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <db.h>void *logfile_thread(void *);DB_ENV *dbenv;pthread_t ptid;int ret;])m4_indent([dnlintmain(int argc, char *argv[]){m4_cbold([dnl	/* Start a logfile removal thread. */	if ((ret = pthread_create(	    &ptid, NULL, logfile_thread, (void *)dbenv)) != 0) {		fprintf(stderr,		    "txnapp: failed spawning log file removal thread: %s\n",		    strerror(ret));		exit (1);	}])m4_ignore([return (0);])}m4_blankm4_cbold([dnlvoid *logfile_thread(void *arg){	DB_ENV *dbenv;	int ret;	char **begin, **list;m4_blank	dbenv = arg;	dbenv-__GT__errx(dbenv,	    "Log file removal thread: %lu", (u_long)pthread_self());m4_blank	/* Check once every 5 minutes. */	for (;; sleep(300)) {		/* Get the list of log files. */		if ((ret = dbenv-__GT__log_archive(dbenv, &list, DB_ARCH_ABS)) != 0) {			dbenv-__GT__err(dbenv, ret, "DB_ENV-__GT__log_archive");			exit (1);		}m4_blank		/* Remove the log files. */		if (list != NULL) {			for (begin = list; *list != NULL; ++list)				if ((ret = remove(*list)) != 0) {					dbenv-__GT__err(dbenv,					    ret, "remove %s", *list);					exit (1);				}			free (begin);		}	}	/* NOTREACHED */}])])

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?