sysfence-commit Mailing List for sysfence (Page 4)
Status: Alpha
Brought to you by:
emes
You can subscribe to this list here.
| 2004 |
Jan
|
Feb
|
Mar
(2) |
Apr
(3) |
May
(99) |
Jun
(45) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
(5) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Michal S. <em...@us...> - 2004-05-29 17:30:10
|
Update of /cvsroot/sysfence/sysfence In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6052 Modified Files: datastruct.c datastruct.h getstats.c Log Message: * consistient names, no plurals Index: datastruct.h =================================================================== RCS file: /cvsroot/sysfence/sysfence/datastruct.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- datastruct.h 28 May 2004 23:26:20 -0000 1.3 +++ datastruct.h 29 May 2004 17:29:28 -0000 1.4 @@ -167,7 +167,7 @@ // Statistics of underlying filesystem in path char *path; long int val[ VA_LAST ]; -} sf_fs_stats; +} sf_fs_stat; typedef struct { // Main statistics database @@ -186,7 +186,7 @@ int equal_defs (sf_stat_def *d1, sf_stat_def *d2); int uid_in_list (sf_list *hd, uid_t uid); void add_fs_entry_to_list (sf_list **hd, char *path); -sf_fs_stats * get_fs_entry_from_list (sf_list *hd, char *path); +sf_fs_stat * get_fs_entry_from_list (sf_list *hd, char *path); char * def_2_string (sf_stat_def *def); /* $Id$ */ Index: getstats.c =================================================================== RCS file: /cvsroot/sysfence/sysfence/getstats.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- getstats.c 29 May 2004 12:55:09 -0000 1.14 +++ getstats.c 29 May 2004 17:29:28 -0000 1.15 @@ -33,7 +33,7 @@ sf_value get_stat_fs (sf_stat_def *def, sf_list *fslist) { sf_value res; - sf_fs_stats *fs = get_fs_entry_from_list (fslist, def->arg[1].path); + sf_fs_stat *fs = get_fs_entry_from_list (fslist, def->arg[1].path); sf_res_state slctr = def->arg[0].resstat; #ifdef DEBUG @@ -192,7 +192,7 @@ #endif } -void fetch_pathspace (sf_fs_stats *fs) +void fetch_pathspace (sf_fs_stat *fs) { struct statfs buf; long int bsizeKB; @@ -222,11 +222,11 @@ void fetch_fs (sf_database *db) { sf_list *hd = db->fs; - sf_fs_stats *fs; + sf_fs_stat *fs; // Iterate through list of watched paths while (hd) { - fs = (sf_fs_stats *) hd->el; + fs = (sf_fs_stat *) hd->el; if (fs) fetch_pathspace (fs); hd = hd->next; Index: datastruct.c =================================================================== RCS file: /cvsroot/sysfence/sysfence/datastruct.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- datastruct.c 29 May 2004 12:54:11 -0000 1.4 +++ datastruct.c 29 May 2004 17:29:28 -0000 1.5 @@ -90,7 +90,7 @@ * used to register new paths while parsing config file */ sf_list *l = *hd; - sf_fs_stats *e; + sf_fs_stat *e; #ifdef DEBUG if (!hd) @@ -103,19 +103,19 @@ if (! l) { /* end-of-list reached, add entry */ - e = (sf_fs_stats *) xalloc (NULL, sizeof (sf_fs_stats)); + e = (sf_fs_stat *) xalloc (NULL, sizeof (sf_fs_stat)); e->path = (char *) xalloc (NULL, strlen (path) + 1); strcpy (e->path, path); l = (sf_list *) xalloc (NULL, sizeof (sf_list)); l->next = NULL; - l->elsize = sizeof (sf_fs_stats); + l->elsize = sizeof (sf_fs_stat); l->el = (void *) e; *hd = l; return; } - e = (sf_fs_stats *) l->el; + e = (sf_fs_stat *) l->el; /* do not insert duplicates */ #ifdef DEBUG @@ -126,10 +126,10 @@ add_fs_entry_to_list (&(l->next), path); } -sf_fs_stats * get_fs_entry_from_list (sf_list *hd, char *path) +sf_fs_stat * get_fs_entry_from_list (sf_list *hd, char *path) { /* finds an entry in list of paths being watched */ - sf_fs_stats *st; + sf_fs_stat *st; #ifdef DEBUG syslog (LOG_DEBUG, "get_fs_entry_from_list(%x, %s)", hd, path); @@ -138,7 +138,7 @@ // not found if (! hd) return NULL; - st = (sf_fs_stats *) hd->el; + st = (sf_fs_stat *) hd->el; #ifdef DEBUG syslog (LOG_DEBUG, " +-- list element: %s)", st->path); #endif |
|
From: Michal S. <em...@us...> - 2004-05-29 17:29:51
|
Update of /cvsroot/sysfence/sysfence/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6052/doc Modified Files: data_structures.dia Log Message: * consistient names, no plurals Index: data_structures.dia =================================================================== RCS file: /cvsroot/sysfence/sysfence/doc/data_structures.dia,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- data_structures.dia 23 May 2004 20:54:19 -0000 1.1 +++ data_structures.dia 29 May 2004 17:29:29 -0000 1.2 @@ -3279,7 +3279,7 @@ <dia:real val="3.2"/> </dia:attribute> <dia:attribute name="name"> - <dia:string>#sf_fs_stats#</dia:string> + <dia:string>#sf_fs_stat#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> @@ -3884,7 +3884,7 @@ <dia:real val="3.2"/> </dia:attribute> <dia:attribute name="name"> - <dia:string>#sf_fs_stats#</dia:string> + <dia:string>#sf_fs_stat#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> |
|
From: Michal S. <em...@us...> - 2004-05-29 16:42:16
|
Update of /cvsroot/sysfence/sysfence/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30765/doc Modified Files: example.conf Log Message: + updated info files, preparing to make next release Index: example.conf =================================================================== RCS file: /cvsroot/sysfence/sysfence/doc/example.conf,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- example.conf 26 May 2004 17:52:13 -0000 1.7 +++ example.conf 29 May 2004 16:42:05 -0000 1.8 @@ -1,12 +1,6 @@ # # This is example configuration file for sysfence # -# -# ** WARNING! ** -# -# The 'log' option described here, doesn't work yet. -# -# # - Config file consists of rules. # - Each rule has condition part and action part. # - Condition is enclosed in block. @@ -15,7 +9,7 @@ # Here is an example: # -if { +rule "high load" { la1 >= 5.0 and { { la5 > 3.0 and la5 < 5.0 } @@ -30,12 +24,17 @@ # Notice the 'once' keyword. You may use it right after 'run' or 'log'. # It means that run/log action will take place only once after condition # becomes true. +# # In example above, echo command will be run once when system load exceeds # given thresholds, but logging will be performed periodically unless load # falls below limits. +# # If the load falls (making condition false) and then rises again, the echo # command will be invoked as well. # +# Log entry will contain rule name (the string right after rule keyword) +# and current value of all stats checked in condition. +# # The values you may check, are: # # la1 - system load during last minute @@ -45,9 +44,12 @@ # usedmem - used memory (w/o disk cache) # freeswap - free swap space # usedswap - used swap +# freespace - free disk (or other fs-device) space +# usedspace - used disk space +# availspace - available disk space (free - space reserved for superuser) # -when { +when "memory low" { freemem < 128M or swapused > 256M @@ -65,12 +67,23 @@ # run invoke exec execute # once onlyonce # step stepping +# +# for load: # la1 load1 loadavg1 (same with 5 and 15) +# +# for memory: # memfree freemem freememory # usedmem memused usedmemory +# +# for swap: # swapfree freeswap # usedswap swapused # +# for filesystem: +# spaceused usedspace +# spacefree freespace +# spaceavail availspace spaceavailable availablespace +# # ...and operators: # # = == @@ -81,17 +94,6 @@ # and andalso && # or orelse || # -# -# With many rules defined, you can get easily confused while reading logs. -# To make things clear, you may give rule a name, putting it right after -# if keyword (or it's synonyme). It will appear in log entries. -# - -rule "this machine works hard" { - la15 >= 3.0 -} log - -# # Good luck! # # $Id$ |
|
From: Michal S. <em...@us...> - 2004-05-29 16:42:16
|
Update of /cvsroot/sysfence/sysfence In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30765 Modified Files: TODO Log Message: + updated info files, preparing to make next release Index: TODO =================================================================== RCS file: /cvsroot/sysfence/sysfence/TODO,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- TODO 10 May 2004 12:20:19 -0000 1.10 +++ TODO 29 May 2004 16:42:04 -0000 1.11 @@ -7,30 +7,15 @@ So, current TODO is: - + check for free space in filesystem - . function(s) returning free/used/total space size for given path - . number of monitored values will be variable - change stat array - into dynamic structure - . language extension, e.g. - - freespace /var/spool > 16M - spaceused /tmp > 200M - - + signal handling: let's call data-collecting thread a 'main thread' - . SIGHUP to any thread = read configuration again - . SIGSTOP to watching thread = suspend rule checking - SIGSTOP to main thread = suspend all rules checking - . SIGCONT to watching thread = resume rule checking - SIGCONT to main thread = resume all rules checking - . SIGTERM to watching thread = stop & die - SIGTERM to main thread = stop & die all + + watch number of processes + . group by UIDs + . group by state + e.g.: - + status info in cmdline (as seen in 'ps auxw') - . main thread changes name to 'sffetch' (or sth.) - . watching thread changes name to 'sfwatch rulename' - . stopped thread changes name to 'sfwatch STOPPED rulename' - . during command execution name is 'sfwatch EXEC rulename' - . give info about current conditions value? + nproc > 300 + nproc "http","mysql" > 20 + nproc zombie > 10 + nproc "http" zombie > 5 + ports to other systems . *BSD - AFAIK, these support proc fs, so it looks easy |
|
From: Michal S. <em...@us...> - 2004-05-29 16:06:20
|
Update of /cvsroot/sysfence/sysfence/dokprojektlic In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25121 Modified Files: abstract.tex main.tex wymagania.tex Log Message: + wymagania Index: main.tex =================================================================== RCS file: /cvsroot/sysfence/sysfence/dokprojektlic/main.tex,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- main.tex 28 May 2004 14:33:31 -0000 1.2 +++ main.tex 29 May 2004 16:06:08 -0000 1.3 @@ -10,15 +10,15 @@ \sloppy % title page -%\input{titlepage} +\input{titlepage} % abstract %\input{abstract} % tu dodawac rozdzialy: -%\input{wstep} +\input{wstep} %\input{specuzytkownika} -%\input{wymagania} +\input{wymagania} %\input{speckonstrukcyjna} %\input{testowanie} @@ -32,6 +32,6 @@ %\input{bibliography} % table of contents -%\tableofcontents +\tableofcontents \end{document} Index: wymagania.tex =================================================================== RCS file: /cvsroot/sysfence/sysfence/dokprojektlic/wymagania.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- wymagania.tex 26 May 2004 20:02:34 -0000 1.1 +++ wymagania.tex 29 May 2004 16:06:08 -0000 1.2 @@ -0,0 +1,27 @@ +\section{Wymagania} + +Do³o¿yli¶my starañ, by mechanizmy obs³ugi procesów, sygna³ów i +metod IPC (semafory i pamiêæ dzielona) korzysta³y ze standardowych funkcji +dostêpnych w ka¿dym wspó³czesnym systemie uniksowym. + +Ponadto, dla prawid³owego dzia³ania, sysfence wymaga od systemu: +\begin{itemize} + \item systemu plików \emph{proc} zamontowanego w katalogu \texttt{/proc} + (w przypadku u¿ycia innej ¶cie¿ki konieczna jest modyfikacja odpowiedniej + sta³ej przed kompilacj±), + \item funkcji systemowej \texttt{statfs()} + % + % + % LSB opisuje statfs() jako 'deprecated' + % jesli zdazymy, zamienmy je na statvfs(), zgodne z tym standardem + % + % +\end{itemize} + +W chwili obecnej program jest przeznaczony dla systemu operacyjnego Linux. +Poniewa¿ w trakcie tworzenia aplikacji nie dysponowali¶my maszynami +dzia³aj±cymi pod innymi systemami, nie mogli¶my przetestowaæ kompilacji i +zachowania aplikacji w innym ¶rodowisku. Powy¿sze wymagania nie s± jednak +wygórowane i przewidujemy, ¿e sysfence bez problemów mo¿e zostaæ uruchomiony +na innych darmowych platformach uniksowych, jak np. FreeBSD, OpenBSD, NetBSD +czy Hurd. Index: abstract.tex =================================================================== RCS file: /cvsroot/sysfence/sysfence/dokprojektlic/abstract.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- abstract.tex 26 May 2004 20:02:34 -0000 1.1 +++ abstract.tex 29 May 2004 16:06:08 -0000 1.2 @@ -1,3 +1,2 @@ \abstract{} - |
|
From: Michal S. <em...@us...> - 2004-05-29 14:42:24
|
Update of /cvsroot/sysfence/sysfence/dokprojektlic In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10883 Modified Files: wstep.tex Log Message: + wstep Index: wstep.tex =================================================================== RCS file: /cvsroot/sysfence/sysfence/dokprojektlic/wstep.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- wstep.tex 26 May 2004 20:02:34 -0000 1.1 +++ wstep.tex 29 May 2004 14:42:14 -0000 1.2 @@ -0,0 +1,17 @@ +\section{Wstêp} + +Sysfence jest demonem dzia³aj±cym w ¶rodowisku systemów uniksowych. Jego zadaniem +jest ci±g³e ¶ledzenie stanu zasobów systemowych i podejmowanie akcji w razie +wykrycia anomalii przewidzianych przez administratora systemu. + +G³ównym zastosowaniem jest kontrolowanie stabilno¶ci pracy serwerów, które dzia³aj± +pod du¿ym obci±¿eniem lub u¿ywaj± niestabilnego oprogramowania (np. aplikacji +,,gubi±cych'' pamiêæ). + +Pisz±c projekt kierowali¶my siê zasadami panuj±cymi w ¶rodowisku OpenSource. +Ca³y kod programu objêty jest licencj± GPL. Repozytorium CVS jest publicznie +dostêpne, a co jaki¶ czas wydawane by³y kolejne wersje aplikacji (w momencie +zakoñczenia projektu licencjackiego planujemy wydaæ wersjê 0.12). + +Stronê domow± projektu mo¿na znale¼æ pod adresem \texttt{http://sysfence.sourceforge.net}. + |
|
From: Michal S. <em...@us...> - 2004-05-29 12:55:20
|
Update of /cvsroot/sysfence/sysfence In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27993 Modified Files: getstats.c Log Message: + debug info Index: getstats.c =================================================================== RCS file: /cvsroot/sysfence/sysfence/getstats.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- getstats.c 28 May 2004 23:27:32 -0000 1.13 +++ getstats.c 29 May 2004 12:55:09 -0000 1.14 @@ -37,7 +37,14 @@ sf_res_state slctr = def->arg[0].resstat; #ifdef DEBUG - syslog (LOG_DEBUG, "get_stat_fs(): fslist @ %x", fslist); + syslog (LOG_DEBUG, + "get_stat_fs(%s): total = %ld, used = %ld, free = %ld, avail = %ld", + def->arg[1].path, + fs->val[VA_TOTAL], + fs->val[VA_USED], + fs->val[VA_FREE], + fs->val[VA_AVAIL] + ); #endif res.type = INTEGER; @@ -201,7 +208,8 @@ fs->val[VA_USED] = (buf.f_blocks - buf.f_bfree) * bsizeKB; #ifdef DEBUG - printf ("fetch_pathspace(): path %s total=%d used=%d free=%d available=%d\n", + syslog (LOG_DEBUG, + "fetch_pathspace(): path %s total=%d used=%d free=%d available=%d\n", fs->path, fs->val[VA_TOTAL], fs->val[VA_USED], |
|
From: Michal S. <em...@us...> - 2004-05-29 12:54:20
|
Update of /cvsroot/sysfence/sysfence In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27866 Modified Files: datastruct.c Log Message: * bugfix Index: datastruct.c =================================================================== RCS file: /cvsroot/sysfence/sysfence/datastruct.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- datastruct.c 28 May 2004 23:26:20 -0000 1.3 +++ datastruct.c 29 May 2004 12:54:11 -0000 1.4 @@ -142,7 +142,7 @@ #ifdef DEBUG syslog (LOG_DEBUG, " +-- list element: %s)", st->path); #endif - if (strcmp (st->path, path)) return st; + if (strcmp (st->path, path) == 0) return st; else return get_fs_entry_from_list (hd->next, path); } |
|
From: mkoperto <mko...@us...> - 2004-05-29 08:26:29
|
Update of /cvsroot/sysfence/sysfence In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23197 Modified Files: sysfence.c Log Message: I forgot... Index: sysfence.c =================================================================== RCS file: /cvsroot/sysfence/sysfence/sysfence.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- sysfence.c 29 May 2004 08:23:59 -0000 1.22 +++ sysfence.c 29 May 2004 08:26:20 -0000 1.23 @@ -77,7 +77,7 @@ /* open files for reading data and detach from console */ open_files (); - //if (daemon (0, 0) != 0) bail_out (EXIT_IO, "daemon()"); + if (daemon (0, 0) != 0) bail_out (EXIT_IO, "daemon()"); /* initialize semaphore */ semid = semaphore_init (SEMAPHORE_SET); |
|
From: mkoperto <mko...@us...> - 2004-05-29 08:24:08
|
Update of /cvsroot/sysfence/sysfence In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22861 Modified Files: sysfence.c Log Message: + now works well (i hope so :)) Index: sysfence.c =================================================================== RCS file: /cvsroot/sysfence/sysfence/sysfence.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- sysfence.c 28 May 2004 23:29:10 -0000 1.21 +++ sysfence.c 29 May 2004 08:23:59 -0000 1.22 @@ -77,7 +77,7 @@ /* open files for reading data and detach from console */ open_files (); - if (daemon (0, 0) != 0) bail_out (EXIT_IO, "daemon()"); + //if (daemon (0, 0) != 0) bail_out (EXIT_IO, "daemon()"); /* initialize semaphore */ semid = semaphore_init (SEMAPHORE_SET); |
|
From: mkoperto <mko...@us...> - 2004-05-29 08:24:08
|
Update of /cvsroot/sysfence/sysfence/sys In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22861/sys Modified Files: processtitle.c sighandlers.c Log Message: + now works well (i hope so :)) Index: processtitle.c =================================================================== RCS file: /cvsroot/sysfence/sysfence/sys/processtitle.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- processtitle.c 28 May 2004 20:36:50 -0000 1.2 +++ processtitle.c 29 May 2004 08:23:59 -0000 1.3 @@ -69,10 +69,10 @@ switch (state) { case STATE_NORMAL: - sprintf (buf, "%s", RULE_PROCESS_NAME); + sprintf (buf, "%s", MAIN_PROCESS_NAME); break; case STATE_STOPPED: - sprintf (buf, "%s %s", RULE_PROCESS_NAME, + sprintf (buf, "%s %s", MAIN_PROCESS_NAME, STATE_STOPPED_NAME); break; default: Index: sighandlers.c =================================================================== RCS file: /cvsroot/sysfence/sysfence/sys/sighandlers.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- sighandlers.c 28 May 2004 20:36:50 -0000 1.2 +++ sighandlers.c 29 May 2004 08:23:59 -0000 1.3 @@ -50,6 +50,7 @@ case PARENT: memset (&schildact, 0, sizeof(schildact)); schildact.sa_handler = &schild_action; + schildact.sa_flags = SA_NOCLDSTOP; sigaction (SIGCHLD, &schildact, NULL); memset (&stermact, 0, sizeof(stermact)); |
|
From: Michal S. <em...@us...> - 2004-05-28 23:29:20
|
Update of /cvsroot/sysfence/sysfence/parseopt In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11687/parseopt Modified Files: parse.c Log Message: + fs watching enabled. this does not work properly yet Index: parse.c =================================================================== RCS file: /cvsroot/sysfence/sysfence/parseopt/parse.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- parse.c 26 May 2004 17:54:53 -0000 1.15 +++ parse.c 28 May 2004 23:29:10 -0000 1.16 @@ -255,14 +255,42 @@ #endif sf_atomic *at = (sf_atomic *) xalloc (NULL, sizeof (sf_atomic)); tokdata *var = tok, - *op = tok + 1, - *val = tok + 2; + *arg1 = NULL, + *arg2 = NULL, + *op, + *val; parserdata *res; double *tmp; + int skiptok = 3; - tok += 3; switch (var->type) { + // temporary hack ? + case ID_LA1: + case ID_LA5: + case ID_LA15: + case ID_MUSED: + case ID_MFREE: + case ID_SUSED: + case ID_SFREE: + op = tok + 1; + val = tok + 2; + break; + case ID_FSFREE: + case ID_FSAVAIL: + case ID_FSUSED: + arg1 = tok + 1; + op = tok + 2; + val = tok + 3; + skiptok ++; + break; + default: + op = NULL; + } + + tok += skiptok; + + switch (var->type) { case ID_LA1: at->thresh.type = DOUBLE; at->op = op->type; @@ -305,9 +333,49 @@ at->stat.label = ST_SWAP; at->stat.arg[0].resstat = VA_USED; break; + case ID_FSFREE: + at->thresh.type = INTEGER; + at->op = op->type; + at->stat.label = ST_FS; + at->stat.arg[0].resstat = VA_FREE; + at->stat.arg[1].path = (char *) arg1->val; + break; + case ID_FSAVAIL: + at->thresh.type = INTEGER; + at->op = op->type; + at->stat.label = ST_FS; + at->stat.arg[0].resstat = VA_AVAIL; + at->stat.arg[1].path = (char *) arg1->val; + break; + case ID_FSUSED: + at->thresh.type = INTEGER; + at->op = op->type; + at->stat.label = ST_FS; + at->stat.arg[0].resstat = VA_USED; + at->stat.arg[1].path = (char *) arg1->val; + break; default: return NULL; } + + /* check arguments */ + switch (var->type) { + case ID_FSFREE: + case ID_FSAVAIL: + case ID_FSUSED: + if (arg1->type != VA_STR) { +#ifdef DEBUG + parse_error (tok, thisfuncname, "no path given"); +#else + parse_error (tok); +#endif + } + /* register fs in database */ + add_fs_entry_to_list (&tmp_fs_db, (char *) arg1->val); + break; + default: + break; // to avoid warnings + } switch (op->type) { /* allow only operators */ |
|
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; |
|
From: Michal S. <em...@us...> - 2004-05-28 23:27:42
|
Update of /cvsroot/sysfence/sysfence In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11548 Modified Files: getstats.c getstats.h Log Message: + fs database handling * fixed DEBUG code Index: getstats.h =================================================================== RCS file: /cvsroot/sysfence/sysfence/getstats.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- getstats.h 26 May 2004 04:11:09 -0000 1.8 +++ getstats.h 28 May 2004 23:27:32 -0000 1.9 @@ -16,13 +16,15 @@ #define BUFSIZE 512 -#define FS_DATA_SIZE 32768 // 32k #define PROC_DATA_SIZE 524288 // 512k /* shared memory segments */ int db_shmid, fs_shmid, proc_shmid, rules_shmid; void *db_shm, *fs_shm, *proc_shm, *rules_shm; +/* temporary fs list (will be copied to *fs_shm after db initialization */ +sf_list *tmp_fs_db; + sf_database *main_db; sf_value get_stat_value (sf_stat_def *def); Index: getstats.c =================================================================== RCS file: /cvsroot/sysfence/sysfence/getstats.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- getstats.c 26 May 2004 17:39:12 -0000 1.12 +++ getstats.c 28 May 2004 23:27:32 -0000 1.13 @@ -32,9 +32,16 @@ sf_value get_stat_fs (sf_stat_def *def, sf_list *fslist) { - sf_value res; - - bail_out (EXIT_BUG, "get_stat_fs(): NIY"); + sf_value res; + sf_fs_stats *fs = get_fs_entry_from_list (fslist, def->arg[1].path); + sf_res_state slctr = def->arg[0].resstat; + +#ifdef DEBUG + syslog (LOG_DEBUG, "get_stat_fs(): fslist @ %x", fslist); +#endif + + res.type = INTEGER; + res.ptr = &(fs->val[slctr]); return res; } @@ -52,7 +59,7 @@ sf_res_state selector = def->arg[0].resstat; #ifdef DEBUG - syslog (LOG_DEBUG, "get_stat_value(%s) called from %s", def_2_string(def), caller); + syslog (LOG_DEBUG, "get_stat_value(%s)", def_2_string(def)); #endif switch (def->label) { |
|
From: Michal S. <em...@us...> - 2004-05-28 23:26:30
|
Update of /cvsroot/sysfence/sysfence In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11352 Modified Files: datastruct.c datastruct.h Log Message: + functions handling fs database Index: datastruct.h =================================================================== RCS file: /cvsroot/sysfence/sysfence/datastruct.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- datastruct.h 26 May 2004 04:07:13 -0000 1.2 +++ datastruct.h 28 May 2004 23:26:20 -0000 1.3 @@ -185,6 +185,8 @@ void add_def_to_list (sf_list **hd, sf_stat_def *def); int equal_defs (sf_stat_def *d1, sf_stat_def *d2); int uid_in_list (sf_list *hd, uid_t uid); +void add_fs_entry_to_list (sf_list **hd, char *path); +sf_fs_stats * get_fs_entry_from_list (sf_list *hd, char *path); char * def_2_string (sf_stat_def *def); /* $Id$ */ Index: datastruct.c =================================================================== RCS file: /cvsroot/sysfence/sysfence/datastruct.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- datastruct.c 26 May 2004 17:39:12 -0000 1.2 +++ datastruct.c 28 May 2004 23:26:20 -0000 1.3 @@ -84,6 +84,68 @@ return 1; } +void add_fs_entry_to_list (sf_list **hd, char *path) +{ + /* adds new fs entry to list of paths being watched + * used to register new paths while parsing config file + */ + sf_list *l = *hd; + sf_fs_stats *e; + +#ifdef DEBUG + if (!hd) + syslog (LOG_DEBUG, "add_fs_entry_to_list(NULL, %s)", path); + else if (! l) + syslog (LOG_DEBUG, "add_fs_entry_to_list(%x -> NULL, %s)", hd, path); + else + syslog (LOG_DEBUG, "add_fs_entry_to_list(%x -> %x, %s)", hd, l, path); +#endif + + if (! l) { + /* end-of-list reached, add entry */ + e = (sf_fs_stats *) xalloc (NULL, sizeof (sf_fs_stats)); + e->path = (char *) xalloc (NULL, strlen (path) + 1); + strcpy (e->path, path); + + l = (sf_list *) xalloc (NULL, sizeof (sf_list)); + l->next = NULL; + l->elsize = sizeof (sf_fs_stats); + l->el = (void *) e; + *hd = l; + return; + } + + e = (sf_fs_stats *) l->el; + + /* do not insert duplicates */ +#ifdef DEBUG + syslog (LOG_DEBUG, "? %s == %s", e->path, path); +#endif + if (strcmp (e->path, path) == 0) return; + + add_fs_entry_to_list (&(l->next), path); +} + +sf_fs_stats * get_fs_entry_from_list (sf_list *hd, char *path) +{ + /* finds an entry in list of paths being watched */ + sf_fs_stats *st; + +#ifdef DEBUG + syslog (LOG_DEBUG, "get_fs_entry_from_list(%x, %s)", hd, path); +#endif + + // not found + if (! hd) return NULL; + + st = (sf_fs_stats *) hd->el; +#ifdef DEBUG + syslog (LOG_DEBUG, " +-- list element: %s)", st->path); +#endif + if (strcmp (st->path, path)) return st; + else return get_fs_entry_from_list (hd->next, path); +} + int equal_defs (sf_stat_def *d1, sf_stat_def *d2) { /* checks if two defs describe the same stat */ |
|
From: Michal S. <em...@us...> - 2004-05-28 23:25:30
|
Update of /cvsroot/sysfence/sysfence/sys In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11130/sys Modified Files: log.c Log Message: * fixes Index: log.c =================================================================== RCS file: /cvsroot/sysfence/sysfence/sys/log.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- log.c 26 May 2004 17:30:42 -0000 1.1 +++ log.c 28 May 2004 23:25:18 -0000 1.2 @@ -37,7 +37,7 @@ thisbuf = (char *) xalloc (NULL, STRBUF + 1); defbuf = def_2_string ((sf_stat_def *) hd->el); #ifdef DEBUG - val = get_stat_value ((sf_stat_def *) hd->el, "stats_2_string()"); + val = get_stat_value ((sf_stat_def *) hd->el); #else val = get_stat_value ((sf_stat_def *) hd->el); #endif @@ -55,7 +55,7 @@ switch (val.type) { case INTEGER: - snprintf (thisbuf, STRBUF, "%s = %d", defbuf, *((long int *) val.ptr)); + snprintf (thisbuf, STRBUF, "%s = %ld", defbuf, *((long int *) val.ptr)); break; case DOUBLE: snprintf (thisbuf, STRBUF, "%s = %.2f", defbuf, *((double *) val.ptr)); |
|
From: Michal S. <em...@us...> - 2004-05-28 22:51:13
|
Update of /cvsroot/sysfence/sysfence In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5321 Modified Files: Makefile Log Message: * fixed typos Index: Makefile =================================================================== RCS file: /cvsroot/sysfence/sysfence/Makefile,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- Makefile 26 May 2004 17:20:52 -0000 1.22 +++ Makefile 28 May 2004 22:51:04 -0000 1.23 @@ -19,14 +19,14 @@ debug: gcc -DDEBUG -ggdb -c conditions.c -o conditions.o gcc -DDEBUG -ggdb -c getstats.c -o getstats.o - gcc -DDEBUG -ggdb -c datastruct.c -o datasruct.o + gcc -DDEBUG -ggdb -c datastruct.c -o datastruct.o make -C parseopt/ debug make -C sys/ debug gcc -DDEBUG -ggdb -c mainloop.c -o mainloop.o gcc -DDEBUG -ggdb -c cp2memory.c -o cp2memory.o gcc -DDEBUG -ggdb -c sysfence.c -o sysfence.o gcc -ggdb sysfence.o getstats.o conditions.o mainloop.o \ - cp2memory.o datastuct.o \ + cp2memory.o datastruct.o \ parseopt/lex.o parseopt/parse.o parseopt/confread.o \ sys/exit.o sys/xalloc.o sys/log.o \ sys/communication.o sys/sighandlers.o sys/processtitle.o \ |
|
From: mkoperto <mko...@us...> - 2004-05-28 20:36:59
|
Update of /cvsroot/sysfence/sysfence/sys In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9235/sys Modified Files: processtitle.c sighandlers.c sighandlers.h Log Message: + improved handling / blocking signals Index: processtitle.c =================================================================== RCS file: /cvsroot/sysfence/sysfence/sys/processtitle.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- processtitle.c 26 May 2004 17:30:42 -0000 1.1 +++ processtitle.c 28 May 2004 20:36:50 -0000 1.2 @@ -62,12 +62,22 @@ switch (process) { case MAIN_PROCESS: - length = strlen (MAIN_PROCESS_NAME); + length = strlen (MAIN_PROCESS_NAME) + strlen (STATE_STOPPED_NAME); /* do nothing if title too long */ if (length + 1 > SPT_BUFSIZE) return; - - sprintf (buf, "%s", MAIN_PROCESS_NAME); + + switch (state) { + case STATE_NORMAL: + sprintf (buf, "%s", RULE_PROCESS_NAME); + break; + case STATE_STOPPED: + sprintf (buf, "%s %s", RULE_PROCESS_NAME, + STATE_STOPPED_NAME); + break; + default: + return; + } break; case RULE_PROCESS: if (!rulename) return; Index: sighandlers.c =================================================================== RCS file: /cvsroot/sysfence/sysfence/sys/sighandlers.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- sighandlers.c 26 May 2004 17:30:42 -0000 1.1 +++ sighandlers.c 28 May 2004 20:36:50 -0000 1.2 @@ -28,16 +28,24 @@ #include "processtitle.h" -struct sigaction schildact, stermact, susr1act; +struct sigaction schildact, stermact, susr1act, scontact; +sigset_t sigblockset; void schild_action (int snumber); void sterm_action (int snumber); -void susr1_action (int snumber); +void susr1_parent_action (int snumber); +void susr1_child_action (int snumber); +void scont_parent_action (int snumber); +void scont_child_action (int snumber); void signal_init (int process) { + sigemptyset(&sigblockset); + sigaddset(&sigblockset, SIGTERM); + sigaddset(&sigblockset, SIGUSR1); + switch (process) { case PARENT: memset (&schildact, 0, sizeof(schildact)); @@ -48,41 +56,36 @@ stermact.sa_handler = &sterm_action; sigaction (SIGTERM, &stermact, NULL); + memset (&susr1act, 0, sizeof(susr1act)); + susr1act.sa_handler = &susr1_parent_action; + sigaction (SIGUSR1, &susr1act, NULL); + + memset (&scontact, 0, sizeof(scontact)); + scontact.sa_handler = &scont_parent_action; + sigaction (SIGCONT, &scontact, NULL); return; case CHILD: memset (&susr1act, 0, sizeof(susr1act)); - susr1act.sa_handler = &susr1_action; - sigaction (SIGCHLD, &susr1act, NULL); - - memset (&stermact, 0, sizeof(stermact)); - stermact.sa_handler = SIG_DFL; - sigaction (SIGTERM, &stermact, NULL); - + susr1act.sa_handler = &susr1_child_action; + sigaction (SIGUSR1, &susr1act, NULL); + + memset (&scontact, 0, sizeof(scontact)); + scontact.sa_handler = &scont_child_action; + sigaction (SIGCONT, &scontact, NULL); return; default: return; } - } -void signals (int onoff) +void signals_handling (int onoff) { switch (onoff) { - case SIGON: - susr1act.sa_handler = &susr1_action; - sigaction (SIGUSR1, &susr1act, NULL); - - stermact.sa_handler = SIG_DFL; - sigaction (SIGTERM, &stermact, NULL); - + case SIGBLOCK: + sigprocmask (SIG_BLOCK, &sigblockset, NULL); return; - case SIGOFF: - susr1act.sa_handler = SIG_IGN; - sigaction (SIGUSR1, &susr1act, NULL); - - stermact.sa_handler = SIG_IGN; - sigaction (SIGTERM, &stermact, NULL); - + case SIGUNBLOCK: + sigprocmask (SIG_UNBLOCK, &sigblockset, NULL); return; default: return; @@ -131,8 +134,37 @@ bail_out (EXIT_OK, NULL); } -void susr1_action (int snumber) +void susr1_parent_action (int snumber) { - //setproctitle (RULE_PROCESS, STATE_STOPPED, rule->name); + int i; + + /* send SIGUSR1 to child processes */ + for (i=0; i<rulecount; i++) + if (*(ruleprocesses + i)) kill ((pid_t)*(ruleprocesses + i), SIGUSR1); + + setproctitle (MAIN_PROCESS, STATE_STOPPED, NULL); raise (SIGSTOP); } + +void susr1_child_action (int snumber) +{ + setproctitle (RULE_PROCESS, STATE_STOPPED, rule->name); + raise (SIGSTOP); +} + +void scont_parent_action (int snumber) +{ + int i; + + /* send SIGCONT to child processes */ + for (i=0; i<rulecount; i++) + if (*(ruleprocesses + i)) kill ((pid_t)*(ruleprocesses + i), SIGCONT); + + setproctitle (MAIN_PROCESS, STATE_NORMAL, NULL); +} + +void scont_child_action (int snumber) +{ + setproctitle (RULE_PROCESS, STATE_NORMAL, rule->name); +} + Index: sighandlers.h =================================================================== RCS file: /cvsroot/sysfence/sysfence/sys/sighandlers.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- sighandlers.h 26 May 2004 17:30:42 -0000 1.1 +++ sighandlers.h 28 May 2004 20:36:50 -0000 1.2 @@ -15,8 +15,8 @@ #define PARENT 0 #define CHILD 1 -#define SIGON 0 -#define SIGOFF 1 +#define SIGBLOCK 0 +#define SIGUNBLOCK 1 -void signal_init (); -void signals (int onoff); +void signal_init (int process); +void signals_handling (int onoff); |
|
From: mkoperto <mko...@us...> - 2004-05-28 20:36:59
|
Update of /cvsroot/sysfence/sysfence In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9235 Modified Files: mainloop.c mainloop.h sysfence.c Log Message: + improved handling / blocking signals Index: sysfence.c =================================================================== RCS file: /cvsroot/sysfence/sysfence/sysfence.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- sysfence.c 26 May 2004 17:39:13 -0000 1.19 +++ sysfence.c 28 May 2004 20:36:50 -0000 1.20 @@ -139,20 +139,24 @@ /* child */ if (pid == 0) { + /* start handling signals */ + signal_init (CHILD); + /* process title */ initproctitle (argc, argv); - setproctitle (RULE_PROCESS, STATE_NORMAL, (*(shmruletab + i))->name); + rule = *(shmruletab + i); + setproctitle (RULE_PROCESS, STATE_NORMAL, rule->name); /* one child process one ruleset */ rule_watch_loop (*(shmruletab + i)); } else /* parent */ { /* start handling signals */ - signal_init (); + signal_init (PARENT); /* process title */ initproctitle (argc, argv); - setproctitle (MAIN_PROCESS, 0, NULL); + setproctitle (MAIN_PROCESS, STATE_NORMAL, NULL); /* parent goes into data-providing loop */ res_probe_loop (main_db); Index: mainloop.c =================================================================== RCS file: /cvsroot/sysfence/sysfence/mainloop.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- mainloop.c 26 May 2004 17:39:13 -0000 1.12 +++ mainloop.c 28 May 2004 20:36:50 -0000 1.13 @@ -25,6 +25,7 @@ #include "sys/communication.h" #include "mainloop.h" #include "sys/processtitle.h" +#include "sys/sighandlers.h" int step = 10; @@ -34,10 +35,12 @@ /* save result of this and previous hit */ rule->prevhit = rule->hit; - /* set semaphore while checking data */ + /* set semaphore while checking data and block signals */ + signals_handling (SIGBLOCK); semaphore_wait (semid); rule->hit = check_expression (rule->expr); semaphore_post (semid); + signals_handling (SIGUNBLOCK); if (rule->hit) { #ifdef DEBUG @@ -46,9 +49,11 @@ /* first - log if neccessary */ if (rule->log != NULL) { if (! (rule->log->once && rule->prevhit)) { + signals_handling (SIGBLOCK); semaphore_wait (semid); log_rulehit (rule); semaphore_post (semid); + signals_handling (SIGUNBLOCK); #ifdef DEBUG printf ("rule logged\n"); #endif @@ -81,12 +86,14 @@ { while (1) { - /* set semaphore while changing data */ + /* set semaphore while changing data and block signals */ + signals_handling (SIGBLOCK); semaphore_wait (semid); fetch_la (db); fetch_mem (db); fetch_fs (db); semaphore_post (semid); + signals_handling (SIGUNBLOCK); sleep (step); } Index: mainloop.h =================================================================== RCS file: /cvsroot/sysfence/sysfence/mainloop.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- mainloop.h 23 May 2004 20:52:22 -0000 1.4 +++ mainloop.h 28 May 2004 20:36:50 -0000 1.5 @@ -18,6 +18,7 @@ int rule_shmid; int *ruleprocesses; int rulecount; +sf_rule *rule; void rule_watch_loop (sf_rule *rule); void res_probe_loop (sf_database *db); |
|
From: Michal S. <em...@us...> - 2004-05-28 14:33:53
|
Update of /cvsroot/sysfence/sysfence/dokprojektlic In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2997 Modified Files: main.tex Log Message: + my settings Index: main.tex =================================================================== RCS file: /cvsroot/sysfence/sysfence/dokprojektlic/main.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- main.tex 26 May 2004 20:02:34 -0000 1.1 +++ main.tex 28 May 2004 14:33:31 -0000 1.2 @@ -1,13 +1,13 @@ %------------------------------------------------------------------------------ -\documentclass[12pt,a4paper]{mwart} +\documentclass[12pt,twoside,a4paper]{mwart} \pagestyle{headings} -\usepackage[utf8]{inputenc} -\usepackage[OT4]{fontenc} \usepackage[polish]{babel} -\usepackage{graphicx} +\usepackage[T1]{fontenc} +\usepackage[latin2]{inputenc} +\usepackage[dvips]{graphicx} \usepackage{subfigure} - \begin{document} +\sloppy % title page %\input{titlepage} |
|
From: Michal S. <em...@us...> - 2004-05-28 14:33:16
|
Update of /cvsroot/sysfence/sysfence/dokprojektlic In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1236 Added Files: Makefile Log Message: + Makefile --- NEW FILE: Makefile --- all: latex main.tex dvips main.dvi -o dokumentacja.ps |
|
From: mkoperto <mko...@us...> - 2004-05-26 20:02:43
|
Update of /cvsroot/sysfence/sysfence/dokprojektlic In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13091 Added Files: abstract.tex bibliography.tex main.tex speckonstrukcyjna.tex specuzytkownika.tex testowanie.tex titlepage.tex wstep.tex wymagania.tex Log Message: dokumentacja do projektu - pozniej sie usunie --- NEW FILE: wstep.tex --- --- NEW FILE: testowanie.tex --- --- NEW FILE: titlepage.tex --- \author{} \title{Projekt licencjacki} \maketitle --- NEW FILE: specuzytkownika.tex --- --- NEW FILE: main.tex --- %------------------------------------------------------------------------------ \documentclass[12pt,a4paper]{mwart} \pagestyle{headings} \usepackage[utf8]{inputenc} \usepackage[OT4]{fontenc} \usepackage[polish]{babel} \usepackage{graphicx} \usepackage{subfigure} \begin{document} % title page %\input{titlepage} % abstract %\input{abstract} % tu dodawac rozdzialy: %\input{wstep} %\input{specuzytkownika} %\input{wymagania} %\input{speckonstrukcyjna} %\input{testowanie} % appendix %\appendix %\input{appendix/a} % bibliography %\input{bibliography} % table of contents %\tableofcontents \end{document} --- NEW FILE: speckonstrukcyjna.tex --- --- NEW FILE: abstract.tex --- \abstract{} --- NEW FILE: bibliography.tex --- \begin{thebibliography}{999999} \end{thebibliography} --- NEW FILE: wymagania.tex --- |
|
From: mkoperto <mko...@us...> - 2004-05-26 20:01:34
|
Update of /cvsroot/sysfence/sysfence/dokprojektlic/figures In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12853/figures Log Message: Directory /cvsroot/sysfence/sysfence/dokprojektlic/figures added to the repository |
|
From: mkoperto <mko...@us...> - 2004-05-26 20:00:32
|
Update of /cvsroot/sysfence/sysfence/dokprojektlic In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12622/dokprojektlic Log Message: Directory /cvsroot/sysfence/sysfence/dokprojektlic added to the repository |
|
From: Michal S. <em...@us...> - 2004-05-26 18:23:14
|
Update of /cvsroot/sysfence/sysfence In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21440 Modified Files: conditions.c Log Message: + ? it was working yesterday ? Index: conditions.c =================================================================== RCS file: /cvsroot/sysfence/sysfence/conditions.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- conditions.c 26 May 2004 17:39:12 -0000 1.6 +++ conditions.c 26 May 2004 18:23:04 -0000 1.7 @@ -54,7 +54,7 @@ int check_atomic (sf_atomic *at) { - sf_value val = get_stat_value (at->stat); + sf_value val = get_stat_value (&(at->stat)); double dv = *((double *) val.ptr), dt = *((double *) at->thresh.ptr); long int iv = *((long int *) val.ptr), |