[Sysfence-commit] sysfence sysfence.c,1.20,1.21
Status: Alpha
Brought to you by:
emes
|
From: Michal S. <em...@us...> - 2004-05-28 23:29:19
|
Update of /cvsroot/sysfence/sysfence In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11687 Modified Files: sysfence.c Log Message: + fs watching enabled. this does not work properly yet Index: sysfence.c =================================================================== RCS file: /cvsroot/sysfence/sysfence/sysfence.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- sysfence.c 28 May 2004 20:36:50 -0000 1.20 +++ sysfence.c 28 May 2004 23:29:10 -0000 1.21 @@ -48,6 +48,7 @@ { sf_rule **ruletab, **shmruletab; void *shmruleptr; + void *tmpfsptr; int i; int total_rules_size = 0; @@ -60,6 +61,9 @@ if (argc < 2) bail_out (EXIT_NOCONF, NULL); + /* empty list */ + tmp_fs_db = NULL; + /* read config file(s) */ ruletab = read_config_files (argc - 1, &argv[1]); if (*ruletab == NULL) bail_out (EXIT_NORULE, NULL); @@ -93,14 +97,19 @@ if (db_shmid < 0) bail_out (EXIT_SHM, NULL); db_shm = shared_mem_attach (db_shmid); main_db = (sf_database *) db_shm; -#ifdef DEBUG - syslog (LOG_DEBUG, "main_db created @ %x", main_db); -#endif + + if (tmp_fs_db) { + /* initialize shared memory for fs database */ + fs_shmid = shared_mem_init (get_list_size (tmp_fs_db)); + if (fs_shmid < 0) bail_out (EXIT_SHM, NULL); + fs_shm = shared_mem_attach (fs_shmid); - /* initialize shared memory for fs database */ - fs_shmid = shared_mem_init (FS_DATA_SIZE); - if (fs_shmid < 0) bail_out (EXIT_SHM, NULL); - fs_shm = shared_mem_attach (fs_shmid); + /* copy fs db to shared memory */ + tmpfsptr = fs_shm; + cp_list (&tmpfsptr, tmp_fs_db); + } else { + fs_shm = NULL; + } /* initialize shared memory for proc database */ proc_shmid = shared_mem_init (PROC_DATA_SIZE); @@ -110,9 +119,12 @@ /* initialize database */ main_db->fs = (sf_list *) fs_shm; main_db->proc = proc_shm; - main_db->fs->elsize = -1; - main_db->fs->el = NULL; - main_db->fs->next = NULL; + +#ifdef DEBUG + syslog (LOG_DEBUG, "main_db created @ %x: fs -> %x, proc -> %x", + main_db, main_db->fs, main_db->proc + ); +#endif /* copy ruletab to shared memory */ shmruletab = (sf_rule **) rules_shm; |