bug-glibc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Avoid over-clever trick `if (called++) return;'


From: Martin Buchholz
Subject: Avoid over-clever trick `if (called++) return;'
Date: Sat, 18 Nov 2000 16:02:22 +0900 (JST)

This avoids a bug after 2**32 shared libraries have been loaded, when
`called' will wrap.

It might also save a cycle (but on every program execution).

Index: ChangeLog
===================================================================
RCS file: /cvs/libc/ChangeLog,v
retrieving revision 1.4281
diff -u -w -U0 -r1.4281 ChangeLog
--- ChangeLog   2000/09/08 08:41:44     1.4281
+++ ChangeLog   2000/11/18 06:58:36
@@ -0,0 +1,11 @@
+2000-11-18  Martin Buchholz  <address@hidden>
+
+       * csu/gmon-start.c (__gmon_start__): 
+       Avoid over-clever trick `if (called++) return;'
+
Index: csu/gmon-start.c
===================================================================
RCS file: /cvs/libc/csu/gmon-start.c,v
retrieving revision 1.7
diff -u -w -r1.7 gmon-start.c
--- csu/gmon-start.c    2000/04/21 03:38:54     1.7
+++ csu/gmon-start.c    2000/11/18 06:58:37
@@ -48,8 +48,10 @@
      into every shared library, each of their init functions will call us.  */
   static int called;
 
-  if (called++)
+  if (called)
     return;
+
+  called = 1;
 #endif
 
   /* Start keeping profiling records.  */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]