/*
 * Copyright (c) 2005 Sendmail, Inc. and its suppliers.
 *	All rights reserved.
 *
 * By using this file, you agree to the terms and conditions set
 * forth in the LICENSE file which can be found at the top level of
 * the sendmail distribution.
 */

#include "sm/generic.h"
SM_RCSID("@(#)$Id: t-chkpidfile.c,v 1.1 2005/08/22 05:49:51 ca Exp $")
#include "sm/error.h"
#include "sm/io.h"
#include "sm/misc.h"

static int Verbosity = 0;

int
main(int argc, char *argv[])
{
	sm_ret_T ret;
	int c, fd, sl;
	bool cleanup;
	char errtxt[128];
	char pidfile[128];

	strlcpy(pidfile, "chk.pid", sizeof(pidfile));
	cleanup = true;
	sl = 1;
	while ((c = getopt(argc, argv, "cf:s:V")) != -1)
	{
		switch (c)
		{
		  case 'c':
			cleanup = false;
			break;
		  case 'f':
			strlcpy(pidfile, optarg, sizeof(pidfile));
			break;
		  case 's':
			sl = strtoul(optarg, NULL, 0);
			break;
		  case 'V':
			++Verbosity;
			break;
		}
	}
	errtxt[0] = '\0';
	ret = sm_chk_pidfile(pidfile, &fd, errtxt, sizeof(errtxt));
	if (Verbosity > 0)
		sm_io_fprintf(smioerr, "ret=%r, text=%s\n", ret, errtxt);
	sleep(sl);
	if (sm_is_success(ret) && cleanup)
	{
		close(fd);
		unlink(pidfile);
	}
	return ret;
}


syntax highlighted by Code2HTML, v. 0.9.1