From e86cba2194a04a581b872076d408c66c28b16760 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Wed, 10 May 2000 11:49:55 +0000 Subject: check for sighup on each packet - otherwise it can take a _long_ time to reload services (This used to be commit 0fb4ba4e037f25b8b75bcae0ecb1d9b43f0f9e5f) --- source3/smbd/process.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'source3/smbd/process.c') diff --git a/source3/smbd/process.c b/source3/smbd/process.c index ac81116999..3d2a507cca 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -1012,6 +1012,18 @@ void smbd_process(void) /* free up temporary memory */ lp_talloc_free(); + /* + * If reload_after_sighup == True then we got a SIGHUP + * and are being asked to reload. Fix from + */ + if (reload_after_sighup) { + /* become root */ + unbecome_user(); + DEBUG(1,("Reloading services after SIGHUP\n")); + reload_services(False); + reload_after_sighup = False; + } + while(!receive_message_or_smb(InBuffer,BUFFER_SIZE,select_timeout,&got_smb)) { if(!timeout_processing( deadtime, &select_timeout, &last_timeout_processing_time)) -- cgit