w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

pixman-timer.c
Go to the documentation of this file.
1 /*
2  * Copyright © 2007 Red Hat, Inc.
3  *
4  * Permission to use, copy, modify, distribute, and sell this software and its
5  * documentation for any purpose is hereby granted without fee, provided that
6  * the above copyright notice appear in all copies and that both that
7  * copyright notice and this permission notice appear in supporting
8  * documentation, and that the name of Red Hat not be used in advertising or
9  * publicity pertaining to distribution of the software without specific,
10  * written prior permission. Red Hat makes no representations about the
11  * suitability of this software for any purpose. It is provided "as is"
12  * without express or implied warranty.
13  *
14  * RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL RED HAT
16  * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
17  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
18  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
19  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
20  */
21 
22 #ifdef HAVE_CONFIG_H
23 #include <config.h>
24 #endif
25 
26 #include <stdlib.h>
27 #include <stdio.h>
28 #include "pixman-private.h"
29 
30 #ifdef PIXMAN_TIMERS
31 
32 static pixman_timer_t *timers;
33 
34 static void
35 dump_timers (void)
36 {
37  pixman_timer_t *timer;
38 
39  for (timer = timers; timer != NULL; timer = timer->next)
40  {
41  printf ("%s: total: %llu n: %llu avg: %f\n",
42  timer->name,
43  timer->total,
44  timer->n_times,
45  timer->total / (double)timer->n_times);
46  }
47 }
48 
49 void
50 pixman_timer_register (pixman_timer_t *timer)
51 {
52  static int initialized;
53 
54  int atexit (void (*function)(void));
55 
56  if (!initialized)
57  {
58  atexit (dump_timers);
59  initialized = 1;
60  }
61 
62  timer->next = timers;
63  timers = timer;
64 }
65 
66 #endif
int printf()
#define NULL
Definition: ftobjs.h:61
int atexit(void(*)(void))