diff options
author | Jeremy Allison <jra@samba.org> | 2002-04-30 13:28:41 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2002-04-30 13:28:41 +0000 |
commit | d04b55f2186fb8af998cf61c576771a5f72f4892 (patch) | |
tree | 9ff8c3a7cf34cefc0ee9a550a3bb1236a9e77595 /source/smbd/process.c | |
parent | 73267ca42d9eddabb71b31b4c5068ebbe7bc9f7c (diff) | |
download | samba-d04b55f2186fb8af998cf61c576771a5f72f4892.tar.gz samba-d04b55f2186fb8af998cf61c576771a5f72f4892.tar.xz samba-d04b55f2186fb8af998cf61c576771a5f72f4892.zip |
Start of merge to 2_2_RELEASE branch for release.
Jeremy.
Diffstat (limited to 'source/smbd/process.c')
-rw-r--r-- | source/smbd/process.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/source/smbd/process.c b/source/smbd/process.c index 1299fd20e3a..e882853e6de 100644 --- a/source/smbd/process.c +++ b/source/smbd/process.c @@ -47,6 +47,7 @@ extern int global_oplock_break; extern userdom_struct current_user_info; extern int smb_read_error; extern VOLATILE sig_atomic_t reload_after_sighup; +extern VOLATILE sig_atomic_t got_sig_term; extern BOOL global_machine_password_needs_changing; extern fstring global_myworkgroup; extern pstring global_myname; @@ -108,9 +109,10 @@ BOOL push_oplock_pending_smb_message(char *buf, int msg_len) } /**************************************************************************** -do all async processing in here. This includes UDB oplock messages, kernel -oplock messages, change notify events etc. + Do all async processing in here. This includes UDB oplock messages, kernel + oplock messages, change notify events etc. ****************************************************************************/ + static void async_processing(fd_set *fds, char *buffer, int buffer_len) { /* check for oplock messages (both UDP and kernel) */ @@ -118,6 +120,10 @@ static void async_processing(fd_set *fds, char *buffer, int buffer_len) process_local_message(buffer, buffer_len); } + if (got_sig_term) { + exit_server("Caught TERM signal"); + } + /* check for async change notify events */ process_pending_change_notify_queue(0); @@ -126,7 +132,7 @@ static void async_processing(fd_set *fds, char *buffer, int buffer_len) change_to_root_user(); DEBUG(1,("Reloading services after SIGHUP\n")); reload_services(False); - reload_after_sighup = False; + reload_after_sighup = 0; } } @@ -1063,7 +1069,7 @@ void check_reload(int t) if (reload_after_sighup || (t >= last_smb_conf_reload_time+SMBD_RELOAD_CHECK)) { reload_services(True); - reload_after_sighup = False; + reload_after_sighup = 0; last_smb_conf_reload_time = t; } } |