- add implement job related objs based on librtti

- add lock()/unlock() to job object
This commit is contained in:
Rongsong Shen 2026-02-23 11:18:36 +08:00
parent f582742e77
commit 532c68e6e1
13 changed files with 1136 additions and 12 deletions

13
src/include/jobj.h Normal file
View file

@ -0,0 +1,13 @@
#if !defined(_JOBJ_H_)
#define _JOBJ_H_ 1
#include "xce/types.h"
extern job_submit_data_t* makeJobsub(job_submit_data_t*);
extern job_startinfo_t* makeJobstartinfo(job_startinfo_t*);
extern xce_job_t* makeJob(xce_job_t*);
extern int job_obj_init(int, int);
extern void job_obj_fini();
#endif

View file

@ -3,10 +3,12 @@
#define _KV_H_ 1
#include <rtti.h>
typedef void (*kv_value_kill_fn_t)(void*);
#include <stdlib.h>
#include <sys/types.h>
extern typeinfo_t kvtab_int64_type;
extern typeinfo_t kvtab_string_type;
extern typeinfo_t kvtab_generic_type;
extern int key_cmp_default(void*, void*, size_t);
#endif

View file

@ -67,6 +67,10 @@
}
#endif
#define EQUAL_STRING(s1, s2) \
(((s1) == (s2)) \
|| (((s1) != NULL) && ((s2) != NULL) && (strcmp((s1), (s2)) == 0)))
#define N_EL_ARRAY(arr) (sizeof(arr) / sizeof(arr[0]))
#define PTR_STEP(p, delta) ((void*)(((char*)p) + (delta)))