X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fstatd%2Fsvc_run.c;h=d98ecee45f8dcf8934d6ac84bcbcde839afee3cf;hp=f6bcbb906df907cd847cbe57d5a042d008c89abe;hb=a8dcaa282122b5db8f4ffb7e5d99b2c4b62cbb78;hpb=2a8ca391fcc5f34aa02aa985a17823f6f7a4ad9f diff --git a/utils/statd/svc_run.c b/utils/statd/svc_run.c index f6bcbb9..d98ecee 100644 --- a/utils/statd/svc_run.c +++ b/utils/statd/svc_run.c @@ -7,32 +7,31 @@ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2009, Sun Microsystems, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither the name of Sun Microsystems, Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ /* @@ -47,7 +46,11 @@ * This is the RPC server side idle loop. * Wait for input, call server program. */ -#include "config.h" + +#ifdef HAVE_CONFIG_H +#include +#endif + #include #include #include "statd.h" @@ -60,7 +63,6 @@ static int svc_stop = 0; * requests are put. */ notify_list * notify = NULL; -int re_notify = 0; /* * Jump-off function. @@ -87,13 +89,6 @@ my_svc_run(void) for (;;) { if (svc_stop) return; - if (re_notify) { - change_state(); - dprintf(N_DEBUG, "Notifying...(new state %d)", - MY_STATE); - notify_hosts(); - re_notify = 0; - } /* Ah, there are some notifications to be processed */ while (notify && NL_WHEN(notify) <= time(&now)) { @@ -106,14 +101,12 @@ my_svc_run(void) tv.tv_sec = NL_WHEN(notify) - now; tv.tv_usec = 0; - dprintf(N_DEBUG, "Waiting for reply... (timeo %d)", + xlog(D_GENERAL, "Waiting for reply... (timeo %d)", tv.tv_sec); selret = select(FD_SETSIZE, &readfds, (void *) 0, (void *) 0, &tv); - } else if (run_mode & MODE_NOTIFY_ONLY) - return; - else { - dprintf(N_DEBUG, "Waiting for client connections."); + } else { + xlog(D_GENERAL, "Waiting for client connections"); selret = select(FD_SETSIZE, &readfds, (void *) 0, (void *) 0, (struct timeval *) 0); } @@ -123,7 +116,7 @@ my_svc_run(void) if (errno == EINTR || errno == ECONNREFUSED || errno == ENETUNREACH || errno == EHOSTUNREACH) continue; - note(N_ERROR, "my_svc_run() - select: %m"); + xlog(L_ERROR, "my_svc_run() - select: %m"); return; case 0: