merge job rusage and pending reason support

This commit is contained in:
Rongsong Shen 2025-12-16 14:36:28 +08:00
parent 30824ae5ea
commit cb0c7fe9e7
82 changed files with 4280 additions and 2561 deletions

View file

@ -455,7 +455,7 @@ int fmt_jobid_ex(char* buf, size_t sz, uint64_t jobid, char lc, char rc)
id_idx = EXTRACT_ARRAY_IDX(jobid);
snprintf(data, sizeof(data) - 1, "%d-%d-%d-%d%c%d%c", id_cluster,
id_apiserver, id_timestamp, id_job, lc,id_idx, rc);
id_apiserver, id_timestamp, id_job, lc, id_idx, rc);
} else {
uint32_t id_seq;
@ -473,7 +473,8 @@ int fmt_jobid_ex(char* buf, size_t sz, uint64_t jobid, char lc, char rc)
return len;
}
int fmt_jobid(char* buf, size_t sz, uint64_t jobid) {
int fmt_jobid(char* buf, size_t sz, uint64_t jobid)
{
return fmt_jobid_ex(buf, sz, jobid, '[', ']');
}
@ -546,7 +547,8 @@ int parse_jobid(uint64_t* jobid, char* buf)
return -EINVAL;
}
uint64_t array_jobid(uint64_t jobid) {
uint64_t array_jobid(uint64_t jobid)
{
uint32_t tag = EXTRACT_ID_TAG(jobid);
if (tag == 0x00) {
@ -556,7 +558,8 @@ uint64_t array_jobid(uint64_t jobid) {
return EXTRACT_ARRAY_BASEID(jobid);
}
uint64_t array_idx(uint64_t jobid) {
uint64_t array_idx(uint64_t jobid)
{
uint32_t tag = EXTRACT_ID_TAG(jobid);
if (tag == 0x00) {
@ -565,3 +568,22 @@ uint64_t array_idx(uint64_t jobid) {
return EXTRACT_ARRAY_IDX(jobid);
}
void unblock_sig(int signo)
{
sigset_t mask;
sigemptyset(&mask);
sigaddset(&mask, signo);
sigprocmask(SIG_UNBLOCK, &mask, NULL);
}
void block_sig(int signo)
{
sigset_t mask;
sigemptyset(&mask);
sigaddset(&mask, signo);
sigprocmask(SIG_BLOCK, &mask, NULL);
}