This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.25-576-gb87d473


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  b87d47396f8e036a111fed8816254cfe1cf87cb2 (commit)
      from  b1e7c13cc58572600809d5173fed2c00c38af2e7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=b87d47396f8e036a111fed8816254cfe1cf87cb2

commit b87d47396f8e036a111fed8816254cfe1cf87cb2
Author: Florian Weimer <fweimer@redhat.com>
Date:   Fri Jun 23 18:10:41 2017 +0200

    resolv/res_libc.c: Reformat to GNU style

diff --git a/ChangeLog b/ChangeLog
index 3108d48..093eea9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2017-06-23  Florian Weimer  <fweimer@redhat.com>
 
+	* resolv/res_libc.c: Reformat to GNU style.
+
+2017-06-23  Florian Weimer  <fweimer@redhat.com>
+
 	* resolv/resolv-internal.h (__res_initstamp): Declare.
 	* resolv/res_init.c (__res_initstamp): Remove hidden attribute.
 	It is implied by the declaration.
diff --git a/resolv/res_libc.c b/resolv/res_libc.c
index f322e8c..3d7b4f7 100644
--- a/resolv/res_libc.c
+++ b/resolv/res_libc.c
@@ -1,3 +1,21 @@
+/* Definitions related to res_init linked into libc instead of libresolv.
+   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
 /*
  * Copyright (c) 1995-1999 by Internet Software Consortium.
  *
@@ -15,9 +33,6 @@
  * SOFTWARE.
  */
 
-/* This file contains the definitions related to res_init which are
-   linked into libc instead of libresolv.  */
-
 #include <atomic.h>
 #include <limits.h>
 #include <sys/types.h>
@@ -40,74 +55,78 @@ __libc_lock_define_initialized (static, lock);
 #endif
 
 int
-res_init(void) {
-	/*
-	 * These three fields used to be statically initialized.  This made
-	 * it hard to use this code in a shared library.  It is necessary,
-	 * now that we're doing dynamic initialization here, that we preserve
-	 * the old semantics: if an application modifies one of these three
-	 * fields of _res before res_init() is called, res_init() will not
-	 * alter them.  Of course, if an application is setting them to
-	 * _zero_ before calling res_init(), hoping to override what used
-	 * to be the static default, we can't detect it and unexpected results
-	 * will follow.  Zero for any of these fields would make no sense,
-	 * so one can safely assume that the applications were already getting
-	 * unexpected results.
-	 *
-	 * _res.options is tricky since some apps were known to diddle the bits
-	 * before res_init() was first called. We can't replicate that semantic
-	 * with dynamic initialization (they may have turned bits off that are
-	 * set in RES_DEFAULT).  Our solution is to declare such applications
-	 * "broken".  They could fool us by setting RES_INIT but none do (yet).
-	 */
-	if (!_res.retrans)
-		_res.retrans = RES_TIMEOUT;
-	if (!_res.retry)
-		_res.retry = RES_DFLRETRY;
-	if (!(_res.options & RES_INIT))
-		_res.options = RES_DEFAULT;
-	else if (_res.nscount > 0)
-		__res_iclose (&_res, true);	/* Close any VC sockets.  */
-
-	/*
-	 * This one used to initialize implicitly to zero, so unless the app
-	 * has set it to something in particular, we can randomize it now.
-	 */
-	if (!_res.id)
-		_res.id = res_randomid();
-
-	atomicinclock (lock);
-	/* Request all threads to re-initialize their resolver states,
-	   resolv.conf might have changed.  */
-	atomicinc (__res_initstamp);
-	atomicincunlock (lock);
-
-	return (__res_vinit(&_res, 1));
+res_init (void)
+{
+  /* These three fields used to be statically initialized.  This made
+     it hard to use this code in a shared library.  It is necessary,
+     now that we're doing dynamic initialization here, that we
+     preserve the old semantics: if an application modifies one of
+     these three fields of _res before res_init is called,
+     res_init will not alter them.  Of course, if an application is
+     setting them to _zero_ before calling res_init, hoping to
+     override what used to be the static default, we can't detect it
+     and unexpected results will follow.  Zero for any of these fields
+     would make no sense, so one can safely assume that the
+     applications were already getting unexpected results.
+
+     _res.options is tricky since some apps were known to diddle the
+     bits before res_init was first called. We can't replicate that
+     semantic with dynamic initialization (they may have turned bits
+     off that are set in RES_DEFAULT).  Our solution is to declare
+     such applications "broken".  They could fool us by setting
+     RES_INIT but none do (yet).  */
+  if (!_res.retrans)
+    _res.retrans = RES_TIMEOUT;
+  if (!_res.retry)
+    _res.retry = RES_DFLRETRY;
+  if (!(_res.options & RES_INIT))
+    _res.options = RES_DEFAULT;
+  else if (_res.nscount > 0)
+    __res_iclose (&_res, true); /* Close any VC sockets.  */
+
+  /* This one used to initialize implicitly to zero, so unless the app
+     has set it to something in particular, we can randomize it *
+     now.  */
+  if (!_res.id)
+    _res.id = res_randomid ();
+
+  atomicinclock (lock);
+  /* Request all threads to re-initialize their resolver states,
+     resolv.conf might have changed.  */
+  atomicinc (__res_initstamp);
+  atomicincunlock (lock);
+
+  return __res_vinit (&_res, 1);
 }
 
-/* Initialize resp if RES_INIT is not yet set or if res_init in some other
-   thread requested re-initializing.  */
+/* Initialize *RESP if RES_INIT is not yet set in RESP->options, or if
+   res_init in some other thread requested re-initializing.  */
 int
 __res_maybe_init (res_state resp, int preinit)
 {
-	if (resp->options & RES_INIT) {
-		if (__res_initstamp != resp->_u._ext.initstamp) {
-			if (resp->nscount > 0)
-				__res_iclose (resp, true);
-			return __res_vinit (resp, 1);
-		}
-		return 0;
-	} else if (preinit) {
-		if (!resp->retrans)
-			resp->retrans = RES_TIMEOUT;
-		if (!resp->retry)
-			resp->retry = RES_DFLRETRY;
-		resp->options = RES_DEFAULT;
-		if (!resp->id)
-			resp->id = res_randomid ();
-		return __res_vinit (resp, 1);
-	} else
-		return __res_ninit (resp);
+  if (resp->options & RES_INIT)
+    {
+      if (__res_initstamp != resp->_u._ext.initstamp)
+        {
+          if (resp->nscount > 0)
+            __res_iclose (resp, true);
+          return __res_vinit (resp, 1);
+        }
+      return 0;
+    }
+  else if (preinit)
+    {
+      if (!resp->retrans)
+        resp->retrans = RES_TIMEOUT;
+      if (!resp->retry)
+        resp->retry = RES_DFLRETRY;
+      resp->options = RES_DEFAULT;
+      if (!resp->id)
+        resp->id = res_randomid ();
+      return __res_vinit (resp, 1);
+    }
+  else
+    return __res_ninit (resp);
 }
 libc_hidden_def (__res_maybe_init)
 
@@ -133,7 +152,7 @@ extern __thread struct __res_state *__libc_resp
 compat_symbol (libc, _res, _res, GLIBC_2_0);
 #endif
 
-#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2)
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
 # undef res_init
 extern int __res_init_weak (void);
 weak_extern (__res_init_weak);

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog         |    4 ++
 resolv/res_libc.c |  153 ++++++++++++++++++++++++++++++-----------------------
 2 files changed, 90 insertions(+), 67 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]