lib.c revision 02c335c23bf5fa225a467c19f2c063fb0dc7b8c3
/* Copyright (c) 2001-2016 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "array.h"
#include "env-util.h"
#include "hostpid.h"
#include "ipwd.h"
#include "process-title.h"
#include <unistd.h>
struct atexit_callback {
int priority;
};
int close_keep_errno(int *fd)
{
*fd = -1;
return ret;
}
unsigned int source_linenum)
{
i_error("unlink(%s) failed: %m (in %s:%u)",
return -1;
}
return 0;
}
unsigned int source_linenum)
{
return 1;
return 0;
else {
i_error("unlink(%s) failed: %m (in %s:%u)",
return -1;
}
}
void i_getopt_reset(void)
{
#ifdef __GLIBC__
/* a) for subcommands allow -options anywhere in command line
b) this is actually required for the reset to work (glibc bug?) */
optind = 0;
#else
optind = 1;
#endif
}
{
}
{
struct atexit_callback *cb;
const struct atexit_callback *callbacks;
unsigned int i, count;
if (!array_is_created(&atexit_callbacks))
else {
/* skip if it's already added */
for (i = count; i > 0; i--) {
return;
}
}
}
}
const struct atexit_callback *cb2)
{
}
void lib_atexit_run(void)
{
const struct atexit_callback *cb;
if (array_is_created(&atexit_callbacks)) {
}
}
void lib_init(void)
{
/* standard way to get rand() return different values. */
i_fatal("gettimeofday(): %m");
hostpid_init();
}
void lib_deinit(void)
{
ipwd_deinit();
env_deinit();
}