libcgroup
Loading...
Searching...
No Matches
6. Error handling

Error handling

Unless states otherwise in documentation of a function, all functions return int, which is zero (0) when the function succeeds, and positive number if the function fails.

The returned integer is one of the ECG* values described below. Value ECGOTHER means that the error was caused by underlying OS and the real cause can be found by calling cgroup_get_last_errno().

enum  {
  ECGROUPNOTCOMPILED = 50000 , ECGROUPNOTMOUNTED , ECGROUPNOTEXIST , ECGROUPNOTCREATED ,
  ECGROUPSUBSYSNOTMOUNTED , ECGROUPNOTOWNER , ECGROUPMULTIMOUNTED , ECGROUPNOTALLOWED ,
  ECGMAXVALUESEXCEEDED , ECGCONTROLLEREXISTS , ECGVALUEEXISTS , ECGINVAL ,
  ECGCONTROLLERCREATEFAILED , ECGFAIL , ECGROUPNOTINITIALIZED , ECGROUPVALUENOTEXIST ,
  ECGOTHER , ECGROUPNOTEQUAL , ECGCONTROLLERNOTEQUAL , ECGROUPPARSEFAIL ,
  ECGROUPNORULES , ECGMOUNTFAIL , ECGEOF = 50023 , ECGCONFIGPARSEFAIL ,
  ECGNAMESPACEPATHS , ECGNAMESPACECONTROLLER , ECGMOUNTNAMESPACE , ECGROUPUNSUPP ,
  ECGCANTSETVALUE , ECGNONEMPTY , ECGNOVERSIONCONVERT
}
 
const char * cgroup_strerror (int code)
 
int cgroup_get_last_errno (void)
 
#define ECGRULESPARSEFAIL   ECGROUPPARSEFAIL
 

Detailed Description

Macro Definition Documentation

◆ ECGRULESPARSEFAIL

#define ECGRULESPARSEFAIL   ECGROUPPARSEFAIL

Legacy definition of ECGRULESPARSEFAIL error code.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ECGROUPMULTIMOUNTED 

Controllers bound to different mount points

ECGOTHER 

Represents error coming from other libraries like glibc. libcgroup users need to check cgroup_get_last_errno() upon encountering this error.

ECGROUPPARSEFAIL 

Failed to parse rules configuration file.

ECGROUPNORULES 

Rules list does not exist.

ECGEOF 

Not an real error, it just indicates that iterator has come to end of sequence and no more items are left.

ECGCONFIGPARSEFAIL 

Failed to parse config file (cgconfig.conf).

ECGNONEMPTY 

Removing of a group failed because it was not empty.

ECGNOVERSIONCONVERT 

Failed to convert from cgroup v1 to/from cgroup v2

Function Documentation

◆ cgroup_get_last_errno()

int cgroup_get_last_errno ( void )

Return last errno, which caused ECGOTHER error.

◆ cgroup_strerror()

const char * cgroup_strerror ( int code)

Format error code to a human-readable English string. No internationalization is currently done. Returned pointer leads to libcgroup memory and must not be freed nor modified. The memory is rewritten by subsequent call to this function.

Parameters
codeError code for which the corresponding error string is returned. When ECGOTHER is used, text with glibc's description of cgroup_get_last_errno() value is returned.