diff options
author | Sebastian Wilhelmi <wilhelmi@ira.uka.de> | 1999-06-17 15:39:31 +0000 |
---|---|---|
committer | Sebastian Wilhelmi <wilhelmi@src.gnome.org> | 1999-06-17 15:39:31 +0000 |
commit | 90f6cc9bf2453e5da385b2d547704091dd8afbb8 (patch) | |
tree | 185b523416ce210680c328dc2dbeae90d349d731 /gtimer.c | |
parent | ed49525102be3f9db6300dae0d369a92c19b2e66 (diff) | |
download | glib-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.c | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -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); +} + |