/[monit]/monit/state.c
ViewVC logotype

Diff of /monit/state.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.12 by chopp, Wed Aug 13 22:18:43 2003 UTC revision 1.13 by hauk, Thu Aug 14 21:43:14 2003 UTC
# Line 109  void state_save() { Line 109  void state_save() {
109    Service_T s;    Service_T s;
110    State_T state;    State_T state;
111    FILE *S= NULL;    FILE *S= NULL;
112      sigset_t ns,os;
113        
114    if(! (S= open_state("w")))    if(! (S= open_state("w")))
115        return;        return;
116    
117      set_signal_block(&ns, &os);
118    
119    l= get_service_list_length();    l= get_service_list_length();
120        
121    if(fwrite(&l, 1, sizeof (int), S) != sizeof(int)) {    if(fwrite(&l, 1, sizeof (int), S) != sizeof(int)) {
# Line 132  void state_save() { Line 135  void state_save() {
135        
136    error:    error:
137    close_state(S);    close_state(S);
138      unset_signal_block(&os);
139        
140  }  }
141    
# Line 185  void state_update() { Line 189  void state_update() {
189    int l= 0;    int l= 0;
190    State_T s;    State_T s;
191    FILE *S= NULL;    FILE *S= NULL;
192      sigset_t ns, os;
193    Service_T service;    Service_T service;
194    int has_error= FALSE;    int has_error= FALSE;
195        
196    if(! (S= open_state("r")))    if(! (S= open_state("r")))
197        return;        return;
198        
199      set_signal_block(&ns, &os);
200    
201    errno= 0;    errno= 0;
202    if(fread(&l, 1, sizeof (int), S) != sizeof(int)) {    if(fread(&l, 1, sizeof (int), S) != sizeof(int)) {
203      log("%s: Unable to read monit state information from '%s'\n",      log("%s: Unable to read monit state information from '%s'\n",
# Line 215  void state_update() { Line 222  void state_update() {
222    
223    error:    error:
224    close_state(S);    close_state(S);
225      unset_signal_block(&os);
226    
227    if(!has_error)    if(!has_error)
228        state_save();        state_save();
229      
230  }  }
231    
232    
# Line 272  static void clone_state(Service_T servic Line 280  static void clone_state(Service_T servic
280    state->nstart= service->nstart;    state->nstart= service->nstart;
281    state->ncycle= service->ncycle;    state->ncycle= service->ncycle;
282    state->do_monitor= service->do_monitor;    state->do_monitor= service->do_monitor;
283    state->has_checksum_error= service->checksum?service->checksum->has_error:FALSE;    state->has_checksum_error= service->checksum?
284          service->checksum->has_error:FALSE;
285    state->has_permission_error= service->perm?service->perm->has_error:FALSE;    state->has_permission_error= service->perm?service->perm->has_error:FALSE;
286    state->has_uid_error= service->uid?service->uid->has_error:FALSE;    state->has_uid_error= service->uid?service->uid->has_error:FALSE;
287    state->has_gid_error= service->gid?service->gid->has_error:FALSE;    state->has_gid_error= service->gid?service->gid->has_error:FALSE;

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26