mirror of
https://github.com/octoleo/lsyncd.git
synced 2024-06-02 16:30:49 +00:00
splitted a header file
This commit is contained in:
parent
38dc3c1d2f
commit
ea0fce13e3
72
lsyncd.c
72
lsyncd.c
|
@ -9,8 +9,7 @@
|
||||||
* to the operating system needed for lsyncd operation. All high-level
|
* to the operating system needed for lsyncd operation. All high-level
|
||||||
* logic is coded (when feasable) into lsyncd.lua
|
* logic is coded (when feasable) into lsyncd.lua
|
||||||
*/
|
*/
|
||||||
#include "config.h"
|
#include "lsyncd.h"
|
||||||
#define LUA_USE_APICHECK 1
|
|
||||||
|
|
||||||
#ifdef HAVE_SYS_INOTIFY_H
|
#ifdef HAVE_SYS_INOTIFY_H
|
||||||
# include <sys/inotify.h>
|
# include <sys/inotify.h>
|
||||||
|
@ -40,23 +39,6 @@
|
||||||
#include <lualib.h>
|
#include <lualib.h>
|
||||||
#include <lauxlib.h>
|
#include <lauxlib.h>
|
||||||
|
|
||||||
#define time_after(a,b) ((long)(b) - (long)(a) < 0)
|
|
||||||
#define time_before(a,b) time_after(b,a)
|
|
||||||
#define time_after_eq(a,b) ((long)(a) - (long)(b) >= 0)
|
|
||||||
#define time_before_eq(a,b) time_after_eq(b,a)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Event types core sends to runner.
|
|
||||||
*/
|
|
||||||
enum event_type {
|
|
||||||
NONE = 0,
|
|
||||||
ATTRIB = 1,
|
|
||||||
MODIFY = 2,
|
|
||||||
CREATE = 3,
|
|
||||||
DELETE = 4,
|
|
||||||
MOVE = 5,
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Lua part of lsyncd if compiled into the binary.
|
* The Lua part of lsyncd if compiled into the binary.
|
||||||
*/
|
*/
|
||||||
|
@ -164,15 +146,6 @@ sig_handler(int sig)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* predeclerations -- see below
|
|
||||||
*/
|
|
||||||
static void * s_calloc(size_t nmemb, size_t size);
|
|
||||||
static void * s_malloc(size_t size);
|
|
||||||
static void * s_realloc(void *ptr, size_t size);
|
|
||||||
static char * s_strdup(const char *src);
|
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* Logging
|
* Logging
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
@ -265,18 +238,15 @@ add_logcat(const char *name, int priority)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Logs a string.
|
* Logs a string.
|
||||||
|
*
|
||||||
|
* Do not call directly, but the macro logstring() in lsyncd.h
|
||||||
*
|
*
|
||||||
* @param priorty the priority of the log message
|
* @param priorty the priority of the log message
|
||||||
* @param cat the category
|
* @param cat the category
|
||||||
* @param message the log message
|
* @param message the log message
|
||||||
*/
|
*/
|
||||||
|
extern void
|
||||||
#define logstring(cat, message) \
|
|
||||||
{int p; if ((p = check_logcat(cat)) >= settings.log_level) \
|
|
||||||
{logstring0(p, cat, message);}}
|
|
||||||
|
|
||||||
static void
|
|
||||||
logstring0(int priority, const char *cat, const char *message)
|
logstring0(int priority, const char *cat, const char *message)
|
||||||
{
|
{
|
||||||
/* in case of logall and not found category priority will be -1 */
|
/* in case of logall and not found category priority will be -1 */
|
||||||
|
@ -333,22 +303,10 @@ logstring0(int priority, const char *cat, const char *message)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Let the core print logmessage comfortably.
|
* Lets the core print logmessages comfortably as formated string.
|
||||||
* This uses the lua_State for it easy string buffers only.
|
* This uses the lua_State for it easy string buffers only.
|
||||||
*/
|
*/
|
||||||
#define printlogf(L, cat, ...) \
|
extern void
|
||||||
{int p; if ((p = check_logcat(cat)) >= settings.log_level) \
|
|
||||||
{printlogf0(L, p, cat, __VA_ARGS__);}}
|
|
||||||
|
|
||||||
static void
|
|
||||||
printlogf0(lua_State *L,
|
|
||||||
int priority,
|
|
||||||
const char *cat,
|
|
||||||
const char *fmt,
|
|
||||||
...)
|
|
||||||
__attribute__((format(printf, 4, 5)));
|
|
||||||
|
|
||||||
static void
|
|
||||||
printlogf0(lua_State *L,
|
printlogf0(lua_State *L,
|
||||||
int priority,
|
int priority,
|
||||||
const char *cat,
|
const char *cat,
|
||||||
|
@ -365,12 +323,14 @@ printlogf0(lua_State *L,
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* Simple memory management
|
* Simple memory management
|
||||||
|
*
|
||||||
|
* TODO: call the garbace collector in case of out of memory.
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* "secured" calloc.
|
* "secured" calloc.
|
||||||
*/
|
*/
|
||||||
void *
|
extern void *
|
||||||
s_calloc(size_t nmemb, size_t size)
|
s_calloc(size_t nmemb, size_t size)
|
||||||
{
|
{
|
||||||
void *r = calloc(nmemb, size);
|
void *r = calloc(nmemb, size);
|
||||||
|
@ -385,7 +345,7 @@ s_calloc(size_t nmemb, size_t size)
|
||||||
* "secured" malloc. the deamon shall kill itself
|
* "secured" malloc. the deamon shall kill itself
|
||||||
* in case of out of memory.
|
* in case of out of memory.
|
||||||
*/
|
*/
|
||||||
static void *
|
extern void *
|
||||||
s_malloc(size_t size)
|
s_malloc(size_t size)
|
||||||
{
|
{
|
||||||
void *r = malloc(size);
|
void *r = malloc(size);
|
||||||
|
@ -399,7 +359,7 @@ s_malloc(size_t size)
|
||||||
/**
|
/**
|
||||||
* "secured" realloc.
|
* "secured" realloc.
|
||||||
*/
|
*/
|
||||||
static void *
|
extern void *
|
||||||
s_realloc(void *ptr, size_t size)
|
s_realloc(void *ptr, size_t size)
|
||||||
{
|
{
|
||||||
void *r = realloc(ptr, size);
|
void *r = realloc(ptr, size);
|
||||||
|
@ -413,7 +373,7 @@ s_realloc(void *ptr, size_t size)
|
||||||
/**
|
/**
|
||||||
* "secured" strdup.
|
* "secured" strdup.
|
||||||
*/
|
*/
|
||||||
static char *
|
extern char *
|
||||||
s_strdup(const char *src)
|
s_strdup(const char *src)
|
||||||
{
|
{
|
||||||
char *s = strdup(src);
|
char *s = strdup(src);
|
||||||
|
@ -469,7 +429,7 @@ size_t pipes_len = 0;
|
||||||
/**
|
/**
|
||||||
* Sets the close-on-exit flag for an fd
|
* Sets the close-on-exit flag for an fd
|
||||||
*/
|
*/
|
||||||
static void
|
extern void
|
||||||
close_exec_fd(int fd)
|
close_exec_fd(int fd)
|
||||||
{
|
{
|
||||||
int flags;
|
int flags;
|
||||||
|
@ -488,7 +448,7 @@ close_exec_fd(int fd)
|
||||||
/**
|
/**
|
||||||
* Sets the non-blocking flag for an fd
|
* Sets the non-blocking flag for an fd
|
||||||
*/
|
*/
|
||||||
static void
|
extern void
|
||||||
non_block_fd(int fd)
|
non_block_fd(int fd)
|
||||||
{
|
{
|
||||||
int flags;
|
int flags;
|
||||||
|
@ -507,7 +467,7 @@ non_block_fd(int fd)
|
||||||
/**
|
/**
|
||||||
* Writes a pid file.
|
* Writes a pid file.
|
||||||
*/
|
*/
|
||||||
void
|
static void
|
||||||
write_pidfile(lua_State *L, const char *pidfile) {
|
write_pidfile(lua_State *L, const char *pidfile) {
|
||||||
FILE* f = fopen(pidfile, "w");
|
FILE* f = fopen(pidfile, "w");
|
||||||
if (!f) {
|
if (!f) {
|
||||||
|
|
72
lsyncd.h
Normal file
72
lsyncd.h
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
/**
|
||||||
|
* lsyncd.h Live (Mirror) Syncing Demon
|
||||||
|
*
|
||||||
|
* License: GPLv2 (see COPYING) or any later version
|
||||||
|
*
|
||||||
|
* Authors: Axel Kittenberger <axkibe@gmail.com>
|
||||||
|
*
|
||||||
|
* Interface between the core modules.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef LSYNCD_H
|
||||||
|
#define LSYNCD_H
|
||||||
|
|
||||||
|
/* includes needed for headerfile */
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#define LUA_USE_APICHECK 1
|
||||||
|
#include <lua.h>
|
||||||
|
|
||||||
|
/* time comparisons - wrap around safe */
|
||||||
|
#define time_after(a,b) ((long)(b) - (long)(a) < 0)
|
||||||
|
#define time_before(a,b) time_after(b,a)
|
||||||
|
#define time_after_eq(a,b) ((long)(a) - (long)(b) >= 0)
|
||||||
|
#define time_before_eq(a,b) time_after_eq(b,a)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event types.
|
||||||
|
*/
|
||||||
|
enum event_type {
|
||||||
|
NONE = 0,
|
||||||
|
ATTRIB = 1,
|
||||||
|
MODIFY = 2,
|
||||||
|
CREATE = 3,
|
||||||
|
DELETE = 4,
|
||||||
|
MOVE = 5,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wrappers for heap management, they exit if out-of-memory.
|
||||||
|
*/
|
||||||
|
extern void * s_calloc(size_t nmemb, size_t size);
|
||||||
|
extern void * s_malloc(size_t size);
|
||||||
|
extern void * s_realloc(void *ptr, size_t size);
|
||||||
|
extern char * s_strdup(const char *src);
|
||||||
|
|
||||||
|
/* logs a string */
|
||||||
|
#define logstring(cat, message) \
|
||||||
|
{int p; if ((p = check_logcat(cat)) >= settings.log_level) \
|
||||||
|
{logstring0(p, cat, message);}}
|
||||||
|
extern void logstring0(int priority, const char *cat, const char *message);
|
||||||
|
|
||||||
|
/* logs a formated string */
|
||||||
|
#define printlogf(L, cat, ...) \
|
||||||
|
{int p; if ((p = check_logcat(cat)) >= settings.log_level) \
|
||||||
|
{printlogf0(L, p, cat, __VA_ARGS__);}}
|
||||||
|
extern void
|
||||||
|
printlogf0(lua_State *L,
|
||||||
|
int priority,
|
||||||
|
const char *cat,
|
||||||
|
const char *fmt,
|
||||||
|
...)
|
||||||
|
__attribute__((format(printf, 4, 5)));
|
||||||
|
|
||||||
|
/* Sets the non-blocking flag for a file descriptor. */
|
||||||
|
extern void non_block_fd(int fd);
|
||||||
|
|
||||||
|
/* Sets the close-on-exit flag for a file descriptor. */
|
||||||
|
extern void close_exec_fd(int fd);
|
||||||
|
|
||||||
|
#endif
|
|
@ -971,7 +971,6 @@ local Sync = (function()
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
-- for 2 paths (move) it might result into a split
|
-- for 2 paths (move) it might result into a split
|
||||||
log("Function", "+ ",path2)
|
|
||||||
local ex1 = self.excludes:test(path)
|
local ex1 = self.excludes:test(path)
|
||||||
local ex2 = self.excludes:test(path2)
|
local ex2 = self.excludes:test(path2)
|
||||||
if ex1 and ex2 then
|
if ex1 and ex2 then
|
||||||
|
|
|
@ -259,7 +259,7 @@ for i, d in ipairs(dice) do
|
||||||
d[1] = ndice
|
d[1] = ndice
|
||||||
end
|
end
|
||||||
|
|
||||||
for ai=1,20 do
|
for ai=1,100 do
|
||||||
-- throw a die what to do
|
-- throw a die what to do
|
||||||
local acn = math.random(ndice)
|
local acn = math.random(ndice)
|
||||||
for i, d in ipairs(dice) do
|
for i, d in ipairs(dice) do
|
||||||
|
@ -279,10 +279,11 @@ local _, exitmsg, lexitcode = posix.wait(lpid)
|
||||||
cwriteln("Exitcode of Lsyncd = ", exitmsg, " ", lexitcode)
|
cwriteln("Exitcode of Lsyncd = ", exitmsg, " ", lexitcode)
|
||||||
|
|
||||||
exitcode = os.execute("diff -r "..srcdir.." "..trgdir)
|
exitcode = os.execute("diff -r "..srcdir.." "..trgdir)
|
||||||
cwriteln("Exitcode of diff = ", exitcode)
|
cwriteln("Exitcode of diff = '", exitcode, "'")
|
||||||
if lexitcode ~= 0 then
|
if exitcode ~= 0 then
|
||||||
os.exit(lexitcode)
|
os.exit(1)
|
||||||
else
|
else
|
||||||
os.exit(exitcode)
|
os.exit(0)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user