mirror of
https://github.com/gryf/wmtemp.git
synced 2025-12-17 19:40:27 +01:00
Attempt to use nvclock code for reading GPU temperature, since running
nvidia-settings couple of times for a second is highly inefficient.
This commit is contained in:
67
nvclock/libc_wrapper.c
Normal file
67
nvclock/libc_wrapper.c
Normal file
@@ -0,0 +1,67 @@
|
||||
/* Excerpt from: */
|
||||
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/shared/libc_wrapper.c,v 1.70 2000/09/26 15:57:20 tsi Exp $ */
|
||||
/*
|
||||
* Copyright 1997 by The XFree86 Project, Inc.
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
* the above copyright notice appear in all copies and that both that
|
||||
* copyright notice and this permission notice appear in supporting
|
||||
* documentation, and that the names of Orest Zborowski and David Wexelblat
|
||||
* not be used in advertising or publicity pertaining to distribution of
|
||||
* the software without specific, written prior permission. Orest Zborowski
|
||||
* and David Wexelblat make no representations about the suitability of this
|
||||
* software for any purpose. It is provided "as is" without express or
|
||||
* implied warranty.
|
||||
*
|
||||
* THE XFREE86 PROJECT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD
|
||||
* TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS, IN NO EVENT SHALL OREST ZBOROWSKI OR DAVID WEXELBLAT BE LIABLE
|
||||
* FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include "xfree.h"
|
||||
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include <sys/time.h>
|
||||
|
||||
/* Misc functions. Some are ANSI C, some are not. */
|
||||
|
||||
/* FIXME might use nanosleep (POSIX) here. */
|
||||
/* resolution of 1/HZ s (i.e, 10 ms on Linux/i386 and 1 ms on Linux/Alpha). */
|
||||
/* If the process is scheduled under a real-time policy like
|
||||
SCHED_FIFO or SCHED_RR, then pauses of up to 2 ms will be
|
||||
performed as busy waits with microsecond precision.
|
||||
*/
|
||||
|
||||
void
|
||||
xf86usleep(usec)
|
||||
unsigned long usec;
|
||||
{
|
||||
#if (defined(SYSV) || defined(SVR4)) && !defined(sun)
|
||||
syscall(3112, (usec) / 1000 + 1);
|
||||
#else
|
||||
usleep(usec);
|
||||
#endif
|
||||
}
|
||||
|
||||
void xf86getsecs(long * secs, long * usecs)
|
||||
{
|
||||
struct timeval tv;
|
||||
|
||||
gettimeofday(&tv, NULL);
|
||||
*secs = tv.tv_sec;
|
||||
*usecs= tv.tv_usec;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user