Use a string to identify the loom
Allows the use of the hostname by now
This commit is contained in:
parent
c6724f1e25
commit
b6af567b23
32
ovni.c
32
ovni.c
@ -41,31 +41,26 @@ struct ovni_rproc rproc = {0};
|
||||
_Thread_local struct ovni_rthread rthread = {0};
|
||||
|
||||
static int
|
||||
create_trace_dirs(char *tracedir, int loom, int proc)
|
||||
create_trace_dirs(char *tracedir, char *loom, int proc)
|
||||
{
|
||||
char path[PATH_MAX];
|
||||
|
||||
fprintf(stderr, "create trace dirs for loom=%d, proc=%d\n",
|
||||
fprintf(stderr, "create trace dirs for loom=%s, proc=%d\n",
|
||||
loom, proc);
|
||||
|
||||
snprintf(path, PATH_MAX, "%s", tracedir);
|
||||
|
||||
if(mkdir(path, 0755))
|
||||
{
|
||||
fprintf(stderr, "mkdir %s: %s\n", path, strerror(errno));
|
||||
//return -1;
|
||||
}
|
||||
/* May fail if another loom created the directory already */
|
||||
mkdir(path, 0755);
|
||||
|
||||
snprintf(path, PATH_MAX, "%s/loom.%d", tracedir, loom);
|
||||
snprintf(path, PATH_MAX, "%s/loom.%s", tracedir, loom);
|
||||
|
||||
if(mkdir(path, 0755))
|
||||
{
|
||||
fprintf(stderr, "mkdir %s: %s\n", path, strerror(errno));
|
||||
//return -1;
|
||||
}
|
||||
/* Also may fail */
|
||||
mkdir(path, 0755);
|
||||
|
||||
snprintf(rproc.dir, PATH_MAX, "%s/loom.%d/proc.%d", tracedir, loom, proc);
|
||||
snprintf(rproc.dir, PATH_MAX, "%s/loom.%s/proc.%d", tracedir, loom, proc);
|
||||
|
||||
/* But this one shall not fail */
|
||||
if(mkdir(rproc.dir, 0755))
|
||||
{
|
||||
fprintf(stderr, "mkdir %s: %s\n", rproc.dir, strerror(errno));
|
||||
@ -92,16 +87,14 @@ create_trace_stream()
|
||||
if(rthread.streamfd == -1)
|
||||
{
|
||||
fprintf(stderr, "open %s failed: %s\n", path, strerror(errno));
|
||||
/* Shall we just return -1 ? */
|
||||
abort();
|
||||
//return -1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
ovni_proc_init(int loom, int proc)
|
||||
ovni_proc_init(char *loom, int proc)
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -109,7 +102,8 @@ ovni_proc_init(int loom, int proc)
|
||||
|
||||
memset(&rproc, 0, sizeof(rproc));
|
||||
|
||||
rproc.loom = loom;
|
||||
/* FIXME: strcpy is insecure */
|
||||
strcpy(rproc.loom, loom);
|
||||
rproc.proc = proc;
|
||||
|
||||
/* By default we use the monotonic clock */
|
||||
|
5
ovni.h
5
ovni.h
@ -6,6 +6,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <linux/limits.h>
|
||||
#include <limits.h>
|
||||
|
||||
#define OVNI_MAX_CPU 256
|
||||
#define OVNI_MAX_PROC 32
|
||||
@ -93,7 +94,7 @@ struct ovni_rproc {
|
||||
char dir[PATH_MAX];
|
||||
|
||||
int proc;
|
||||
int loom;
|
||||
char loom[HOST_NAME_MAX];
|
||||
int ncpus;
|
||||
clockid_t clockid;
|
||||
char procdir[PATH_MAX];
|
||||
@ -101,7 +102,7 @@ struct ovni_rproc {
|
||||
int ready;
|
||||
};
|
||||
|
||||
int ovni_proc_init(int loom, int proc);
|
||||
int ovni_proc_init(char *loom, int proc);
|
||||
|
||||
int ovni_thread_init(pid_t tid);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user