summaryrefslogtreecommitdiff
path: root/gtimer.c
diff options
context:
space:
mode:
authorSebastian Wilhelmi <wilhelmi@ira.uka.de>1999-06-17 15:39:31 +0000
committerSebastian Wilhelmi <wilhelmi@src.gnome.org>1999-06-17 15:39:31 +0000
commit90f6cc9bf2453e5da385b2d547704091dd8afbb8 (patch)
tree185b523416ce210680c328dc2dbeae90d349d731 /gtimer.c
parented49525102be3f9db6300dae0d369a92c19b2e66 (diff)
downloadglib-90f6cc9bf2453e5da385b2d547704091dd8afbb8.tar.gz
Completed the thread support in GLib. Thread creation, prioritizing
1999-06-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de> * configure.in, acglib.m4, acconfig.h, glib.h, gthread.c: Completed the thread support in GLib. Thread creation, prioritizing threads, yielding, joining threads as well as reader/writer locks and recursive mutexes are now in place. Please test heavily on your platform. It is so far tested on Linux/i386/pthreads, Solaris/Sparc/pthreads and Solaris/Sparc/solaristhreads. * gtimer.c, glib.h: Implement g_usleep (gulong microseconds) for thread safe sleeping. (sleep() is not MT-safe at all!) * gutils.c: Avoid compiler warning. * tests/Makefile.am, tests/thread-test.c: New program to test some aspects of the thread implementation. * gthread.c, Makefile.am: Renamed from gmutex.c to reflect the change of content. * configure.in: Purged all appearances of nspr. * gthread/gthread-posix.c, gthread-solaris.c: Added the native implementations for the GLib's extended thread support. * gthread/gthread-nspr.c: Removed for good. NSPR is nothing we would want to build upon. * gthread/gthread.c: Renamed to gthread-impl.c to avoid confusion with ../gthread.c (Formerly known as the file called gmutex.c) * gthread/testgthread.c: Removed. The new and much extended tests are in ../tests/thread-test.c. * gthread/Makefile.am: Changed to reflect the changes above.
Diffstat (limited to 'gtimer.c')
-rw-r--r--gtimer.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/gtimer.c b/gtimer.c
index 854ec6714..0e61f63f0 100644
--- a/gtimer.c
+++ b/gtimer.c
@@ -176,7 +176,7 @@ g_timer_elapsed (GTimer *timer,
if (rtimer->start.tv_usec > rtimer->end.tv_usec)
{
- rtimer->end.tv_usec += 1000000;
+ rtimer->end.tv_usec += G_MICROSEC;
rtimer->end.tv_sec--;
}
@@ -191,3 +191,13 @@ g_timer_elapsed (GTimer *timer,
return total;
}
+
+void
+g_usleep (gulong microseconds)
+{
+ struct timeval tv;
+ tv.tv_sec = microseconds / G_MICROSEC;
+ tv.tv_usec = microseconds % G_MICROSEC;
+ select(0, NULL, NULL, NULL, &tv);
+}
+