librc: fix handling the nothing special case for rc_sys

This commit is contained in:
Doug Freed 2016-01-17 22:05:22 -08:00 committed by William Hubbs
parent 649f63d882
commit 36dde4e7f2
2 changed files with 14 additions and 2 deletions

View File

@ -228,8 +228,13 @@ static const char *
detect_container(const char *systype)
{
#ifdef __FreeBSD__
if (systype && strcmp(systype, RC_SYS_JAIL) == 0)
return RC_SYS_JAIL;
if (systype) {
if (strcmp(systype, RC_SYS_NONE) == 0)
return NULL;
if (strcmp(systype, RC_SYS_JAIL) == 0)
return RC_SYS_JAIL;
}
int jailed = 0;
size_t len = sizeof(jailed);
@ -240,6 +245,8 @@ detect_container(const char *systype)
#ifdef __linux__
if (systype) {
if (strcmp(systype, RC_SYS_NONE) == 0)
return NULL;
if (strcmp(systype, RC_SYS_UML) == 0)
return RC_SYS_UML;
if (strcmp(systype, RC_SYS_VSERVER) == 0)
@ -283,6 +290,8 @@ detect_vm(const char *systype)
{
#ifdef __NetBSD__
if (systype) {
if (strcmp(systype, RC_SYS_NONE) == 0)
return NULL;
if (strcmp(systype, RC_SYS_XEN0) == 0)
return RC_SYS_XEN0;
if (strcmp(systype, RC_SYS_XENU) == 0)
@ -296,6 +305,8 @@ detect_vm(const char *systype)
#ifdef __linux__
if (systype) {
if (strcmp(systype, RC_SYS_NONE) == 0)
return NULL;
if (strcmp(systype, RC_SYS_XEN0) == 0)
return RC_SYS_XEN0;
if (strcmp(systype, RC_SYS_XENU) == 0)

View File

@ -318,6 +318,7 @@ bool rc_service_daemons_crashed(const char *);
* Some services cannot work in these systems, or we do something else. */
#define RC_SYS_DOCKER "DOCKER"
#define RC_SYS_JAIL "JAIL"
#define RC_SYS_NONE ""
#define RC_SYS_OPENVZ "OPENVZ"
#define RC_SYS_LXC "LXC"
#define RC_SYS_PREFIX "PREFIX"