glib2 0.90.8-x86-mingw32 → 0.90.9-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +46 -0
- data/Rakefile +1 -0
- data/ext/glib2/rbglib.h +1 -1
- data/ext/glib2/rbglib_iochannel.c +15 -6
- data/ext/glib2/rbgobj_signal.c +1 -1
- data/ext/glib2/rbgobject.h +1 -1
- data/lib/1.8/glib2.so +0 -0
- data/lib/1.9/glib2.so +0 -0
- data/lib/gnome2-raketask.rb +3 -2
- data/lib/mkmf-gnome2.rb +47 -23
- data/test/glib-test-init.rb +1 -3
- data/vendor/local/bin/glib-genmarshal.exe +0 -0
- data/vendor/local/bin/glib-gettextize +2 -2
- data/vendor/local/bin/glib-mkenums +3 -2
- data/vendor/local/bin/gobject-query.exe +0 -0
- data/vendor/local/bin/gspawn-win32-helper-console.exe +0 -0
- data/vendor/local/bin/gspawn-win32-helper.exe +0 -0
- data/vendor/local/bin/libgio-2.0-0.dll +0 -0
- data/vendor/local/bin/libglib-2.0-0.dll +0 -0
- data/vendor/local/bin/libgmodule-2.0-0.dll +0 -0
- data/vendor/local/bin/libgobject-2.0-0.dll +0 -0
- data/vendor/local/bin/libgthread-2.0-0.dll +0 -0
- data/vendor/local/include/glib-2.0/gio/gaction.h +91 -0
- data/vendor/local/include/glib-2.0/gio/gactiongroup.h +151 -0
- data/vendor/local/include/glib-2.0/gio/gappinfo.h +11 -1
- data/vendor/local/include/glib-2.0/gio/gapplication.h +165 -0
- data/vendor/local/include/glib-2.0/gio/gapplicationcommandline.h +118 -0
- data/vendor/local/include/glib-2.0/gio/gasyncresult.h +2 -2
- data/vendor/local/include/glib-2.0/gio/gcancellable.h +2 -0
- data/vendor/local/include/glib-2.0/gio/gemblemedicon.h +15 -0
- data/vendor/local/include/glib-2.0/gio/gfileenumerator.h +2 -2
- data/vendor/local/include/glib-2.0/gio/gfileinputstream.h +1 -1
- data/vendor/local/include/glib-2.0/gio/gfileiostream.h +1 -1
- data/vendor/local/include/glib-2.0/gio/gfilemonitor.h +1 -1
- data/vendor/local/include/glib-2.0/gio/gfileoutputstream.h +1 -1
- data/vendor/local/include/glib-2.0/gio/gio.h +14 -0
- data/vendor/local/include/glib-2.0/gio/gioenums.h +158 -2
- data/vendor/local/include/glib-2.0/gio/gioenumtypes.h +12 -0
- data/vendor/local/include/glib-2.0/gio/giomodule.h +1 -1
- data/vendor/local/include/glib-2.0/gio/giostream.h +11 -0
- data/vendor/local/include/glib-2.0/gio/giotypes.h +48 -0
- data/vendor/local/include/glib-2.0/gio/goutputstream.h +1 -1
- data/vendor/local/include/glib-2.0/gio/gpollableinputstream.h +101 -0
- data/vendor/local/include/glib-2.0/gio/gpollableoutputstream.h +98 -0
- data/vendor/local/include/glib-2.0/gio/gsettings.h +9 -2
- data/vendor/local/include/glib-2.0/gio/gsettingsbackend.h +6 -0
- data/vendor/local/include/glib-2.0/gio/gsimpleaction.h +95 -0
- data/vendor/local/include/glib-2.0/gio/gsimpleactiongroup.h +87 -0
- data/vendor/local/include/glib-2.0/gio/gsimpleasyncresult.h +11 -1
- data/vendor/local/include/glib-2.0/gio/gsocketclient.h +7 -0
- data/vendor/local/include/glib-2.0/gio/gtcpwrapperconnection.h +68 -0
- data/vendor/local/include/glib-2.0/gio/gtlsbackend.h +92 -0
- data/vendor/local/include/glib-2.0/gio/gtlscertificate.h +83 -0
- data/vendor/local/include/glib-2.0/gio/gtlsclientconnection.h +72 -0
- data/vendor/local/include/glib-2.0/gio/gtlsconnection.h +136 -0
- data/vendor/local/include/glib-2.0/gio/gtlsserverconnection.h +61 -0
- data/vendor/local/include/glib-2.0/glib/glist.h +2 -0
- data/vendor/local/include/glib-2.0/glib/gmain.h +27 -6
- data/vendor/local/include/glib-2.0/glib/gmarkup.h +80 -5
- data/vendor/local/include/glib-2.0/glib/grand.h +1 -1
- data/vendor/local/include/glib-2.0/glib/gsequence.h +8 -0
- data/vendor/local/include/glib-2.0/glib/gslist.h +2 -0
- data/vendor/local/include/glib-2.0/glib/gtimezone.h +37 -0
- data/vendor/local/include/glib-2.0/glib/gtypes.h +1 -0
- data/vendor/local/include/glib-2.0/glib/gunicode.h +22 -16
- data/vendor/local/include/glib-2.0/glib/gutils.h +5 -0
- data/vendor/local/include/glib-2.0/glib/gvariant.h +35 -11
- data/vendor/local/include/glib-2.0/gobject/gobject.h +15 -0
- data/vendor/local/include/glib-2.0/gobject/gsignal.h +5 -0
- data/vendor/local/include/glib-2.0/gobject/gsourceclosure.h +4 -2
- data/vendor/local/include/glib-2.0/gobject/gtypemodule.h +1 -1
- data/vendor/local/lib/gio-2.0.def +142 -0
- data/vendor/local/lib/gio-2.0.lib +0 -0
- data/vendor/local/lib/glib-2.0.def +21 -0
- data/vendor/local/lib/glib-2.0.lib +0 -0
- data/vendor/local/lib/glib-2.0/include/glibconfig.h +1 -1
- data/vendor/local/lib/gmodule-2.0.lib +0 -0
- data/vendor/local/lib/gobject-2.0.def +3 -0
- data/vendor/local/lib/gobject-2.0.lib +0 -0
- data/vendor/local/lib/gthread-2.0.lib +0 -0
- data/vendor/local/lib/libgio-2.0.dll.a +0 -0
- data/vendor/local/lib/libglib-2.0.dll.a +0 -0
- data/vendor/local/lib/libgmodule-2.0.dll.a +0 -0
- data/vendor/local/lib/libgobject-2.0.dll.a +0 -0
- data/vendor/local/lib/libgthread-2.0.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/gio-2.0.pc +2 -2
- data/vendor/local/lib/pkgconfig/gio-windows-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/glib-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gmodule-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gmodule-no-export-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gobject-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gthread-2.0.pc +1 -1
- data/vendor/local/manifest/{glib-dev_2.26.1-1_win32.mft → glib-dev_2.28.1-1_win32.mft} +55 -19
- data/vendor/local/manifest/{glib_2.26.1-1_win32.mft → glib_2.28.1-1_win32.mft} +3 -2
- data/vendor/local/share/aclocal/glib-2.0.m4 +4 -4
- data/vendor/local/share/doc/{glib-2.26.1 → glib-2.28.1}/COPYING +0 -0
- data/vendor/local/share/doc/{glib-dev-2.26.1 → glib-dev-2.28.1}/COPYING +0 -0
- data/vendor/local/share/glib-2.0/gettext/mkinstalldirs +72 -21
- data/vendor/local/share/glib-2.0/schemas/gschema.dtd +21 -8
- data/vendor/local/share/gtk-doc/html/gio/GAction.html +469 -0
- data/vendor/local/share/gtk-doc/html/gio/GActionGroup.html +754 -0
- data/vendor/local/share/gtk-doc/html/gio/GAppInfo.html +296 -249
- data/vendor/local/share/gtk-doc/html/gio/GApplication.html +1458 -0
- data/vendor/local/share/gtk-doc/html/gio/GApplicationCommandLine.html +815 -0
- data/vendor/local/share/gtk-doc/html/gio/GAsyncInitable.html +61 -97
- data/vendor/local/share/gtk-doc/html/gio/GAsyncResult.html +31 -38
- data/vendor/local/share/gtk-doc/html/gio/GBufferedInputStream.html +52 -68
- data/vendor/local/share/gtk-doc/html/gio/GBufferedOutputStream.html +38 -50
- data/vendor/local/share/gtk-doc/html/gio/GCancellable.html +120 -77
- data/vendor/local/share/gtk-doc/html/gio/GCharsetConverter.html +26 -34
- data/vendor/local/share/gtk-doc/html/gio/GConverter.html +49 -51
- data/vendor/local/share/gtk-doc/html/gio/GCredentials.html +39 -62
- data/vendor/local/share/gtk-doc/html/gio/GDBusAuthObserver.html +26 -35
- data/vendor/local/share/gtk-doc/html/gio/GDBusConnection.html +415 -650
- data/vendor/local/share/gtk-doc/html/gio/{gio-GDBusError.html → GDBusError.html} +118 -147
- data/vendor/local/share/gtk-doc/html/gio/GDBusMessage.html +204 -347
- data/vendor/local/share/gtk-doc/html/gio/GDBusMethodInvocation.html +66 -111
- data/vendor/local/share/gtk-doc/html/gio/GDBusProxy.html +210 -309
- data/vendor/local/share/gtk-doc/html/gio/GDBusServer.html +68 -87
- data/vendor/local/share/gtk-doc/html/gio/GDataInputStream.html +190 -232
- data/vendor/local/share/gtk-doc/html/gio/GDataOutputStream.html +89 -118
- data/vendor/local/share/gtk-doc/html/gio/GDrive.html +196 -270
- data/vendor/local/share/gtk-doc/html/gio/GEmblem.html +40 -46
- data/vendor/local/share/gtk-doc/html/gio/GEmblemedIcon.html +56 -24
- data/vendor/local/share/gtk-doc/html/gio/GFile.html +1090 -1443
- data/vendor/local/share/gtk-doc/html/gio/GFileDescriptorBased.html +13 -16
- data/vendor/local/share/gtk-doc/html/gio/GFileEnumerator.html +66 -86
- data/vendor/local/share/gtk-doc/html/gio/GFileIOStream.html +31 -45
- data/vendor/local/share/gtk-doc/html/gio/GFileIcon.html +19 -21
- data/vendor/local/share/gtk-doc/html/gio/GFileInfo.html +466 -602
- data/vendor/local/share/gtk-doc/html/gio/GFileInputStream.html +32 -40
- data/vendor/local/share/gtk-doc/html/gio/GFileMonitor.html +60 -59
- data/vendor/local/share/gtk-doc/html/gio/GFileOutputStream.html +32 -47
- data/vendor/local/share/gtk-doc/html/gio/GFilenameCompleter.html +37 -45
- data/vendor/local/share/gtk-doc/html/gio/GFilterInputStream.html +22 -26
- data/vendor/local/share/gtk-doc/html/gio/GFilterOutputStream.html +22 -26
- data/vendor/local/share/gtk-doc/html/gio/GIOModule.html +32 -38
- data/vendor/local/share/gtk-doc/html/gio/GIOStream.html +184 -52
- data/vendor/local/share/gtk-doc/html/gio/GIcon.html +45 -54
- data/vendor/local/share/gtk-doc/html/gio/GInetAddress.html +96 -125
- data/vendor/local/share/gtk-doc/html/gio/GInetSocketAddress.html +21 -25
- data/vendor/local/share/gtk-doc/html/gio/GInitable.html +49 -71
- data/vendor/local/share/gtk-doc/html/gio/GInputStream.html +102 -134
- data/vendor/local/share/gtk-doc/html/gio/GLoadableIcon.html +43 -54
- data/vendor/local/share/gtk-doc/html/gio/GMemoryInputStream.html +21 -24
- data/vendor/local/share/gtk-doc/html/gio/GMemoryOutputStream.html +34 -41
- data/vendor/local/share/gtk-doc/html/gio/GMount.html +223 -294
- data/vendor/local/share/gtk-doc/html/gio/GMountOperation.html +127 -153
- data/vendor/local/share/gtk-doc/html/gio/GNetworkAddress.html +35 -46
- data/vendor/local/share/gtk-doc/html/gio/GNetworkService.html +37 -46
- data/vendor/local/share/gtk-doc/html/gio/GOutputStream.html +138 -174
- data/vendor/local/share/gtk-doc/html/gio/GPermission.html +46 -68
- data/vendor/local/share/gtk-doc/html/gio/GPollableInputStream.html +398 -0
- data/vendor/local/share/gtk-doc/html/gio/GPollableOutputStream.html +340 -0
- data/vendor/local/share/gtk-doc/html/gio/GProxy.html +89 -32
- data/vendor/local/share/gtk-doc/html/gio/GProxyAddress.html +42 -56
- data/vendor/local/share/gtk-doc/html/gio/GProxyResolver.html +59 -34
- data/vendor/local/share/gtk-doc/html/gio/GResolver.html +82 -95
- data/vendor/local/share/gtk-doc/html/gio/GSeekable.html +58 -72
- data/vendor/local/share/gtk-doc/html/gio/GSettings.html +597 -357
- data/vendor/local/share/gtk-doc/html/gio/GSettingsBackend.html +125 -75
- data/vendor/local/share/gtk-doc/html/gio/GSimpleAction.html +339 -0
- data/vendor/local/share/gtk-doc/html/gio/GSimpleActionGroup.html +200 -0
- data/vendor/local/share/gtk-doc/html/gio/GSimpleAsyncResult.html +232 -167
- data/vendor/local/share/gtk-doc/html/gio/GSimplePermission.html +15 -16
- data/vendor/local/share/gtk-doc/html/gio/GSocket.html +291 -406
- data/vendor/local/share/gtk-doc/html/gio/GSocketAddress.html +39 -45
- data/vendor/local/share/gtk-doc/html/gio/GSocketClient.html +301 -223
- data/vendor/local/share/gtk-doc/html/gio/GSocketConnectable.html +41 -44
- data/vendor/local/share/gtk-doc/html/gio/GSocketConnection.html +41 -49
- data/vendor/local/share/gtk-doc/html/gio/GSocketControlMessage.html +22 -32
- data/vendor/local/share/gtk-doc/html/gio/GSocketListener.html +88 -107
- data/vendor/local/share/gtk-doc/html/gio/GSocketService.html +26 -32
- data/vendor/local/share/gtk-doc/html/gio/{gio-GSrvTarget.html → GSrvTarget.html} +74 -77
- data/vendor/local/share/gtk-doc/html/gio/GTcpConnection.html +21 -22
- data/vendor/local/share/gtk-doc/html/gio/GTcpWrapperConnection.html +156 -0
- data/vendor/local/share/gtk-doc/html/gio/GThemedIcon.html +40 -46
- data/vendor/local/share/gtk-doc/html/gio/GThreadedSocketService.html +29 -35
- data/vendor/local/share/gtk-doc/html/gio/GTlsBackend.html +260 -0
- data/vendor/local/share/gtk-doc/html/gio/GTlsCertificate.html +396 -0
- data/vendor/local/share/gtk-doc/html/gio/GTlsClientConnection.html +428 -0
- data/vendor/local/share/gtk-doc/html/gio/GTlsConnection.html +869 -0
- data/vendor/local/share/gtk-doc/html/gio/GTlsServerConnection.html +158 -0
- data/vendor/local/share/gtk-doc/html/gio/GUnixConnection.html +32 -41
- data/vendor/local/share/gtk-doc/html/gio/GUnixCredentialsMessage.html +28 -34
- data/vendor/local/share/gtk-doc/html/gio/GUnixFDList.html +44 -54
- data/vendor/local/share/gtk-doc/html/gio/GUnixFDMessage.html +36 -41
- data/vendor/local/share/gtk-doc/html/gio/GUnixInputStream.html +35 -32
- data/vendor/local/share/gtk-doc/html/gio/GUnixOutputStream.html +35 -32
- data/vendor/local/share/gtk-doc/html/gio/GUnixSocketAddress.html +59 -67
- data/vendor/local/share/gtk-doc/html/gio/GVfs.html +49 -57
- data/vendor/local/share/gtk-doc/html/gio/GVolume.html +142 -187
- data/vendor/local/share/gtk-doc/html/gio/GVolumeMonitor.html +99 -132
- data/vendor/local/share/gtk-doc/html/gio/GZlibCompressor.html +33 -32
- data/vendor/local/share/gtk-doc/html/gio/GZlibDecompressor.html +22 -24
- data/vendor/local/share/gtk-doc/html/gio/annotation-glossary.html +43 -13
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-18.html +5 -5
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-20.html +10 -3
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-22.html +20 -20
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-24.html +8 -8
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-26.html +36 -28
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-28.html +744 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-deprecated.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/api-index-full.html +915 -107
- data/vendor/local/share/gtk-doc/html/gio/application.html +50 -0
- data/vendor/local/share/gtk-doc/html/gio/async.html +5 -5
- data/vendor/local/share/gtk-doc/html/gio/ch01.html +4 -4
- data/vendor/local/share/gtk-doc/html/gio/ch02.html +5 -5
- data/vendor/local/share/gtk-doc/html/gio/ch03.html +23 -24
- data/vendor/local/share/gtk-doc/html/gio/ch26.html +54 -36
- data/vendor/local/share/gtk-doc/html/gio/ch27.html +188 -41
- data/vendor/local/share/gtk-doc/html/gio/ch27s02.html +19 -108
- data/vendor/local/share/gtk-doc/html/gio/ch27s03.html +16 -179
- data/vendor/local/share/gtk-doc/html/gio/ch28.html +57 -0
- data/vendor/local/share/gtk-doc/html/gio/{ch26s02.html → ch28s02.html} +10 -10
- data/vendor/local/share/gtk-doc/html/gio/{ch26s03.html → ch28s03.html} +10 -10
- data/vendor/local/share/gtk-doc/html/gio/{ch26s04.html → ch28s04.html} +10 -10
- data/vendor/local/share/gtk-doc/html/gio/{ch26s05.html → ch28s05.html} +10 -10
- data/vendor/local/share/gtk-doc/html/gio/{ch26s06.html → ch28s06.html} +17 -15
- data/vendor/local/share/gtk-doc/html/gio/{ch26s07.html → ch28s07.html} +10 -10
- data/vendor/local/share/gtk-doc/html/gio/ch29.html +70 -0
- data/vendor/local/share/gtk-doc/html/gio/ch29s02.html +130 -0
- data/vendor/local/share/gtk-doc/html/gio/ch29s03.html +202 -0
- data/vendor/local/share/gtk-doc/html/gio/{ch27s04.html → ch29s04.html} +11 -11
- data/vendor/local/share/gtk-doc/html/gio/{ch27s05.html → ch29s05.html} +12 -12
- data/vendor/local/share/gtk-doc/html/gio/{ch27s06.html → ch29s06.html} +10 -10
- data/vendor/local/share/gtk-doc/html/gio/conversion.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/extending-gio.html +27 -14
- data/vendor/local/share/gtk-doc/html/gio/extending.html +5 -5
- data/vendor/local/share/gtk-doc/html/gio/failable_initialization.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/file_mon.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/file_ops.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/gdbus-convenience.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/gdbus-lowlevel.html +6 -6
- data/vendor/local/share/gtk-doc/html/gio/gdbus.html +18 -18
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Addresses.html +39 -62
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Introspection-Data.html +141 -248
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Utilities.html +28 -40
- data/vendor/local/share/gtk-doc/html/gio/gio-Desktop-file-based-GAppInfo.html +29 -112
- data/vendor/local/share/gtk-doc/html/gio/gio-Extension-Points.html +45 -57
- data/vendor/local/share/gtk-doc/html/gio/gio-GContentType.html +58 -68
- data/vendor/local/share/gtk-doc/html/gio/gio-GConverterInputstream.html +16 -18
- data/vendor/local/share/gtk-doc/html/gio/gio-GConverterOutputstream.html +18 -20
- data/vendor/local/share/gtk-doc/html/gio/gio-GFileAttribute.html +82 -76
- data/vendor/local/share/gtk-doc/html/gio/gio-GIOError.html +34 -28
- data/vendor/local/share/gtk-doc/html/gio/gio-GIOScheduler.html +25 -33
- data/vendor/local/share/gtk-doc/html/gio/gio-Owning-Bus-Names.html +87 -113
- data/vendor/local/share/gtk-doc/html/gio/gio-TLS-Overview.html +287 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-Unix-Mounts.html +119 -151
- data/vendor/local/share/gtk-doc/html/gio/gio-Watching-Bus-Names.html +62 -95
- data/vendor/local/share/gtk-doc/html/gio/gio-hierarchy.html +66 -6
- data/vendor/local/share/gtk-doc/html/gio/gio-querymodules.html +8 -8
- data/vendor/local/share/gtk-doc/html/gio/gio.devhelp +312 -91
- data/vendor/local/share/gtk-doc/html/gio/gio.devhelp2 +386 -133
- data/vendor/local/share/gtk-doc/html/gio/glib-compile-schemas.html +12 -12
- data/vendor/local/share/gtk-doc/html/gio/gsettings-tool.html +162 -0
- data/vendor/local/share/gtk-doc/html/gio/highlevel-socket.html +7 -4
- data/vendor/local/share/gtk-doc/html/gio/icons.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/index.html +88 -36
- data/vendor/local/share/gtk-doc/html/gio/index.sgml +506 -95
- data/vendor/local/share/gtk-doc/html/gio/migrating.html +23 -23
- data/vendor/local/share/gtk-doc/html/gio/networking.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/permissions.html +5 -5
- data/vendor/local/share/gtk-doc/html/gio/pt01.html +4 -4
- data/vendor/local/share/gtk-doc/html/gio/pt02.html +68 -17
- data/vendor/local/share/gtk-doc/html/gio/resolver.html +6 -6
- data/vendor/local/share/gtk-doc/html/gio/settings.html +7 -7
- data/vendor/local/share/gtk-doc/html/gio/streaming.html +9 -3
- data/vendor/local/share/gtk-doc/html/gio/style.css +2 -1
- data/vendor/local/share/gtk-doc/html/gio/tls.html +50 -0
- data/vendor/local/share/gtk-doc/html/gio/tools.html +4 -4
- data/vendor/local/share/gtk-doc/html/gio/types.html +6 -6
- data/vendor/local/share/gtk-doc/html/gio/utils.html +7 -7
- data/vendor/local/share/gtk-doc/html/gio/volume_mon.html +4 -4
- data/vendor/local/share/gtk-doc/html/glib/annotation-glossary.html +8 -11
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-10.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-12.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-14.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-16.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-18.html +4 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-2.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-20.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-22.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-24.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-26.html +25 -5
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-28.html +112 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-4.html +6 -6
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-6.html +15 -11
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-8.html +5 -5
- data/vendor/local/share/gtk-doc/html/glib/api-index-deprecated.html +9 -5
- data/vendor/local/share/gtk-doc/html/glib/api-index-full.html +201 -89
- data/vendor/local/share/gtk-doc/html/glib/glib-Arrays.html +144 -210
- data/vendor/local/share/gtk-doc/html/glib/glib-Asynchronous-Queues.html +97 -136
- data/vendor/local/share/gtk-doc/html/glib/glib-Atomic-Operations.html +40 -58
- data/vendor/local/share/gtk-doc/html/glib/glib-Automatic-String-Completion.html +99 -128
- data/vendor/local/share/gtk-doc/html/glib/glib-Balanced-Binary-Trees.html +104 -155
- data/vendor/local/share/gtk-doc/html/glib/glib-Base64-Encoding.html +42 -71
- data/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html +40 -43
- data/vendor/local/share/gtk-doc/html/glib/glib-Bookmark-file-parser.html +224 -314
- data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Arrays.html +104 -142
- data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Order-Macros.html +193 -308
- data/vendor/local/share/gtk-doc/html/glib/glib-Caches.html +51 -76
- data/vendor/local/share/gtk-doc/html/glib/glib-Character-Set-Conversion.html +170 -307
- data/vendor/local/share/gtk-doc/html/glib/glib-Commandline-option-parser.html +154 -198
- data/vendor/local/share/gtk-doc/html/glib/glib-Data-Checksums.html +45 -67
- data/vendor/local/share/gtk-doc/html/glib/glib-Datasets.html +60 -97
- data/vendor/local/share/gtk-doc/html/glib/glib-Date-and-Time-Functions.html +390 -428
- data/vendor/local/share/gtk-doc/html/glib/glib-Double-ended-Queues.html +265 -333
- data/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html +306 -330
- data/vendor/local/share/gtk-doc/html/glib/glib-Dynamic-Loading-of-Modules.html +60 -99
- data/vendor/local/share/gtk-doc/html/glib/glib-Error-Reporting.html +122 -152
- data/vendor/local/share/gtk-doc/html/glib/glib-File-Utilities.html +241 -571
- data/vendor/local/share/gtk-doc/html/glib/glib-GDateTime.html +233 -330
- data/vendor/local/share/gtk-doc/html/glib/glib-GTimeZone.html +310 -34
- data/vendor/local/share/gtk-doc/html/glib/glib-GVariant.html +739 -590
- data/vendor/local/share/gtk-doc/html/glib/glib-GVariantType.html +136 -143
- data/vendor/local/share/gtk-doc/html/glib/glib-Glob-style-pattern-matching.html +22 -29
- data/vendor/local/share/gtk-doc/html/glib/glib-Hash-Tables.html +210 -297
- data/vendor/local/share/gtk-doc/html/glib/glib-Hook-Functions.html +294 -355
- data/vendor/local/share/gtk-doc/html/glib/glib-Hostname-Utilities.html +27 -39
- data/vendor/local/share/gtk-doc/html/glib/glib-I18N.html +102 -95
- data/vendor/local/share/gtk-doc/html/glib/glib-IO-Channels.html +402 -486
- data/vendor/local/share/gtk-doc/html/glib/glib-Key-value-file-parser.html +308 -442
- data/vendor/local/share/gtk-doc/html/glib/glib-Keyed-Data-Lists.html +75 -116
- data/vendor/local/share/gtk-doc/html/glib/glib-Lexical-Scanner.html +229 -297
- data/vendor/local/share/gtk-doc/html/glib/glib-Limits-of-Basic-Types.html +36 -36
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html +121 -187
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocators.html +23 -27
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Chunks.html +80 -107
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Slices.html +46 -69
- data/vendor/local/share/gtk-doc/html/glib/glib-Message-Logging.html +63 -99
- data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html +121 -115
- data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html +304 -327
- data/vendor/local/share/gtk-doc/html/glib/glib-N-ary-Trees.html +307 -366
- data/vendor/local/share/gtk-doc/html/glib/glib-Numerical-Definitions.html +39 -20
- data/vendor/local/share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html +230 -343
- data/vendor/local/share/gtk-doc/html/glib/glib-Pointer-Arrays.html +121 -167
- data/vendor/local/share/gtk-doc/html/glib/glib-Quarks.html +31 -45
- data/vendor/local/share/gtk-doc/html/glib/glib-Random-Numbers.html +73 -113
- data/vendor/local/share/gtk-doc/html/glib/glib-Relations-and-Tuples.html +75 -106
- data/vendor/local/share/gtk-doc/html/glib/glib-Sequences.html +229 -184
- data/vendor/local/share/gtk-doc/html/glib/glib-Shell-related-Utilities.html +31 -40
- data/vendor/local/share/gtk-doc/html/glib/glib-Simple-XML-Subset-Parser.html +247 -286
- data/vendor/local/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html +281 -283
- data/vendor/local/share/gtk-doc/html/glib/glib-Spawning-Processes.html +83 -337
- data/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html +65 -80
- data/vendor/local/share/gtk-doc/html/glib/glib-String-Chunks.html +36 -42
- data/vendor/local/share/gtk-doc/html/glib/glib-String-Utility-Functions.html +408 -621
- data/vendor/local/share/gtk-doc/html/glib/glib-Strings.html +253 -322
- data/vendor/local/share/gtk-doc/html/glib/glib-Testing.html +161 -252
- data/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html +677 -590
- data/vendor/local/share/gtk-doc/html/glib/glib-Thread-Pools.html +88 -111
- data/vendor/local/share/gtk-doc/html/glib/glib-Threads.html +378 -475
- data/vendor/local/share/gtk-doc/html/glib/glib-Timers.html +27 -48
- data/vendor/local/share/gtk-doc/html/glib/glib-Trash-Stacks.html +39 -48
- data/vendor/local/share/gtk-doc/html/glib/glib-Type-Conversion-Macros.html +19 -25
- data/vendor/local/share/gtk-doc/html/glib/glib-URI-Functions.html +57 -93
- data/vendor/local/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html +413 -534
- data/vendor/local/share/gtk-doc/html/glib/glib-Version-Information.html +117 -21
- data/vendor/local/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html +38 -53
- data/vendor/local/share/gtk-doc/html/glib/glib-Windows-Compatibility-Functions.html +60 -114
- data/vendor/local/share/gtk-doc/html/glib/glib-building.html +38 -39
- data/vendor/local/share/gtk-doc/html/glib/glib-changes.html +7 -13
- data/vendor/local/share/gtk-doc/html/glib/glib-compiling.html +5 -5
- data/vendor/local/share/gtk-doc/html/glib/glib-core.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/glib-cross-compiling.html +19 -19
- data/vendor/local/share/gtk-doc/html/glib/glib-data-types.html +6 -3
- data/vendor/local/share/gtk-doc/html/glib/glib-fundamentals.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/glib-gettextize.html +10 -10
- data/vendor/local/share/gtk-doc/html/glib/glib-regex-syntax.html +82 -82
- data/vendor/local/share/gtk-doc/html/glib/glib-resources.html +9 -9
- data/vendor/local/share/gtk-doc/html/glib/glib-running.html +26 -26
- data/vendor/local/share/gtk-doc/html/glib/glib-utilities.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/glib.devhelp +144 -103
- data/vendor/local/share/gtk-doc/html/glib/glib.devhelp2 +170 -105
- data/vendor/local/share/gtk-doc/html/glib/glib.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/gtester-report.html +10 -10
- data/vendor/local/share/gtk-doc/html/glib/gtester.html +10 -10
- data/vendor/local/share/gtk-doc/html/glib/gvariant-format-strings.html +48 -43
- data/vendor/local/share/gtk-doc/html/glib/gvariant-text.html +660 -0
- data/vendor/local/share/gtk-doc/html/glib/index.html +8 -4
- data/vendor/local/share/gtk-doc/html/glib/index.sgml +67 -2
- data/vendor/local/share/gtk-doc/html/glib/style.css +2 -1
- data/vendor/local/share/gtk-doc/html/glib/tools.html +5 -5
- data/vendor/local/share/gtk-doc/html/gobject/GBinding.html +72 -90
- data/vendor/local/share/gtk-doc/html/gobject/GTypeModule.html +79 -108
- data/vendor/local/share/gtk-doc/html/gobject/GTypePlugin.html +67 -85
- data/vendor/local/share/gtk-doc/html/gobject/annotation-glossary.html +63 -9
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-10.html +4 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-12.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-14.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-18.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-2.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-22.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-24.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-26.html +6 -6
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-28.html +47 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-4.html +4 -4
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-6.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-8.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/api-index-deprecated.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/api-index-full.html +65 -53
- data/vendor/local/share/gtk-doc/html/gobject/ch01s02.html +7 -7
- data/vendor/local/share/gtk-doc/html/gobject/ch06s03.html +4 -4
- data/vendor/local/share/gtk-doc/html/gobject/chapter-gobject.html +8 -11
- data/vendor/local/share/gtk-doc/html/gobject/chapter-gtype.html +19 -19
- data/vendor/local/share/gtk-doc/html/gobject/chapter-intro.html +6 -6
- data/vendor/local/share/gtk-doc/html/gobject/chapter-signal.html +18 -18
- data/vendor/local/share/gtk-doc/html/gobject/glib-genmarshal.html +22 -22
- data/vendor/local/share/gtk-doc/html/gobject/glib-mkenums.html +16 -16
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html +40 -54
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Closures.html +405 -512
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html +170 -213
- data/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html +242 -292
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Generic-values.html +91 -127
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html +407 -573
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html +951 -1268
- data/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html +383 -441
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html +648 -829
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Value-arrays.html +82 -95
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Varargs-Value-Collection.html +31 -49
- data/vendor/local/share/gtk-doc/html/gobject/gobject-memory.html +8 -8
- data/vendor/local/share/gtk-doc/html/gobject/gobject-properties.html +15 -14
- data/vendor/local/share/gtk-doc/html/gobject/gobject-query.html +10 -10
- data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp +62 -58
- data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp2 +62 -58
- data/vendor/local/share/gtk-doc/html/gobject/gtype-conventions.html +6 -6
- data/vendor/local/share/gtk-doc/html/gobject/gtype-instantiable-classed.html +11 -11
- data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable-classed.html +14 -14
- data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable.html +6 -6
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-chainup.html +5 -5
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-code.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-construction.html +7 -7
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-destruction.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-methods.html +9 -9
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject.html +10 -10
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface-implement.html +4 -4
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface-properties.html +7 -7
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface.html +6 -6
- data/vendor/local/share/gtk-doc/html/gobject/howto-signals.html +6 -6
- data/vendor/local/share/gtk-doc/html/gobject/index.html +11 -10
- data/vendor/local/share/gtk-doc/html/gobject/index.sgml +13 -1
- data/vendor/local/share/gtk-doc/html/gobject/pr01.html +4 -4
- data/vendor/local/share/gtk-doc/html/gobject/pt01.html +7 -7
- data/vendor/local/share/gtk-doc/html/gobject/pt02.html +8 -8
- data/vendor/local/share/gtk-doc/html/gobject/pt03.html +5 -5
- data/vendor/local/share/gtk-doc/html/gobject/rn01.html +4 -4
- data/vendor/local/share/gtk-doc/html/gobject/rn02.html +4 -4
- data/vendor/local/share/gtk-doc/html/gobject/signal.html +13 -13
- data/vendor/local/share/gtk-doc/html/gobject/style.css +2 -1
- data/vendor/local/share/gtk-doc/html/gobject/tools-ginspector.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/tools-gob.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/tools-gtkdoc.html +6 -6
- data/vendor/local/share/gtk-doc/html/gobject/tools-refdb.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/tools-vala.html +3 -3
- data/vendor/local/share/locale/ar/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/be/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/bg/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/bn_IN/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/cs/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/da/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/de/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/el/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/en_GB/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/es/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/et/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/eu/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/fr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/gl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/he/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/hu/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/hy/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/id/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/it/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ja/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ko/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/lt/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/nb/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pa/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pt/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pt_BR/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ro/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ru/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sr@latin/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sv/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ug/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/vi/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/zh_CN/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/zh_HK/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/zh_TW/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/man/man1/glib-genmarshal.1 +2 -2
- data/vendor/local/share/man/man1/glib-mkenums.1 +2 -2
- data/vendor/local/share/man/man1/gobject-query.1 +2 -2
- data/vendor/local/src/tml/packaging/{glib_2.26.1-1_win32.log → glib_2.28.1-1_win32.log} +690 -773
- data/vendor/local/src/tml/packaging/{glib_2.26.1-1_win32.sh → glib_2.28.1-1_win32.sh} +2 -4
- metadata +78 -146
- data/ext/glib2/Makefile +0 -169
- data/ext/glib2/glib-enum-types.c +0 -1065
- data/ext/glib2/glib-enum-types.h +0 -144
- data/ext/glib2/ruby-glib2.pc +0 -3
- data/test-unit/COPYING +0 -56
- data/test-unit/GPL +0 -340
- data/test-unit/History.txt +0 -279
- data/test-unit/Manifest.txt +0 -110
- data/test-unit/PSFL +0 -271
- data/test-unit/README.txt +0 -75
- data/test-unit/Rakefile +0 -53
- data/test-unit/TODO +0 -5
- data/test-unit/bin/testrb +0 -5
- data/test-unit/html/bar.png +0 -0
- data/test-unit/html/bar.svg +0 -153
- data/test-unit/html/developer.png +0 -0
- data/test-unit/html/developer.svg +0 -469
- data/test-unit/html/famfamfam-logo.png +0 -0
- data/test-unit/html/favicon.ico +0 -0
- data/test-unit/html/favicon.png +0 -0
- data/test-unit/html/favicon.svg +0 -82
- data/test-unit/html/heading-mark.png +0 -0
- data/test-unit/html/heading-mark.svg +0 -393
- data/test-unit/html/index.html +0 -285
- data/test-unit/html/index.html.ja +0 -299
- data/test-unit/html/install.png +0 -0
- data/test-unit/html/install.svg +0 -636
- data/test-unit/html/jp.png +0 -0
- data/test-unit/html/kinotan-failure.png +0 -0
- data/test-unit/html/kinotan-pass.png +0 -0
- data/test-unit/html/logo.png +0 -0
- data/test-unit/html/logo.svg +0 -483
- data/test-unit/html/reference.png +0 -0
- data/test-unit/html/rubyforge.png +0 -0
- data/test-unit/html/tango-logo.png +0 -0
- data/test-unit/html/test-unit.css +0 -339
- data/test-unit/html/tutorial.png +0 -0
- data/test-unit/html/tutorial.svg +0 -559
- data/test-unit/html/us.png +0 -0
- data/test-unit/images/color-diff.png +0 -0
- data/test-unit/lib/test/unit.rb +0 -328
- data/test-unit/lib/test/unit/assertionfailederror.rb +0 -25
- data/test-unit/lib/test/unit/assertions.rb +0 -1792
- data/test-unit/lib/test/unit/attribute.rb +0 -125
- data/test-unit/lib/test/unit/autorunner.rb +0 -415
- data/test-unit/lib/test/unit/collector.rb +0 -38
- data/test-unit/lib/test/unit/collector/descendant.rb +0 -23
- data/test-unit/lib/test/unit/collector/dir.rb +0 -108
- data/test-unit/lib/test/unit/collector/load.rb +0 -187
- data/test-unit/lib/test/unit/collector/objectspace.rb +0 -34
- data/test-unit/lib/test/unit/collector/xml.rb +0 -250
- data/test-unit/lib/test/unit/color-scheme.rb +0 -106
- data/test-unit/lib/test/unit/color.rb +0 -96
- data/test-unit/lib/test/unit/diff.rb +0 -740
- data/test-unit/lib/test/unit/error.rb +0 -131
- data/test-unit/lib/test/unit/exceptionhandler.rb +0 -39
- data/test-unit/lib/test/unit/failure.rb +0 -136
- data/test-unit/lib/test/unit/fixture.rb +0 -185
- data/test-unit/lib/test/unit/notification.rb +0 -129
- data/test-unit/lib/test/unit/omission.rb +0 -191
- data/test-unit/lib/test/unit/pending.rb +0 -150
- data/test-unit/lib/test/unit/priority.rb +0 -180
- data/test-unit/lib/test/unit/runner/console.rb +0 -52
- data/test-unit/lib/test/unit/runner/emacs.rb +0 -8
- data/test-unit/lib/test/unit/runner/tap.rb +0 -8
- data/test-unit/lib/test/unit/runner/xml.rb +0 -15
- data/test-unit/lib/test/unit/testcase.rb +0 -515
- data/test-unit/lib/test/unit/testresult.rb +0 -125
- data/test-unit/lib/test/unit/testsuite.rb +0 -134
- data/test-unit/lib/test/unit/ui/console/outputlevel.rb +0 -14
- data/test-unit/lib/test/unit/ui/console/testrunner.rb +0 -467
- data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +0 -63
- data/test-unit/lib/test/unit/ui/tap/testrunner.rb +0 -82
- data/test-unit/lib/test/unit/ui/testrunner.rb +0 -53
- data/test-unit/lib/test/unit/ui/testrunnermediator.rb +0 -86
- data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +0 -41
- data/test-unit/lib/test/unit/ui/xml/testrunner.rb +0 -224
- data/test-unit/lib/test/unit/util/backtracefilter.rb +0 -42
- data/test-unit/lib/test/unit/util/method-owner-finder.rb +0 -28
- data/test-unit/lib/test/unit/util/observable.rb +0 -90
- data/test-unit/lib/test/unit/util/output.rb +0 -31
- data/test-unit/lib/test/unit/util/procwrapper.rb +0 -48
- data/test-unit/lib/test/unit/version.rb +0 -7
- data/test-unit/sample/adder.rb +0 -13
- data/test-unit/sample/subtracter.rb +0 -12
- data/test-unit/sample/test_adder.rb +0 -20
- data/test-unit/sample/test_subtracter.rb +0 -20
- data/test-unit/sample/test_user.rb +0 -23
- data/test-unit/test/collector/test-descendant.rb +0 -133
- data/test-unit/test/collector/test-load.rb +0 -442
- data/test-unit/test/collector/test_dir.rb +0 -406
- data/test-unit/test/collector/test_objectspace.rb +0 -100
- data/test-unit/test/run-test.rb +0 -22
- data/test-unit/test/test-assertions.rb +0 -1849
- data/test-unit/test/test-attribute.rb +0 -86
- data/test-unit/test/test-color-scheme.rb +0 -69
- data/test-unit/test/test-color.rb +0 -47
- data/test-unit/test/test-diff.rb +0 -518
- data/test-unit/test/test-emacs-runner.rb +0 -60
- data/test-unit/test/test-fixture.rb +0 -324
- data/test-unit/test/test-notification.rb +0 -33
- data/test-unit/test/test-omission.rb +0 -81
- data/test-unit/test/test-pending.rb +0 -70
- data/test-unit/test/test-priority.rb +0 -119
- data/test-unit/test/test-testcase.rb +0 -569
- data/test-unit/test/test_error.rb +0 -26
- data/test-unit/test/test_failure.rb +0 -33
- data/test-unit/test/test_testresult.rb +0 -113
- data/test-unit/test/test_testsuite.rb +0 -137
- data/test-unit/test/testunit-test-util.rb +0 -14
- data/test-unit/test/ui/test_tap.rb +0 -33
- data/test-unit/test/ui/test_testrunmediator.rb +0 -20
- data/test-unit/test/util/test-method-owner-finder.rb +0 -38
- data/test-unit/test/util/test-output.rb +0 -11
- data/test-unit/test/util/test_backtracefilter.rb +0 -41
- data/test-unit/test/util/test_observable.rb +0 -102
- data/test-unit/test/util/test_procwrapper.rb +0 -36
- data/vendor/local/share/gtk-doc/html/gio/ch24.html +0 -75
- data/vendor/local/share/gtk-doc/html/gio/ch25.html +0 -217
- data/vendor/local/share/gtk-doc/html/gio/ch25s02.html +0 -41
- data/vendor/local/share/gtk-doc/html/gio/ch25s03.html +0 -39
@@ -8,7 +8,7 @@
|
|
8
8
|
<link rel="up" href="glib-core.html" title="GLib Core Application Support">
|
9
9
|
<link rel="prev" href="glib-The-Main-Event-Loop.html" title="The Main Event Loop">
|
10
10
|
<link rel="next" href="glib-Thread-Pools.html" title="Thread Pools">
|
11
|
-
<meta name="generator" content="GTK-Doc V1.
|
11
|
+
<meta name="generator" content="GTK-Doc V1.16.1 (XML mode)">
|
12
12
|
<link rel="stylesheet" href="style.css" type="text/css">
|
13
13
|
</head>
|
14
14
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
@@ -26,7 +26,7 @@
|
|
26
26
|
<a href="#glib-Threads.description" class="shortcut">Description</a>
|
27
27
|
</td></tr>
|
28
28
|
</table>
|
29
|
-
<div class="refentry"
|
29
|
+
<div class="refentry">
|
30
30
|
<a name="glib-Threads"></a><div class="titlepage"></div>
|
31
31
|
<div class="refnamediv"><table width="100%"><tr>
|
32
32
|
<td valign="top">
|
@@ -36,7 +36,7 @@
|
|
36
36
|
</td>
|
37
37
|
<td valign="top" align="right"></td>
|
38
38
|
</tr></table></div>
|
39
|
-
<div class="refsynopsisdiv"
|
39
|
+
<div class="refsynopsisdiv">
|
40
40
|
<a name="glib-Threads.synopsis"></a><h2>Synopsis</h2>
|
41
41
|
<pre class="synopsis">
|
42
42
|
#include <glib.h>
|
@@ -48,28 +48,28 @@
|
|
48
48
|
#define <a class="link" href="glib-Threads.html#G-THREAD-ERROR:CAPS" title="G_THREAD_ERROR">G_THREAD_ERROR</a>
|
49
49
|
enum <a class="link" href="glib-Threads.html#GThreadError" title="enum GThreadError">GThreadError</a>;
|
50
50
|
|
51
|
-
|
52
|
-
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-thread-init" title="g_thread_init ()">g_thread_init</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GThreadFunctions" title="GThreadFunctions"><span class="type">GThreadFunctions</span></a> *vtable</code></em>);
|
51
|
+
struct <a class="link" href="glib-Threads.html#GThreadFunctions" title="struct GThreadFunctions">GThreadFunctions</a>;
|
52
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-thread-init" title="g_thread_init ()">g_thread_init</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GThreadFunctions" title="struct GThreadFunctions"><span class="type">GThreadFunctions</span></a> *vtable</code></em>);
|
53
53
|
<a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-Threads.html#g-thread-supported" title="g_thread_supported ()">g_thread_supported</a> ();
|
54
54
|
<a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-Threads.html#g-thread-get-initialized" title="g_thread_get_initialized ()">g_thread_get_initialized</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
|
55
55
|
|
56
56
|
<a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> (<a class="link" href="glib-Threads.html#GThreadFunc" title="GThreadFunc ()">*GThreadFunc</a>) (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);
|
57
57
|
enum <a class="link" href="glib-Threads.html#GThreadPriority" title="enum GThreadPriority">GThreadPriority</a>;
|
58
|
-
|
59
|
-
<a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="returnvalue">GThread</span></a> * <a class="link" href="glib-Threads.html#g-thread-create" title="g_thread_create ()">g_thread_create</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GThreadFunc" title="GThreadFunc ()"><span class="type">GThreadFunc</span></a> func</code></em>,
|
58
|
+
struct <a class="link" href="glib-Threads.html#GThread" title="struct GThread">GThread</a>;
|
59
|
+
<a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="returnvalue">GThread</span></a> * <a class="link" href="glib-Threads.html#g-thread-create" title="g_thread_create ()">g_thread_create</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GThreadFunc" title="GThreadFunc ()"><span class="type">GThreadFunc</span></a> func</code></em>,
|
60
60
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
|
61
61
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> joinable</code></em>,
|
62
|
-
<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> **error</code></em>);
|
63
|
-
<a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="returnvalue">GThread</span></a
|
62
|
+
<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>);
|
63
|
+
<a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="returnvalue">GThread</span></a> * <a class="link" href="glib-Threads.html#g-thread-create-full" title="g_thread_create_full ()">g_thread_create_full</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GThreadFunc" title="GThreadFunc ()"><span class="type">GThreadFunc</span></a> func</code></em>,
|
64
64
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
|
65
65
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gulong" title="gulong"><span class="type">gulong</span></a> stack_size</code></em>,
|
66
66
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> joinable</code></em>,
|
67
67
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> bound</code></em>,
|
68
68
|
<em class="parameter"><code><a class="link" href="glib-Threads.html#GThreadPriority" title="enum GThreadPriority"><span class="type">GThreadPriority</span></a> priority</code></em>,
|
69
|
-
<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> **error</code></em>);
|
70
|
-
<a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="returnvalue">GThread</span></a
|
71
|
-
<a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="glib-Threads.html#g-thread-join" title="g_thread_join ()">g_thread_join</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="type">GThread</span></a> *thread</code></em>);
|
72
|
-
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-thread-set-priority" title="g_thread_set_priority ()">g_thread_set_priority</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="type">GThread</span></a> *thread</code></em>,
|
69
|
+
<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>);
|
70
|
+
<a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="returnvalue">GThread</span></a> * <a class="link" href="glib-Threads.html#g-thread-self" title="g_thread_self ()">g_thread_self</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
|
71
|
+
<a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="glib-Threads.html#g-thread-join" title="g_thread_join ()">g_thread_join</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="type">GThread</span></a> *thread</code></em>);
|
72
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-thread-set-priority" title="g_thread_set_priority ()">g_thread_set_priority</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="type">GThread</span></a> *thread</code></em>,
|
73
73
|
<em class="parameter"><code><a class="link" href="glib-Threads.html#GThreadPriority" title="enum GThreadPriority"><span class="type">GThreadPriority</span></a> priority</code></em>);
|
74
74
|
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-thread-yield" title="g_thread_yield ()">g_thread_yield</a> ();
|
75
75
|
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-thread-exit" title="g_thread_exit ()">g_thread_exit</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> retval</code></em>);
|
@@ -99,27 +99,27 @@ enum <a class="link" href="glib-Threads.html#GThreadPriority" tit
|
|
99
99
|
#define <a class="link" href="glib-Threads.html#G-TRYLOCK:CAPS" title="G_TRYLOCK()">G_TRYLOCK</a> (name)
|
100
100
|
#define <a class="link" href="glib-Threads.html#G-UNLOCK:CAPS" title="G_UNLOCK()">G_UNLOCK</a> (name)
|
101
101
|
|
102
|
-
|
102
|
+
struct <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex">GStaticRecMutex</a>;
|
103
103
|
#define <a class="link" href="glib-Threads.html#G-STATIC-REC-MUTEX-INIT:CAPS" title="G_STATIC_REC_MUTEX_INIT">G_STATIC_REC_MUTEX_INIT</a>
|
104
|
-
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rec-mutex-init" title="g_static_rec_mutex_init ()">g_static_rec_mutex_init</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);
|
105
|
-
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rec-mutex-lock" title="g_static_rec_mutex_lock ()">g_static_rec_mutex_lock</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);
|
106
|
-
<a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-Threads.html#g-static-rec-mutex-trylock" title="g_static_rec_mutex_trylock ()">g_static_rec_mutex_trylock</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);
|
107
|
-
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rec-mutex-unlock" title="g_static_rec_mutex_unlock ()">g_static_rec_mutex_unlock</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);
|
108
|
-
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rec-mutex-lock-full" title="g_static_rec_mutex_lock_full ()">g_static_rec_mutex_lock_full</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>,
|
104
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rec-mutex-init" title="g_static_rec_mutex_init ()">g_static_rec_mutex_init</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);
|
105
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rec-mutex-lock" title="g_static_rec_mutex_lock ()">g_static_rec_mutex_lock</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);
|
106
|
+
<a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-Threads.html#g-static-rec-mutex-trylock" title="g_static_rec_mutex_trylock ()">g_static_rec_mutex_trylock</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);
|
107
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rec-mutex-unlock" title="g_static_rec_mutex_unlock ()">g_static_rec_mutex_unlock</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);
|
108
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rec-mutex-lock-full" title="g_static_rec_mutex_lock_full ()">g_static_rec_mutex_lock_full</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>,
|
109
109
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> depth</code></em>);
|
110
|
-
<a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-Threads.html#g-static-rec-mutex-unlock-full" title="g_static_rec_mutex_unlock_full ()">g_static_rec_mutex_unlock_full</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);
|
111
|
-
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rec-mutex-free" title="g_static_rec_mutex_free ()">g_static_rec_mutex_free</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);
|
110
|
+
<a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-Threads.html#g-static-rec-mutex-unlock-full" title="g_static_rec_mutex_unlock_full ()">g_static_rec_mutex_unlock_full</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);
|
111
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rec-mutex-free" title="g_static_rec_mutex_free ()">g_static_rec_mutex_free</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);
|
112
112
|
|
113
|
-
|
113
|
+
struct <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock">GStaticRWLock</a>;
|
114
114
|
#define <a class="link" href="glib-Threads.html#G-STATIC-RW-LOCK-INIT:CAPS" title="G_STATIC_RW_LOCK_INIT">G_STATIC_RW_LOCK_INIT</a>
|
115
|
-
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rw-lock-init" title="g_static_rw_lock_init ()">g_static_rw_lock_init</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);
|
116
|
-
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rw-lock-reader-lock" title="g_static_rw_lock_reader_lock ()">g_static_rw_lock_reader_lock</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);
|
117
|
-
<a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-Threads.html#g-static-rw-lock-reader-trylock" title="g_static_rw_lock_reader_trylock ()">g_static_rw_lock_reader_trylock</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);
|
118
|
-
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rw-lock-reader-unlock" title="g_static_rw_lock_reader_unlock ()">g_static_rw_lock_reader_unlock</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);
|
119
|
-
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rw-lock-writer-lock" title="g_static_rw_lock_writer_lock ()">g_static_rw_lock_writer_lock</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);
|
120
|
-
<a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-Threads.html#g-static-rw-lock-writer-trylock" title="g_static_rw_lock_writer_trylock ()">g_static_rw_lock_writer_trylock</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);
|
121
|
-
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rw-lock-writer-unlock" title="g_static_rw_lock_writer_unlock ()">g_static_rw_lock_writer_unlock</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);
|
122
|
-
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rw-lock-free" title="g_static_rw_lock_free ()">g_static_rw_lock_free</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);
|
115
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rw-lock-init" title="g_static_rw_lock_init ()">g_static_rw_lock_init</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);
|
116
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rw-lock-reader-lock" title="g_static_rw_lock_reader_lock ()">g_static_rw_lock_reader_lock</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);
|
117
|
+
<a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-Threads.html#g-static-rw-lock-reader-trylock" title="g_static_rw_lock_reader_trylock ()">g_static_rw_lock_reader_trylock</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);
|
118
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rw-lock-reader-unlock" title="g_static_rw_lock_reader_unlock ()">g_static_rw_lock_reader_unlock</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);
|
119
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rw-lock-writer-lock" title="g_static_rw_lock_writer_lock ()">g_static_rw_lock_writer_lock</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);
|
120
|
+
<a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-Threads.html#g-static-rw-lock-writer-trylock" title="g_static_rw_lock_writer_trylock ()">g_static_rw_lock_writer_trylock</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);
|
121
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rw-lock-writer-unlock" title="g_static_rw_lock_writer_unlock ()">g_static_rw_lock_writer_unlock</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);
|
122
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-rw-lock-free" title="g_static_rw_lock_free ()">g_static_rw_lock_free</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);
|
123
123
|
|
124
124
|
<a class="link" href="glib-Threads.html#GCond" title="GCond">GCond</a>;
|
125
125
|
<a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="returnvalue">GCond</span></a>* <a class="link" href="glib-Threads.html#g-cond-new" title="g_cond_new ()">g_cond_new</a> ();
|
@@ -129,7 +129,7 @@ enum <a class="link" href="glib-Threads.html#GThreadPriority" tit
|
|
129
129
|
<em class="parameter"><code><a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a> *mutex</code></em>);
|
130
130
|
<a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-Threads.html#g-cond-timed-wait" title="g_cond_timed_wait ()">g_cond_timed_wait</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a> *cond</code></em>,
|
131
131
|
<em class="parameter"><code><a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a> *mutex</code></em>,
|
132
|
-
<em class="parameter"><code><a class="link" href="glib-Date-and-Time-Functions.html#GTimeVal" title="GTimeVal"><span class="type">GTimeVal</span></a> *abs_time</code></em>);
|
132
|
+
<em class="parameter"><code><a class="link" href="glib-Date-and-Time-Functions.html#GTimeVal" title="struct GTimeVal"><span class="type">GTimeVal</span></a> *abs_time</code></em>);
|
133
133
|
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-cond-free" title="g_cond_free ()">g_cond_free</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a> *cond</code></em>);
|
134
134
|
|
135
135
|
<a class="link" href="glib-Threads.html#GPrivate" title="GPrivate">GPrivate</a>;
|
@@ -138,16 +138,16 @@ enum <a class="link" href="glib-Threads.html#GThreadPriority" tit
|
|
138
138
|
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-private-set" title="g_private_set ()">g_private_set</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GPrivate" title="GPrivate"><span class="type">GPrivate</span></a> *private_key</code></em>,
|
139
139
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);
|
140
140
|
|
141
|
-
|
141
|
+
struct <a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate">GStaticPrivate</a>;
|
142
142
|
#define <a class="link" href="glib-Threads.html#G-STATIC-PRIVATE-INIT:CAPS" title="G_STATIC_PRIVATE_INIT">G_STATIC_PRIVATE_INIT</a>
|
143
|
-
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-private-init" title="g_static_private_init ()">g_static_private_init</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a> *private_key</code></em>);
|
144
|
-
<a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="glib-Threads.html#g-static-private-get" title="g_static_private_get ()">g_static_private_get</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a> *private_key</code></em>);
|
145
|
-
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-private-set" title="g_static_private_set ()">g_static_private_set</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a> *private_key</code></em>,
|
143
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-private-init" title="g_static_private_init ()">g_static_private_init</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a> *private_key</code></em>);
|
144
|
+
<a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="glib-Threads.html#g-static-private-get" title="g_static_private_get ()">g_static_private_get</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a> *private_key</code></em>);
|
145
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-private-set" title="g_static_private_set ()">g_static_private_set</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a> *private_key</code></em>,
|
146
146
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
|
147
147
|
<em class="parameter"><code><a class="link" href="glib-Datasets.html#GDestroyNotify" title="GDestroyNotify ()"><span class="type">GDestroyNotify</span></a> notify</code></em>);
|
148
|
-
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-private-free" title="g_static_private_free ()">g_static_private_free</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a> *private_key</code></em>);
|
148
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Threads.html#g-static-private-free" title="g_static_private_free ()">g_static_private_free</a> (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a> *private_key</code></em>);
|
149
149
|
|
150
|
-
|
150
|
+
struct <a class="link" href="glib-Threads.html#GOnce" title="struct GOnce">GOnce</a>;
|
151
151
|
enum <a class="link" href="glib-Threads.html#GOnceStatus" title="enum GOnceStatus">GOnceStatus</a>;
|
152
152
|
#define <a class="link" href="glib-Threads.html#G-ONCE-INIT:CAPS" title="G_ONCE_INIT">G_ONCE_INIT</a>
|
153
153
|
#define <a class="link" href="glib-Threads.html#g-once" title="g_once()">g_once</a> (once,
|
@@ -165,7 +165,7 @@ enum <a class="link" href="glib-Threads.html#GOnceStatus" title="
|
|
165
165
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> lock_bit</code></em>);
|
166
166
|
</pre>
|
167
167
|
</div>
|
168
|
-
<div class="refsect1"
|
168
|
+
<div class="refsect1">
|
169
169
|
<a name="glib-Threads.description"></a><h2>Description</h2>
|
170
170
|
<p>
|
171
171
|
Threads act almost like processes, but unlike processes all threads
|
@@ -182,12 +182,12 @@ programmer through synchronization primitives.
|
|
182
182
|
The aim of the thread related functions in GLib is to provide a
|
183
183
|
portable means for writing multi-threaded software. There are
|
184
184
|
primitives for mutexes to protect the access to portions of memory
|
185
|
-
(<a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a>, <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a>, <a class="link" href="glib-Threads.html#G-LOCK-DEFINE:CAPS" title="G_LOCK_DEFINE()"><span class="type">G_LOCK_DEFINE</span></a>, <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> and
|
186
|
-
<a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a>). There are primitives for condition variables to
|
185
|
+
(<a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a>, <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a>, <a class="link" href="glib-Threads.html#G-LOCK-DEFINE:CAPS" title="G_LOCK_DEFINE()"><span class="type">G_LOCK_DEFINE</span></a>, <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> and
|
186
|
+
<a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a>). There are primitives for condition variables to
|
187
187
|
allow synchronization of threads (<a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a>). There are primitives for
|
188
188
|
thread-private data - data that every thread has a private instance
|
189
|
-
of (<a class="link" href="glib-Threads.html#GPrivate" title="GPrivate"><span class="type">GPrivate</span></a>, <a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a>). Last but definitely not least there
|
190
|
-
are primitives to portably create and manage threads (<a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="type">GThread</span></a>).
|
189
|
+
of (<a class="link" href="glib-Threads.html#GPrivate" title="GPrivate"><span class="type">GPrivate</span></a>, <a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a>). Last but definitely not least there
|
190
|
+
are primitives to portably create and manage threads (<a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="type">GThread</span></a>).
|
191
191
|
</p>
|
192
192
|
<p>
|
193
193
|
The threading system is initialized with <a class="link" href="glib-Threads.html#g-thread-init" title="g_thread_init ()"><code class="function">g_thread_init()</code></a>, which
|
@@ -229,9 +229,9 @@ messages on common problems. To use error-checking mutexes, define
|
|
229
229
|
the symbol <span class="type">G_ERRORCHECK_MUTEXES</span> when compiling the application.
|
230
230
|
</p>
|
231
231
|
</div>
|
232
|
-
<div class="refsect1"
|
232
|
+
<div class="refsect1">
|
233
233
|
<a name="glib-Threads.details"></a><h2>Details</h2>
|
234
|
-
<div class="refsect2"
|
234
|
+
<div class="refsect2">
|
235
235
|
<a name="G-THREADS-ENABLED:CAPS"></a><h3>G_THREADS_ENABLED</h3>
|
236
236
|
<pre class="programlisting">#define G_THREADS_ENABLED
|
237
237
|
</pre>
|
@@ -245,7 +245,7 @@ defined, then Glib is not, and cannot be, multi-thread safe.
|
|
245
245
|
</p>
|
246
246
|
</div>
|
247
247
|
<hr>
|
248
|
-
<div class="refsect2"
|
248
|
+
<div class="refsect2">
|
249
249
|
<a name="G-THREADS-IMPL-POSIX:CAPS"></a><h3>G_THREADS_IMPL_POSIX</h3>
|
250
250
|
<pre class="programlisting">#define G_THREADS_IMPL_POSIX
|
251
251
|
</pre>
|
@@ -254,7 +254,7 @@ This macro is defined if POSIX style threads are used.
|
|
254
254
|
</p>
|
255
255
|
</div>
|
256
256
|
<hr>
|
257
|
-
<div class="refsect2"
|
257
|
+
<div class="refsect2">
|
258
258
|
<a name="G-THREADS-IMPL-NONE:CAPS"></a><h3>G_THREADS_IMPL_NONE</h3>
|
259
259
|
<pre class="programlisting">#define G_THREADS_IMPL_NONE
|
260
260
|
</pre>
|
@@ -265,7 +265,7 @@ safe.
|
|
265
265
|
</p>
|
266
266
|
</div>
|
267
267
|
<hr>
|
268
|
-
<div class="refsect2"
|
268
|
+
<div class="refsect2">
|
269
269
|
<a name="G-THREAD-ERROR:CAPS"></a><h3>G_THREAD_ERROR</h3>
|
270
270
|
<pre class="programlisting">#define G_THREAD_ERROR g_thread_error_quark ()
|
271
271
|
</pre>
|
@@ -274,7 +274,7 @@ The error domain of the GLib thread subsystem.
|
|
274
274
|
</p>
|
275
275
|
</div>
|
276
276
|
<hr>
|
277
|
-
<div class="refsect2"
|
277
|
+
<div class="refsect2">
|
278
278
|
<a name="GThreadError"></a><h3>enum GThreadError</h3>
|
279
279
|
<pre class="programlisting">typedef enum
|
280
280
|
{
|
@@ -295,9 +295,9 @@ Possible errors of thread related functions.
|
|
295
295
|
</table></div>
|
296
296
|
</div>
|
297
297
|
<hr>
|
298
|
-
<div class="refsect2"
|
299
|
-
<a name="GThreadFunctions"></a><h3>GThreadFunctions</h3>
|
300
|
-
<pre class="programlisting">
|
298
|
+
<div class="refsect2">
|
299
|
+
<a name="GThreadFunctions"></a><h3>struct GThreadFunctions</h3>
|
300
|
+
<pre class="programlisting">struct GThreadFunctions {
|
301
301
|
GMutex* (*mutex_new) (void);
|
302
302
|
void (*mutex_lock) (GMutex *mutex);
|
303
303
|
gboolean (*mutex_trylock) (GMutex *mutex);
|
@@ -332,7 +332,7 @@ Possible errors of thread related functions.
|
|
332
332
|
void (*thread_self) (gpointer thread);
|
333
333
|
gboolean (*thread_equal) (gpointer thread1,
|
334
334
|
gpointer thread2);
|
335
|
-
}
|
335
|
+
};
|
336
336
|
</pre>
|
337
337
|
<p>
|
338
338
|
This function table is used by <a class="link" href="glib-Threads.html#g-thread-init" title="g_thread_init ()"><code class="function">g_thread_init()</code></a> to initialize the
|
@@ -343,7 +343,7 @@ provided to <a class="link" href="glib-Threads.html#g-thread-init" title="g_thre
|
|
343
343
|
</p>
|
344
344
|
<p>
|
345
345
|
</p>
|
346
|
-
<div class="note"
|
346
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
347
347
|
<h3 class="title">Note</h3>
|
348
348
|
<p>Do not use this struct unless you know what you are
|
349
349
|
doing.</p>
|
@@ -446,7 +446,7 @@ doing.</p>
|
|
446
446
|
<tr>
|
447
447
|
<td><p><span class="term"><em class="structfield"><code><a name="GThreadFunctions.thread-set-priority"></a>thread_set_priority</code></em> ()</span></p></td>
|
448
448
|
<td>virtual function pointer for
|
449
|
-
|
449
|
+
<a class="link" href="glib-Threads.html#g-thread-set-priority" title="g_thread_set_priority ()"><code class="function">g_thread_set_priority()</code></a>
|
450
450
|
</td>
|
451
451
|
</tr>
|
452
452
|
<tr>
|
@@ -457,16 +457,15 @@ doing.</p>
|
|
457
457
|
<tr>
|
458
458
|
<td><p><span class="term"><em class="structfield"><code><a name="GThreadFunctions.thread-equal"></a>thread_equal</code></em> ()</span></p></td>
|
459
459
|
<td>used internally by recursive mutex locks and by some
|
460
|
-
|
461
|
-
</td>
|
460
|
+
assertion checks</td>
|
462
461
|
</tr>
|
463
462
|
</tbody>
|
464
463
|
</table></div>
|
465
464
|
</div>
|
466
465
|
<hr>
|
467
|
-
<div class="refsect2"
|
466
|
+
<div class="refsect2">
|
468
467
|
<a name="g-thread-init"></a><h3>g_thread_init ()</h3>
|
469
|
-
<pre class="programlisting"><span class="returnvalue">void</span> g_thread_init (<em class="parameter"><code><a class="link" href="glib-Threads.html#GThreadFunctions" title="GThreadFunctions"><span class="type">GThreadFunctions</span></a> *vtable</code></em>);</pre>
|
468
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_thread_init (<em class="parameter"><code><a class="link" href="glib-Threads.html#GThreadFunctions" title="struct GThreadFunctions"><span class="type">GThreadFunctions</span></a> *vtable</code></em>);</pre>
|
470
469
|
<p>
|
471
470
|
If you use GLib from more than one thread, you must initialize the
|
472
471
|
thread system by calling <a class="link" href="glib-Threads.html#g-thread-init" title="g_thread_init ()"><code class="function">g_thread_init()</code></a>. Most of the time you will
|
@@ -474,7 +473,7 @@ only have to call <code class="literal">g_thread_init (NULL)</code>.
|
|
474
473
|
</p>
|
475
474
|
<p>
|
476
475
|
</p>
|
477
|
-
<div class="note"
|
476
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
478
477
|
<h3 class="title">Note</h3>
|
479
478
|
<p>Do not call <a class="link" href="glib-Threads.html#g-thread-init" title="g_thread_init ()"><code class="function">g_thread_init()</code></a> with a non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> parameter unless
|
480
479
|
you really know what you are doing.</p>
|
@@ -483,7 +482,7 @@ you really know what you are doing.</p>
|
|
483
482
|
</p>
|
484
483
|
<p>
|
485
484
|
</p>
|
486
|
-
<div class="note"
|
485
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
487
486
|
<h3 class="title">Note</h3>
|
488
487
|
<p><a class="link" href="glib-Threads.html#g-thread-init" title="g_thread_init ()"><code class="function">g_thread_init()</code></a> must not be called directly or indirectly as a
|
489
488
|
callback from GLib. Also no mutexes may be currently locked while
|
@@ -493,7 +492,7 @@ calling <a class="link" href="glib-Threads.html#g-thread-init" title="g_thread_i
|
|
493
492
|
</p>
|
494
493
|
<p>
|
495
494
|
</p>
|
496
|
-
<div class="note"
|
495
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
497
496
|
<h3 class="title">Note</h3>
|
498
497
|
<p><a class="link" href="glib-Threads.html#g-thread-init" title="g_thread_init ()"><code class="function">g_thread_init()</code></a> changes the way in which <a class="link" href="glib-Timers.html#GTimer" title="GTimer"><span class="type">GTimer</span></a> measures
|
499
498
|
elapsed time. As a consequence, timers that are running while
|
@@ -513,7 +512,7 @@ elements of <em class="parameter"><code>vtable</code></em> are non-<a class="lin
|
|
513
512
|
</p>
|
514
513
|
<p>
|
515
514
|
</p>
|
516
|
-
<div class="note"
|
515
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
517
516
|
<h3 class="title">Note</h3>
|
518
517
|
<p>To use <a class="link" href="glib-Threads.html#g-thread-init" title="g_thread_init ()"><code class="function">g_thread_init()</code></a> in your program, you have to link with
|
519
518
|
the libraries that the command <span class="command"><strong>pkg-config --libs
|
@@ -527,14 +526,13 @@ having to link with the thread libraries.</p>
|
|
527
526
|
<col align="left" valign="top">
|
528
527
|
<tbody><tr>
|
529
528
|
<td><p><span class="term"><em class="parameter"><code>vtable</code></em> :</span></p></td>
|
530
|
-
<td>a function table of type <a class="link" href="glib-Threads.html#GThreadFunctions" title="GThreadFunctions"><span class="type">GThreadFunctions</span></a>, that provides
|
531
|
-
|
532
|
-
</td>
|
529
|
+
<td>a function table of type <a class="link" href="glib-Threads.html#GThreadFunctions" title="struct GThreadFunctions"><span class="type">GThreadFunctions</span></a>, that provides
|
530
|
+
the entry points to the thread system to be used.</td>
|
533
531
|
</tr></tbody>
|
534
532
|
</table></div>
|
535
533
|
</div>
|
536
534
|
<hr>
|
537
|
-
<div class="refsect2"
|
535
|
+
<div class="refsect2">
|
538
536
|
<a name="g-thread-supported"></a><h3>g_thread_supported ()</h3>
|
539
537
|
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_thread_supported ();</pre>
|
540
538
|
<p>
|
@@ -543,7 +541,7 @@ This function returns <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"
|
|
543
541
|
</p>
|
544
542
|
<p>
|
545
543
|
</p>
|
546
|
-
<div class="note"
|
544
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
547
545
|
<h3 class="title">Note</h3>
|
548
546
|
<p>This function is actually a macro. Apart from taking the
|
549
547
|
address of it you can however use it as if it was a
|
@@ -556,13 +554,12 @@ function.</p>
|
|
556
554
|
<tbody><tr>
|
557
555
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
558
556
|
<td>
|
559
|
-
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, if the thread system is initialized
|
560
|
-
</td>
|
557
|
+
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, if the thread system is initialized.</td>
|
561
558
|
</tr></tbody>
|
562
559
|
</table></div>
|
563
560
|
</div>
|
564
561
|
<hr>
|
565
|
-
<div class="refsect2"
|
562
|
+
<div class="refsect2">
|
566
563
|
<a name="g-thread-get-initialized"></a><h3>g_thread_get_initialized ()</h3>
|
567
564
|
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_thread_get_initialized (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
|
568
565
|
<p>
|
@@ -572,15 +569,14 @@ Indicates if <a class="link" href="glib-Threads.html#g-thread-init" title="g_thr
|
|
572
569
|
<col align="left" valign="top">
|
573
570
|
<tbody><tr>
|
574
571
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
575
|
-
<td>
|
576
|
-
|
577
|
-
</td>
|
572
|
+
<td>
|
573
|
+
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if threads have been initialized.</td>
|
578
574
|
</tr></tbody>
|
579
575
|
</table></div>
|
580
576
|
<p class="since">Since 2.20</p>
|
581
577
|
</div>
|
582
578
|
<hr>
|
583
|
-
<div class="refsect2"
|
579
|
+
<div class="refsect2">
|
584
580
|
<a name="GThreadFunc"></a><h3>GThreadFunc ()</h3>
|
585
581
|
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> (*GThreadFunc) (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
|
586
582
|
<p>
|
@@ -592,20 +588,18 @@ Specifies the type of the <em class="parameter"><code>func</code></em> functions
|
|
592
588
|
<tbody>
|
593
589
|
<tr>
|
594
590
|
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
|
595
|
-
<td>data passed to the thread
|
596
|
-
</td>
|
591
|
+
<td>data passed to the thread.</td>
|
597
592
|
</tr>
|
598
593
|
<tr>
|
599
594
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
600
595
|
<td>the return value of the thread, which will be returned by
|
601
|
-
|
602
|
-
</td>
|
596
|
+
<a class="link" href="glib-Threads.html#g-thread-join" title="g_thread_join ()"><code class="function">g_thread_join()</code></a>.</td>
|
603
597
|
</tr>
|
604
598
|
</tbody>
|
605
599
|
</table></div>
|
606
600
|
</div>
|
607
601
|
<hr>
|
608
|
-
<div class="refsect2"
|
602
|
+
<div class="refsect2">
|
609
603
|
<a name="GThreadPriority"></a><h3>enum GThreadPriority</h3>
|
610
604
|
<pre class="programlisting">typedef enum
|
611
605
|
{
|
@@ -620,7 +614,7 @@ Specifies the priority of a thread.
|
|
620
614
|
</p>
|
621
615
|
<p>
|
622
616
|
</p>
|
623
|
-
<div class="note"
|
617
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
624
618
|
<h3 class="title">Note</h3>
|
625
619
|
<p>It is not guaranteed that threads with different priorities
|
626
620
|
really behave accordingly. On some systems (e.g. Linux) there are no
|
@@ -657,19 +651,19 @@ try to avoid being dependent on priorities.</p>
|
|
657
651
|
</table></div>
|
658
652
|
</div>
|
659
653
|
<hr>
|
660
|
-
<div class="refsect2"
|
661
|
-
<a name="GThread"></a><h3>GThread</h3>
|
662
|
-
<pre class="programlisting">
|
663
|
-
}
|
654
|
+
<div class="refsect2">
|
655
|
+
<a name="GThread"></a><h3>struct GThread</h3>
|
656
|
+
<pre class="programlisting">struct GThread {
|
657
|
+
};
|
664
658
|
</pre>
|
665
659
|
<p>
|
666
|
-
The <a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="type">GThread</span></a> struct represents a running thread. It has three public
|
660
|
+
The <a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="type">GThread</span></a> struct represents a running thread. It has three public
|
667
661
|
read-only members, but the underlying struct is bigger, so you must
|
668
662
|
not copy this struct.
|
669
663
|
</p>
|
670
664
|
<p>
|
671
665
|
</p>
|
672
|
-
<div class="note"
|
666
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
673
667
|
<h3 class="title">Note</h3>
|
674
668
|
<p>Resources for a joinable thread are not fully released
|
675
669
|
until <a class="link" href="glib-Threads.html#g-thread-join" title="g_thread_join ()"><code class="function">g_thread_join()</code></a> is called for that thread.</p>
|
@@ -678,12 +672,12 @@ until <a class="link" href="glib-Threads.html#g-thread-join" title="g_thread_joi
|
|
678
672
|
</p>
|
679
673
|
</div>
|
680
674
|
<hr>
|
681
|
-
<div class="refsect2"
|
675
|
+
<div class="refsect2">
|
682
676
|
<a name="g-thread-create"></a><h3>g_thread_create ()</h3>
|
683
|
-
<pre class="programlisting"><a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="returnvalue">GThread</span></a> * g_thread_create (<em class="parameter"><code><a class="link" href="glib-Threads.html#GThreadFunc" title="GThreadFunc ()"><span class="type">GThreadFunc</span></a> func</code></em>,
|
677
|
+
<pre class="programlisting"><a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="returnvalue">GThread</span></a> * g_thread_create (<em class="parameter"><code><a class="link" href="glib-Threads.html#GThreadFunc" title="GThreadFunc ()"><span class="type">GThreadFunc</span></a> func</code></em>,
|
684
678
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
|
685
679
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> joinable</code></em>,
|
686
|
-
<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
680
|
+
<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
687
681
|
<p>
|
688
682
|
This function creates a new thread with the default priority.
|
689
683
|
</p>
|
@@ -705,42 +699,37 @@ The error is set, if and only if the function returns <a class="link" href="glib
|
|
705
699
|
<tbody>
|
706
700
|
<tr>
|
707
701
|
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
|
708
|
-
<td>a function to execute in the new thread
|
709
|
-
</td>
|
702
|
+
<td>a function to execute in the new thread.</td>
|
710
703
|
</tr>
|
711
704
|
<tr>
|
712
705
|
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
|
713
|
-
<td>an argument to supply to the new thread
|
714
|
-
</td>
|
706
|
+
<td>an argument to supply to the new thread.</td>
|
715
707
|
</tr>
|
716
708
|
<tr>
|
717
709
|
<td><p><span class="term"><em class="parameter"><code>joinable</code></em> :</span></p></td>
|
718
|
-
<td>should this thread be joinable
|
719
|
-
</td>
|
710
|
+
<td>should this thread be joinable?</td>
|
720
711
|
</tr>
|
721
712
|
<tr>
|
722
713
|
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
723
|
-
<td>return location for error
|
724
|
-
</td>
|
714
|
+
<td>return location for error.</td>
|
725
715
|
</tr>
|
726
716
|
<tr>
|
727
717
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
728
|
-
<td>the new <a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="type">GThread</span></a> on success
|
729
|
-
</td>
|
718
|
+
<td>the new <a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="type">GThread</span></a> on success.</td>
|
730
719
|
</tr>
|
731
720
|
</tbody>
|
732
721
|
</table></div>
|
733
722
|
</div>
|
734
723
|
<hr>
|
735
|
-
<div class="refsect2"
|
724
|
+
<div class="refsect2">
|
736
725
|
<a name="g-thread-create-full"></a><h3>g_thread_create_full ()</h3>
|
737
|
-
<pre class="programlisting"><a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="returnvalue">GThread</span></a
|
726
|
+
<pre class="programlisting"><a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="returnvalue">GThread</span></a> * g_thread_create_full (<em class="parameter"><code><a class="link" href="glib-Threads.html#GThreadFunc" title="GThreadFunc ()"><span class="type">GThreadFunc</span></a> func</code></em>,
|
738
727
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
|
739
728
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gulong" title="gulong"><span class="type">gulong</span></a> stack_size</code></em>,
|
740
729
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> joinable</code></em>,
|
741
730
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> bound</code></em>,
|
742
731
|
<em class="parameter"><code><a class="link" href="glib-Threads.html#GThreadPriority" title="enum GThreadPriority"><span class="type">GThreadPriority</span></a> priority</code></em>,
|
743
|
-
<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
732
|
+
<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>);</pre>
|
744
733
|
<p>
|
745
734
|
This function creates a new thread with the priority <em class="parameter"><code>priority</code></em>. If
|
746
735
|
the underlying thread implementation supports it, the thread gets a
|
@@ -766,7 +755,7 @@ The error is set, if and only if the function returns <a class="link" href="glib
|
|
766
755
|
</p>
|
767
756
|
<p>
|
768
757
|
</p>
|
769
|
-
<div class="note"
|
758
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
770
759
|
<h3 class="title">Note</h3>
|
771
760
|
<p>It is not guaranteed that threads with different priorities
|
772
761
|
really behave accordingly. On some systems (e.g. Linux) there are no
|
@@ -779,7 +768,7 @@ try to avoid being dependent on priorities. Use
|
|
779
768
|
</p>
|
780
769
|
<p>
|
781
770
|
</p>
|
782
|
-
<div class="note"
|
771
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
783
772
|
<h3 class="title">Note</h3>
|
784
773
|
<p>Only use <a class="link" href="glib-Threads.html#g-thread-create-full" title="g_thread_create_full ()"><code class="function">g_thread_create_full()</code></a> if you really can't use
|
785
774
|
<a class="link" href="glib-Threads.html#g-thread-create" title="g_thread_create ()"><code class="function">g_thread_create()</code></a> instead. <a class="link" href="glib-Threads.html#g-thread-create" title="g_thread_create ()"><code class="function">g_thread_create()</code></a> does not take
|
@@ -793,72 +782,63 @@ be used in cases in which it is unavoidable.</p>
|
|
793
782
|
<tbody>
|
794
783
|
<tr>
|
795
784
|
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
|
796
|
-
<td>a function to execute in the new thread
|
797
|
-
</td>
|
785
|
+
<td>a function to execute in the new thread.</td>
|
798
786
|
</tr>
|
799
787
|
<tr>
|
800
788
|
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
|
801
|
-
<td>an argument to supply to the new thread
|
802
|
-
</td>
|
789
|
+
<td>an argument to supply to the new thread.</td>
|
803
790
|
</tr>
|
804
791
|
<tr>
|
805
792
|
<td><p><span class="term"><em class="parameter"><code>stack_size</code></em> :</span></p></td>
|
806
|
-
<td>a stack size for the new thread
|
807
|
-
</td>
|
793
|
+
<td>a stack size for the new thread.</td>
|
808
794
|
</tr>
|
809
795
|
<tr>
|
810
796
|
<td><p><span class="term"><em class="parameter"><code>joinable</code></em> :</span></p></td>
|
811
|
-
<td>should this thread be joinable
|
812
|
-
</td>
|
797
|
+
<td>should this thread be joinable?</td>
|
813
798
|
</tr>
|
814
799
|
<tr>
|
815
800
|
<td><p><span class="term"><em class="parameter"><code>bound</code></em> :</span></p></td>
|
816
|
-
<td>should this thread be bound to a system thread
|
817
|
-
</td>
|
801
|
+
<td>should this thread be bound to a system thread?</td>
|
818
802
|
</tr>
|
819
803
|
<tr>
|
820
804
|
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
|
821
|
-
<td>a priority for the thread
|
822
|
-
</td>
|
805
|
+
<td>a priority for the thread.</td>
|
823
806
|
</tr>
|
824
807
|
<tr>
|
825
808
|
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
826
|
-
<td>return location for error
|
827
|
-
</td>
|
809
|
+
<td>return location for error.</td>
|
828
810
|
</tr>
|
829
811
|
<tr>
|
830
812
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
831
|
-
<td>the new <a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="type">GThread</span></a> on success
|
832
|
-
</td>
|
813
|
+
<td>the new <a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="type">GThread</span></a> on success.</td>
|
833
814
|
</tr>
|
834
815
|
</tbody>
|
835
816
|
</table></div>
|
836
817
|
</div>
|
837
818
|
<hr>
|
838
|
-
<div class="refsect2"
|
819
|
+
<div class="refsect2">
|
839
820
|
<a name="g-thread-self"></a><h3>g_thread_self ()</h3>
|
840
|
-
<pre class="programlisting"><a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="returnvalue">GThread</span></a
|
821
|
+
<pre class="programlisting"><a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="returnvalue">GThread</span></a> * g_thread_self (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
|
841
822
|
<p>
|
842
|
-
This functions returns the <a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="type">GThread</span></a> corresponding to the calling
|
823
|
+
This functions returns the <a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="type">GThread</span></a> corresponding to the calling
|
843
824
|
thread.
|
844
825
|
</p>
|
845
826
|
<div class="variablelist"><table border="0">
|
846
827
|
<col align="left" valign="top">
|
847
828
|
<tbody><tr>
|
848
829
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
849
|
-
<td>the current thread
|
850
|
-
</td>
|
830
|
+
<td>the current thread.</td>
|
851
831
|
</tr></tbody>
|
852
832
|
</table></div>
|
853
833
|
</div>
|
854
834
|
<hr>
|
855
|
-
<div class="refsect2"
|
835
|
+
<div class="refsect2">
|
856
836
|
<a name="g-thread-join"></a><h3>g_thread_join ()</h3>
|
857
|
-
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> g_thread_join (<em class="parameter"><code><a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="type">GThread</span></a> *thread</code></em>);</pre>
|
837
|
+
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> g_thread_join (<em class="parameter"><code><a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="type">GThread</span></a> *thread</code></em>);</pre>
|
858
838
|
<p>
|
859
839
|
Waits until <em class="parameter"><code>thread</code></em> finishes, i.e. the function <em class="parameter"><code>func</code></em>, as given to
|
860
840
|
<a class="link" href="glib-Threads.html#g-thread-create" title="g_thread_create ()"><code class="function">g_thread_create()</code></a>, returns or <a class="link" href="glib-Threads.html#g-thread-exit" title="g_thread_exit ()"><code class="function">g_thread_exit()</code></a> is called by <em class="parameter"><code>thread</code></em>.
|
861
|
-
All resources of <em class="parameter"><code>thread</code></em> including the <a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="type">GThread</span></a> struct are released.
|
841
|
+
All resources of <em class="parameter"><code>thread</code></em> including the <a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="type">GThread</span></a> struct are released.
|
862
842
|
<em class="parameter"><code>thread</code></em> must have been created with <em class="parameter"><code>joinable</code></em>=<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> in
|
863
843
|
<a class="link" href="glib-Threads.html#g-thread-create" title="g_thread_create ()"><code class="function">g_thread_create()</code></a>. The value returned by <em class="parameter"><code>func</code></em> or given to
|
864
844
|
<a class="link" href="glib-Threads.html#g-thread-exit" title="g_thread_exit ()"><code class="function">g_thread_exit()</code></a> by <em class="parameter"><code>thread</code></em> is returned by this function.
|
@@ -868,28 +848,26 @@ All resources of <em class="parameter"><code>thread</code></em> including the <a
|
|
868
848
|
<tbody>
|
869
849
|
<tr>
|
870
850
|
<td><p><span class="term"><em class="parameter"><code>thread</code></em> :</span></p></td>
|
871
|
-
<td>a <a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="type">GThread</span></a> to be waited for
|
872
|
-
</td>
|
851
|
+
<td>a <a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="type">GThread</span></a> to be waited for.</td>
|
873
852
|
</tr>
|
874
853
|
<tr>
|
875
854
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
876
|
-
<td>the return value of the thread
|
877
|
-
</td>
|
855
|
+
<td>the return value of the thread.</td>
|
878
856
|
</tr>
|
879
857
|
</tbody>
|
880
858
|
</table></div>
|
881
859
|
</div>
|
882
860
|
<hr>
|
883
|
-
<div class="refsect2"
|
861
|
+
<div class="refsect2">
|
884
862
|
<a name="g-thread-set-priority"></a><h3>g_thread_set_priority ()</h3>
|
885
|
-
<pre class="programlisting"><span class="returnvalue">void</span> g_thread_set_priority (<em class="parameter"><code><a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="type">GThread</span></a> *thread</code></em>,
|
863
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_thread_set_priority (<em class="parameter"><code><a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="type">GThread</span></a> *thread</code></em>,
|
886
864
|
<em class="parameter"><code><a class="link" href="glib-Threads.html#GThreadPriority" title="enum GThreadPriority"><span class="type">GThreadPriority</span></a> priority</code></em>);</pre>
|
887
865
|
<p>
|
888
866
|
Changes the priority of <em class="parameter"><code>thread</code></em> to <em class="parameter"><code>priority</code></em>.
|
889
867
|
</p>
|
890
868
|
<p>
|
891
869
|
</p>
|
892
|
-
<div class="note"
|
870
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
893
871
|
<h3 class="title">Note</h3>
|
894
872
|
<p>It is not guaranteed that threads with different
|
895
873
|
priorities really behave accordingly. On some systems (e.g. Linux)
|
@@ -904,19 +882,17 @@ in all try to avoid being dependent on priorities.</p>
|
|
904
882
|
<tbody>
|
905
883
|
<tr>
|
906
884
|
<td><p><span class="term"><em class="parameter"><code>thread</code></em> :</span></p></td>
|
907
|
-
<td>a <a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="type">GThread</span></a
|
908
|
-
</td>
|
885
|
+
<td>a <a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="type">GThread</span></a>.</td>
|
909
886
|
</tr>
|
910
887
|
<tr>
|
911
888
|
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
|
912
|
-
<td>a new priority for <em class="parameter"><code>thread</code></em
|
913
|
-
</td>
|
889
|
+
<td>a new priority for <em class="parameter"><code>thread</code></em>.</td>
|
914
890
|
</tr>
|
915
891
|
</tbody>
|
916
892
|
</table></div>
|
917
893
|
</div>
|
918
894
|
<hr>
|
919
|
-
<div class="refsect2"
|
895
|
+
<div class="refsect2">
|
920
896
|
<a name="g-thread-yield"></a><h3>g_thread_yield ()</h3>
|
921
897
|
<pre class="programlisting"><span class="returnvalue">void</span> g_thread_yield ();</pre>
|
922
898
|
<p>
|
@@ -929,7 +905,7 @@ that. So in general you shouldn't use this function.
|
|
929
905
|
</p>
|
930
906
|
</div>
|
931
907
|
<hr>
|
932
|
-
<div class="refsect2"
|
908
|
+
<div class="refsect2">
|
933
909
|
<a name="g-thread-exit"></a><h3>g_thread_exit ()</h3>
|
934
910
|
<pre class="programlisting"><span class="returnvalue">void</span> g_thread_exit (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> retval</code></em>);</pre>
|
935
911
|
<p>
|
@@ -960,10 +936,10 @@ to <a class="link" href="glib-Threads.html#g-thread-create" title="g_thread_crea
|
|
960
936
|
</p>
|
961
937
|
<p>
|
962
938
|
</p>
|
963
|
-
<div class="note"
|
939
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
964
940
|
<h3 class="title">Note</h3>
|
965
941
|
<p>Never call <a class="link" href="glib-Threads.html#g-thread-exit" title="g_thread_exit ()"><code class="function">g_thread_exit()</code></a> from within a thread of a
|
966
|
-
<a class="link" href="glib-Thread-Pools.html#GThreadPool" title="GThreadPool"><span class="type">GThreadPool</span></a>, as that will mess up the bookkeeping and lead to funny
|
942
|
+
<a class="link" href="glib-Thread-Pools.html#GThreadPool" title="struct GThreadPool"><span class="type">GThreadPool</span></a>, as that will mess up the bookkeeping and lead to funny
|
967
943
|
and unwanted results.</p>
|
968
944
|
</div>
|
969
945
|
<p>
|
@@ -972,18 +948,17 @@ and unwanted results.</p>
|
|
972
948
|
<col align="left" valign="top">
|
973
949
|
<tbody><tr>
|
974
950
|
<td><p><span class="term"><em class="parameter"><code>retval</code></em> :</span></p></td>
|
975
|
-
<td>the return value of this thread
|
976
|
-
</td>
|
951
|
+
<td>the return value of this thread.</td>
|
977
952
|
</tr></tbody>
|
978
953
|
</table></div>
|
979
954
|
</div>
|
980
955
|
<hr>
|
981
|
-
<div class="refsect2"
|
956
|
+
<div class="refsect2">
|
982
957
|
<a name="g-thread-foreach"></a><h3>g_thread_foreach ()</h3>
|
983
958
|
<pre class="programlisting"><span class="returnvalue">void</span> g_thread_foreach (<em class="parameter"><code><a class="link" href="glib-Doubly-Linked-Lists.html#GFunc" title="GFunc ()"><span class="type">GFunc</span></a> thread_func</code></em>,
|
984
959
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
|
985
960
|
<p>
|
986
|
-
Call <em class="parameter"><code>thread_func</code></em> on all existing <a class="link" href="glib-Threads.html#GThread" title="GThread"><span class="type">GThread</span></a> structures. Note that
|
961
|
+
Call <em class="parameter"><code>thread_func</code></em> on all existing <a class="link" href="glib-Threads.html#GThread" title="struct GThread"><span class="type">GThread</span></a> structures. Note that
|
987
962
|
threads may decide to exit while <em class="parameter"><code>thread_func</code></em> is running, so
|
988
963
|
without intimate knowledge about the lifetime of foreign threads,
|
989
964
|
<em class="parameter"><code>thread_func</code></em> shouldn't access the GThread* pointer passed in as
|
@@ -999,8 +974,7 @@ which is quadratic in the number of existing threads.
|
|
999
974
|
<tbody>
|
1000
975
|
<tr>
|
1001
976
|
<td><p><span class="term"><em class="parameter"><code>thread_func</code></em> :</span></p></td>
|
1002
|
-
<td>function to call for all GThread structures
|
1003
|
-
</td>
|
977
|
+
<td>function to call for all GThread structures</td>
|
1004
978
|
</tr>
|
1005
979
|
<tr>
|
1006
980
|
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
|
@@ -1012,7 +986,7 @@ which is quadratic in the number of existing threads.
|
|
1012
986
|
<p class="since">Since 2.10</p>
|
1013
987
|
</div>
|
1014
988
|
<hr>
|
1015
|
-
<div class="refsect2"
|
989
|
+
<div class="refsect2">
|
1016
990
|
<a name="GMutex"></a><h3>GMutex</h3>
|
1017
991
|
<pre class="programlisting">typedef struct _GMutex GMutex;</pre>
|
1018
992
|
<p>
|
@@ -1023,7 +997,7 @@ access. Take for example the following function:
|
|
1023
997
|
<p>
|
1024
998
|
</p>
|
1025
999
|
<div class="example">
|
1026
|
-
<a name="
|
1000
|
+
<a name="id508738"></a><p class="title"><b>Example 2. A function which will not work in a threaded environment</b></p>
|
1027
1001
|
<div class="example-contents">
|
1028
1002
|
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
1029
1003
|
<tbody>
|
@@ -1068,7 +1042,7 @@ access. A first naive implementation would be:
|
|
1068
1042
|
<p>
|
1069
1043
|
</p>
|
1070
1044
|
<div class="example">
|
1071
|
-
<a name="
|
1045
|
+
<a name="id508764"></a><p class="title"><b>Example 3. The wrong way to write a thread-safe function</b></p>
|
1072
1046
|
<div class="example-contents">
|
1073
1047
|
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
1074
1048
|
<tbody>
|
@@ -1120,7 +1094,7 @@ is:
|
|
1120
1094
|
<p>
|
1121
1095
|
</p>
|
1122
1096
|
<div class="example">
|
1123
|
-
<a name="
|
1097
|
+
<a name="id508789"></a><p class="title"><b>Example 4. A correct thread-safe function</b></p>
|
1124
1098
|
<div class="example-contents">
|
1125
1099
|
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
1126
1100
|
<tbody>
|
@@ -1199,7 +1173,7 @@ A <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="ty
|
|
1199
1173
|
</p>
|
1200
1174
|
<p>
|
1201
1175
|
</p>
|
1202
|
-
<div class="note"
|
1176
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
1203
1177
|
<h3 class="title">Note</h3>
|
1204
1178
|
<p>All of the <code class="function">g_mutex_*</code> functions are
|
1205
1179
|
actually macros. Apart from taking their addresses, you can however
|
@@ -1209,7 +1183,7 @@ use them as if they were functions.</p>
|
|
1209
1183
|
</p>
|
1210
1184
|
</div>
|
1211
1185
|
<hr>
|
1212
|
-
<div class="refsect2"
|
1186
|
+
<div class="refsect2">
|
1213
1187
|
<a name="g-mutex-new"></a><h3>g_mutex_new ()</h3>
|
1214
1188
|
<pre class="programlisting"><a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="returnvalue">GMutex</span></a> * g_mutex_new ();</pre>
|
1215
1189
|
<p>
|
@@ -1217,7 +1191,7 @@ Creates a new <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><sp
|
|
1217
1191
|
</p>
|
1218
1192
|
<p>
|
1219
1193
|
</p>
|
1220
|
-
<div class="note"
|
1194
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
1221
1195
|
<h3 class="title">Note</h3>
|
1222
1196
|
<p>This function will abort if <a class="link" href="glib-Threads.html#g-thread-init" title="g_thread_init ()"><code class="function">g_thread_init()</code></a> has not been
|
1223
1197
|
called yet.</p>
|
@@ -1228,13 +1202,12 @@ called yet.</p>
|
|
1228
1202
|
<col align="left" valign="top">
|
1229
1203
|
<tbody><tr>
|
1230
1204
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1231
|
-
<td>a new <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a
|
1232
|
-
</td>
|
1205
|
+
<td>a new <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a>.</td>
|
1233
1206
|
</tr></tbody>
|
1234
1207
|
</table></div>
|
1235
1208
|
</div>
|
1236
1209
|
<hr>
|
1237
|
-
<div class="refsect2"
|
1210
|
+
<div class="refsect2">
|
1238
1211
|
<a name="g-mutex-lock"></a><h3>g_mutex_lock ()</h3>
|
1239
1212
|
<pre class="programlisting"><span class="returnvalue">void</span> g_mutex_lock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a> *mutex</code></em>);</pre>
|
1240
1213
|
<p>
|
@@ -1248,12 +1221,12 @@ called, and, in that case, will do nothing.
|
|
1248
1221
|
</p>
|
1249
1222
|
<p>
|
1250
1223
|
</p>
|
1251
|
-
<div class="note"
|
1224
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
1252
1225
|
<h3 class="title">Note</h3>
|
1253
1226
|
<p><a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a> is neither guaranteed to be recursive nor to be
|
1254
1227
|
non-recursive, i.e. a thread could deadlock while calling
|
1255
1228
|
<a class="link" href="glib-Threads.html#g-mutex-lock" title="g_mutex_lock ()"><code class="function">g_mutex_lock()</code></a>, if it already has locked <em class="parameter"><code>mutex</code></em>. Use
|
1256
|
-
<a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a>, if you need recursive mutexes.</p>
|
1229
|
+
<a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a>, if you need recursive mutexes.</p>
|
1257
1230
|
</div>
|
1258
1231
|
<p>
|
1259
1232
|
</p>
|
@@ -1261,13 +1234,12 @@ non-recursive, i.e. a thread could deadlock while calling
|
|
1261
1234
|
<col align="left" valign="top">
|
1262
1235
|
<tbody><tr>
|
1263
1236
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
1264
|
-
<td>a <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a
|
1265
|
-
</td>
|
1237
|
+
<td>a <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a>.</td>
|
1266
1238
|
</tr></tbody>
|
1267
1239
|
</table></div>
|
1268
1240
|
</div>
|
1269
1241
|
<hr>
|
1270
|
-
<div class="refsect2"
|
1242
|
+
<div class="refsect2">
|
1271
1243
|
<a name="g-mutex-trylock"></a><h3>g_mutex_trylock ()</h3>
|
1272
1244
|
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_mutex_trylock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a> *mutex</code></em>);</pre>
|
1273
1245
|
<p>
|
@@ -1281,12 +1253,12 @@ called, and, in that case, will immediately return <a class="link" href="glib-St
|
|
1281
1253
|
</p>
|
1282
1254
|
<p>
|
1283
1255
|
</p>
|
1284
|
-
<div class="note"
|
1256
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
1285
1257
|
<h3 class="title">Note</h3>
|
1286
1258
|
<p><a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a> is neither guaranteed to be recursive nor to be
|
1287
1259
|
non-recursive, i.e. the return value of <a class="link" href="glib-Threads.html#g-mutex-trylock" title="g_mutex_trylock ()"><code class="function">g_mutex_trylock()</code></a> could be
|
1288
1260
|
both <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> or <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, if the current thread already has locked
|
1289
|
-
<em class="parameter"><code>mutex</code></em>. Use <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a>, if you need recursive
|
1261
|
+
<em class="parameter"><code>mutex</code></em>. Use <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a>, if you need recursive
|
1290
1262
|
mutexes.</p>
|
1291
1263
|
</div>
|
1292
1264
|
<p>
|
@@ -1296,20 +1268,18 @@ mutexes.</p>
|
|
1296
1268
|
<tbody>
|
1297
1269
|
<tr>
|
1298
1270
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
1299
|
-
<td>a <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a
|
1300
|
-
</td>
|
1271
|
+
<td>a <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a>.</td>
|
1301
1272
|
</tr>
|
1302
1273
|
<tr>
|
1303
1274
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1304
1275
|
<td>
|
1305
|
-
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>mutex</code></em> could be locked
|
1306
|
-
</td>
|
1276
|
+
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>mutex</code></em> could be locked.</td>
|
1307
1277
|
</tr>
|
1308
1278
|
</tbody>
|
1309
1279
|
</table></div>
|
1310
1280
|
</div>
|
1311
1281
|
<hr>
|
1312
|
-
<div class="refsect2"
|
1282
|
+
<div class="refsect2">
|
1313
1283
|
<a name="g-mutex-unlock"></a><h3>g_mutex_unlock ()</h3>
|
1314
1284
|
<pre class="programlisting"><span class="returnvalue">void</span> g_mutex_unlock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a> *mutex</code></em>);</pre>
|
1315
1285
|
<p>
|
@@ -1324,13 +1294,12 @@ called, and, in that case, will do nothing.
|
|
1324
1294
|
<col align="left" valign="top">
|
1325
1295
|
<tbody><tr>
|
1326
1296
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
1327
|
-
<td>a <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a
|
1328
|
-
</td>
|
1297
|
+
<td>a <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a>.</td>
|
1329
1298
|
</tr></tbody>
|
1330
1299
|
</table></div>
|
1331
1300
|
</div>
|
1332
1301
|
<hr>
|
1333
|
-
<div class="refsect2"
|
1302
|
+
<div class="refsect2">
|
1334
1303
|
<a name="g-mutex-free"></a><h3>g_mutex_free ()</h3>
|
1335
1304
|
<pre class="programlisting"><span class="returnvalue">void</span> g_mutex_free (<em class="parameter"><code><a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a> *mutex</code></em>);</pre>
|
1336
1305
|
<p>
|
@@ -1338,7 +1307,7 @@ Destroys <em class="parameter"><code>mutex</code></em>.
|
|
1338
1307
|
</p>
|
1339
1308
|
<p>
|
1340
1309
|
</p>
|
1341
|
-
<div class="note"
|
1310
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
1342
1311
|
<h3 class="title">Note</h3>
|
1343
1312
|
<p>Calling <a class="link" href="glib-Threads.html#g-mutex-free" title="g_mutex_free ()"><code class="function">g_mutex_free()</code></a> on a locked mutex may result in
|
1344
1313
|
undefined behaviour.</p>
|
@@ -1349,13 +1318,12 @@ undefined behaviour.</p>
|
|
1349
1318
|
<col align="left" valign="top">
|
1350
1319
|
<tbody><tr>
|
1351
1320
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
1352
|
-
<td>a <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a
|
1353
|
-
</td>
|
1321
|
+
<td>a <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a>.</td>
|
1354
1322
|
</tr></tbody>
|
1355
1323
|
</table></div>
|
1356
1324
|
</div>
|
1357
1325
|
<hr>
|
1358
|
-
<div class="refsect2"
|
1326
|
+
<div class="refsect2">
|
1359
1327
|
<a name="GStaticMutex"></a><h3>GStaticMutex</h3>
|
1360
1328
|
<pre class="programlisting">typedef struct _GStaticMutex GStaticMutex;</pre>
|
1361
1329
|
<p>
|
@@ -1368,7 +1336,7 @@ example:
|
|
1368
1336
|
<p>
|
1369
1337
|
</p>
|
1370
1338
|
<div class="example">
|
1371
|
-
<a name="
|
1339
|
+
<a name="id509606"></a><p class="title"><b>Example 5.
|
1372
1340
|
Using <span class="structname">GStaticMutex</span>
|
1373
1341
|
to simplify thread-safe programming
|
1374
1342
|
</b></p>
|
@@ -1434,7 +1402,7 @@ which does nothing but returning <a class="link" href="glib-Standard-Macros.html
|
|
1434
1402
|
</p>
|
1435
1403
|
<p>
|
1436
1404
|
</p>
|
1437
|
-
<div class="note"
|
1405
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
1438
1406
|
<h3 class="title">Note</h3>
|
1439
1407
|
<p>All of the <code class="function">g_static_mutex_*</code>
|
1440
1408
|
functions are actually macros. Apart from taking their addresses, you
|
@@ -1444,7 +1412,7 @@ can however use them as if they were functions.</p>
|
|
1444
1412
|
</p>
|
1445
1413
|
</div>
|
1446
1414
|
<hr>
|
1447
|
-
<div class="refsect2"
|
1415
|
+
<div class="refsect2">
|
1448
1416
|
<a name="G-STATIC-MUTEX-INIT:CAPS"></a><h3>G_STATIC_MUTEX_INIT</h3>
|
1449
1417
|
<pre class="programlisting">#define G_STATIC_MUTEX_INIT
|
1450
1418
|
</pre>
|
@@ -1471,7 +1439,7 @@ cannot be assigned to a variable. In that case you have to use
|
|
1471
1439
|
</p>
|
1472
1440
|
</div>
|
1473
1441
|
<hr>
|
1474
|
-
<div class="refsect2"
|
1442
|
+
<div class="refsect2">
|
1475
1443
|
<a name="g-static-mutex-init"></a><h3>g_static_mutex_init ()</h3>
|
1476
1444
|
<pre class="programlisting"><span class="returnvalue">void</span> g_static_mutex_init (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a> *mutex</code></em>);</pre>
|
1477
1445
|
<p>
|
@@ -1482,13 +1450,12 @@ Initializes <em class="parameter"><code>mutex</code></em>. Alternatively you can
|
|
1482
1450
|
<col align="left" valign="top">
|
1483
1451
|
<tbody><tr>
|
1484
1452
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
1485
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a> to be initialized
|
1486
|
-
</td>
|
1453
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a> to be initialized.</td>
|
1487
1454
|
</tr></tbody>
|
1488
1455
|
</table></div>
|
1489
1456
|
</div>
|
1490
1457
|
<hr>
|
1491
|
-
<div class="refsect2"
|
1458
|
+
<div class="refsect2">
|
1492
1459
|
<a name="g-static-mutex-lock"></a><h3>g_static_mutex_lock ()</h3>
|
1493
1460
|
<pre class="programlisting"><span class="returnvalue">void</span> g_static_mutex_lock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a> *mutex</code></em>);</pre>
|
1494
1461
|
<p>
|
@@ -1498,13 +1465,12 @@ Works like <a class="link" href="glib-Threads.html#g-mutex-lock" title="g_mutex_
|
|
1498
1465
|
<col align="left" valign="top">
|
1499
1466
|
<tbody><tr>
|
1500
1467
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
1501
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a
|
1502
|
-
</td>
|
1468
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a>.</td>
|
1503
1469
|
</tr></tbody>
|
1504
1470
|
</table></div>
|
1505
1471
|
</div>
|
1506
1472
|
<hr>
|
1507
|
-
<div class="refsect2"
|
1473
|
+
<div class="refsect2">
|
1508
1474
|
<a name="g-static-mutex-trylock"></a><h3>g_static_mutex_trylock ()</h3>
|
1509
1475
|
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_static_mutex_trylock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a> *mutex</code></em>);</pre>
|
1510
1476
|
<p>
|
@@ -1515,20 +1481,18 @@ Works like <a class="link" href="glib-Threads.html#g-mutex-trylock" title="g_mut
|
|
1515
1481
|
<tbody>
|
1516
1482
|
<tr>
|
1517
1483
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
1518
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a
|
1519
|
-
</td>
|
1484
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a>.</td>
|
1520
1485
|
</tr>
|
1521
1486
|
<tr>
|
1522
1487
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1523
1488
|
<td>
|
1524
|
-
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, if the <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a> could be locked
|
1525
|
-
</td>
|
1489
|
+
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, if the <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a> could be locked.</td>
|
1526
1490
|
</tr>
|
1527
1491
|
</tbody>
|
1528
1492
|
</table></div>
|
1529
1493
|
</div>
|
1530
1494
|
<hr>
|
1531
|
-
<div class="refsect2"
|
1495
|
+
<div class="refsect2">
|
1532
1496
|
<a name="g-static-mutex-unlock"></a><h3>g_static_mutex_unlock ()</h3>
|
1533
1497
|
<pre class="programlisting"><span class="returnvalue">void</span> g_static_mutex_unlock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a> *mutex</code></em>);</pre>
|
1534
1498
|
<p>
|
@@ -1538,13 +1502,12 @@ Works like <a class="link" href="glib-Threads.html#g-mutex-unlock" title="g_mute
|
|
1538
1502
|
<col align="left" valign="top">
|
1539
1503
|
<tbody><tr>
|
1540
1504
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
1541
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a
|
1542
|
-
</td>
|
1505
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a>.</td>
|
1543
1506
|
</tr></tbody>
|
1544
1507
|
</table></div>
|
1545
1508
|
</div>
|
1546
1509
|
<hr>
|
1547
|
-
<div class="refsect2"
|
1510
|
+
<div class="refsect2">
|
1548
1511
|
<a name="g-static-mutex-get-mutex"></a><h3>g_static_mutex_get_mutex ()</h3>
|
1549
1512
|
<pre class="programlisting"><a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="returnvalue">GMutex</span></a> * g_static_mutex_get_mutex (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a> *mutex</code></em>);</pre>
|
1550
1513
|
<p>
|
@@ -1557,19 +1520,17 @@ corresponding <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><sp
|
|
1557
1520
|
<tbody>
|
1558
1521
|
<tr>
|
1559
1522
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
1560
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a
|
1561
|
-
</td>
|
1523
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a>.</td>
|
1562
1524
|
</tr>
|
1563
1525
|
<tr>
|
1564
1526
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1565
|
-
<td>the <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a> corresponding to <em class="parameter"><code>mutex</code></em
|
1566
|
-
</td>
|
1527
|
+
<td>the <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a> corresponding to <em class="parameter"><code>mutex</code></em>.</td>
|
1567
1528
|
</tr>
|
1568
1529
|
</tbody>
|
1569
1530
|
</table></div>
|
1570
1531
|
</div>
|
1571
1532
|
<hr>
|
1572
|
-
<div class="refsect2"
|
1533
|
+
<div class="refsect2">
|
1573
1534
|
<a name="g-static-mutex-free"></a><h3>g_static_mutex_free ()</h3>
|
1574
1535
|
<pre class="programlisting"><span class="returnvalue">void</span> g_static_mutex_free (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a> *mutex</code></em>);</pre>
|
1575
1536
|
<p>
|
@@ -1583,7 +1544,7 @@ freed, you should also free the <a class="link" href="glib-Threads.html#GStaticM
|
|
1583
1544
|
</p>
|
1584
1545
|
<p>
|
1585
1546
|
</p>
|
1586
|
-
<div class="note"
|
1547
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
1587
1548
|
<h3 class="title">Note</h3>
|
1588
1549
|
<p>Calling <a class="link" href="glib-Threads.html#g-static-mutex-free" title="g_static_mutex_free ()"><code class="function">g_static_mutex_free()</code></a> on a locked mutex may
|
1589
1550
|
result in undefined behaviour.</p>
|
@@ -1594,15 +1555,15 @@ result in undefined behaviour.</p>
|
|
1594
1555
|
<col align="left" valign="top">
|
1595
1556
|
<tbody><tr>
|
1596
1557
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
1597
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a> to be freed
|
1598
|
-
</td>
|
1558
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a> to be freed.</td>
|
1599
1559
|
</tr></tbody>
|
1600
1560
|
</table></div>
|
1601
1561
|
</div>
|
1602
1562
|
<hr>
|
1603
|
-
<div class="refsect2"
|
1563
|
+
<div class="refsect2">
|
1604
1564
|
<a name="G-LOCK-DEFINE:CAPS"></a><h3>G_LOCK_DEFINE()</h3>
|
1605
|
-
<pre class="programlisting">#define
|
1565
|
+
<pre class="programlisting">#define G_LOCK_DEFINE(name)
|
1566
|
+
</pre>
|
1606
1567
|
<p>
|
1607
1568
|
The <code class="literal">G_LOCK_</code>* macros provide a convenient interface to <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a>
|
1608
1569
|
with the advantage that they will expand to nothing in programs
|
@@ -1619,7 +1580,7 @@ of the variable you intent to protect with the lock. Look at our
|
|
1619
1580
|
<p>
|
1620
1581
|
</p>
|
1621
1582
|
<div class="example">
|
1622
|
-
<a name="
|
1583
|
+
<a name="id510656"></a><p class="title"><b>Example 6. Using the <code class="literal">G_LOCK_</code>* convenience macros</b></p>
|
1623
1584
|
<div class="example-contents">
|
1624
1585
|
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
1625
1586
|
<tbody>
|
@@ -1664,15 +1625,15 @@ of the variable you intent to protect with the lock. Look at our
|
|
1664
1625
|
<col align="left" valign="top">
|
1665
1626
|
<tbody><tr>
|
1666
1627
|
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
|
1667
|
-
<td>the name of the lock
|
1668
|
-
</td>
|
1628
|
+
<td>the name of the lock.</td>
|
1669
1629
|
</tr></tbody>
|
1670
1630
|
</table></div>
|
1671
1631
|
</div>
|
1672
1632
|
<hr>
|
1673
|
-
<div class="refsect2"
|
1633
|
+
<div class="refsect2">
|
1674
1634
|
<a name="G-LOCK-DEFINE-STATIC:CAPS"></a><h3>G_LOCK_DEFINE_STATIC()</h3>
|
1675
|
-
<pre class="programlisting">#define
|
1635
|
+
<pre class="programlisting">#define G_LOCK_DEFINE_STATIC(name)
|
1636
|
+
</pre>
|
1676
1637
|
<p>
|
1677
1638
|
This works like <a class="link" href="glib-Threads.html#G-LOCK-DEFINE:CAPS" title="G_LOCK_DEFINE()"><span class="type">G_LOCK_DEFINE</span></a>, but it creates a static object.
|
1678
1639
|
</p>
|
@@ -1680,15 +1641,15 @@ This works like <a class="link" href="glib-Threads.html#G-LOCK-DEFINE:CAPS" titl
|
|
1680
1641
|
<col align="left" valign="top">
|
1681
1642
|
<tbody><tr>
|
1682
1643
|
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
|
1683
|
-
<td>the name of the lock
|
1684
|
-
</td>
|
1644
|
+
<td>the name of the lock.</td>
|
1685
1645
|
</tr></tbody>
|
1686
1646
|
</table></div>
|
1687
1647
|
</div>
|
1688
1648
|
<hr>
|
1689
|
-
<div class="refsect2"
|
1649
|
+
<div class="refsect2">
|
1690
1650
|
<a name="G-LOCK-EXTERN:CAPS"></a><h3>G_LOCK_EXTERN()</h3>
|
1691
|
-
<pre class="programlisting">#define
|
1651
|
+
<pre class="programlisting">#define G_LOCK_EXTERN(name)
|
1652
|
+
</pre>
|
1692
1653
|
<p>
|
1693
1654
|
This declares a lock, that is defined with <a class="link" href="glib-Threads.html#G-LOCK-DEFINE:CAPS" title="G_LOCK_DEFINE()"><span class="type">G_LOCK_DEFINE</span></a> in another
|
1694
1655
|
module.
|
@@ -1697,15 +1658,15 @@ module.
|
|
1697
1658
|
<col align="left" valign="top">
|
1698
1659
|
<tbody><tr>
|
1699
1660
|
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
|
1700
|
-
<td>the name of the lock
|
1701
|
-
</td>
|
1661
|
+
<td>the name of the lock.</td>
|
1702
1662
|
</tr></tbody>
|
1703
1663
|
</table></div>
|
1704
1664
|
</div>
|
1705
1665
|
<hr>
|
1706
|
-
<div class="refsect2"
|
1666
|
+
<div class="refsect2">
|
1707
1667
|
<a name="G-LOCK:CAPS"></a><h3>G_LOCK()</h3>
|
1708
|
-
<pre class="programlisting">#define
|
1668
|
+
<pre class="programlisting">#define G_LOCK(name)
|
1669
|
+
</pre>
|
1709
1670
|
<p>
|
1710
1671
|
Works like <a class="link" href="glib-Threads.html#g-mutex-lock" title="g_mutex_lock ()"><code class="function">g_mutex_lock()</code></a>, but for a lock defined with
|
1711
1672
|
<a class="link" href="glib-Threads.html#G-LOCK-DEFINE:CAPS" title="G_LOCK_DEFINE()"><span class="type">G_LOCK_DEFINE</span></a>.
|
@@ -1714,15 +1675,15 @@ Works like <a class="link" href="glib-Threads.html#g-mutex-lock" title="g_mutex_
|
|
1714
1675
|
<col align="left" valign="top">
|
1715
1676
|
<tbody><tr>
|
1716
1677
|
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
|
1717
|
-
<td>the name of the lock
|
1718
|
-
</td>
|
1678
|
+
<td>the name of the lock.</td>
|
1719
1679
|
</tr></tbody>
|
1720
1680
|
</table></div>
|
1721
1681
|
</div>
|
1722
1682
|
<hr>
|
1723
|
-
<div class="refsect2"
|
1683
|
+
<div class="refsect2">
|
1724
1684
|
<a name="G-TRYLOCK:CAPS"></a><h3>G_TRYLOCK()</h3>
|
1725
|
-
<pre class="programlisting">#define
|
1685
|
+
<pre class="programlisting">#define G_TRYLOCK(name)
|
1686
|
+
</pre>
|
1726
1687
|
<p>
|
1727
1688
|
Works like <a class="link" href="glib-Threads.html#g-mutex-trylock" title="g_mutex_trylock ()"><code class="function">g_mutex_trylock()</code></a>, but for a lock defined with
|
1728
1689
|
<a class="link" href="glib-Threads.html#G-LOCK-DEFINE:CAPS" title="G_LOCK_DEFINE()"><span class="type">G_LOCK_DEFINE</span></a>.
|
@@ -1732,22 +1693,21 @@ Works like <a class="link" href="glib-Threads.html#g-mutex-trylock" title="g_mut
|
|
1732
1693
|
<tbody>
|
1733
1694
|
<tr>
|
1734
1695
|
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
|
1735
|
-
<td>the name of the lock
|
1736
|
-
</td>
|
1696
|
+
<td>the name of the lock.</td>
|
1737
1697
|
</tr>
|
1738
1698
|
<tr>
|
1739
1699
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1740
1700
|
<td>
|
1741
|
-
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, if the lock could be locked
|
1742
|
-
</td>
|
1701
|
+
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, if the lock could be locked.</td>
|
1743
1702
|
</tr>
|
1744
1703
|
</tbody>
|
1745
1704
|
</table></div>
|
1746
1705
|
</div>
|
1747
1706
|
<hr>
|
1748
|
-
<div class="refsect2"
|
1707
|
+
<div class="refsect2">
|
1749
1708
|
<a name="G-UNLOCK:CAPS"></a><h3>G_UNLOCK()</h3>
|
1750
|
-
<pre class="programlisting">#define
|
1709
|
+
<pre class="programlisting">#define G_UNLOCK(name)
|
1710
|
+
</pre>
|
1751
1711
|
<p>
|
1752
1712
|
Works like <a class="link" href="glib-Threads.html#g-mutex-unlock" title="g_mutex_unlock ()"><code class="function">g_mutex_unlock()</code></a>, but for a lock defined with
|
1753
1713
|
<a class="link" href="glib-Threads.html#G-LOCK-DEFINE:CAPS" title="G_LOCK_DEFINE()"><span class="type">G_LOCK_DEFINE</span></a>.
|
@@ -1756,29 +1716,28 @@ Works like <a class="link" href="glib-Threads.html#g-mutex-unlock" title="g_mute
|
|
1756
1716
|
<col align="left" valign="top">
|
1757
1717
|
<tbody><tr>
|
1758
1718
|
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
|
1759
|
-
<td>the name of the lock
|
1760
|
-
</td>
|
1719
|
+
<td>the name of the lock.</td>
|
1761
1720
|
</tr></tbody>
|
1762
1721
|
</table></div>
|
1763
1722
|
</div>
|
1764
1723
|
<hr>
|
1765
|
-
<div class="refsect2"
|
1766
|
-
<a name="GStaticRecMutex"></a><h3>GStaticRecMutex</h3>
|
1767
|
-
<pre class="programlisting">
|
1768
|
-
}
|
1724
|
+
<div class="refsect2">
|
1725
|
+
<a name="GStaticRecMutex"></a><h3>struct GStaticRecMutex</h3>
|
1726
|
+
<pre class="programlisting">struct GStaticRecMutex {
|
1727
|
+
};
|
1769
1728
|
</pre>
|
1770
1729
|
<p>
|
1771
|
-
A <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> works like a <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a>, but it can be locked
|
1730
|
+
A <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> works like a <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a>, but it can be locked
|
1772
1731
|
multiple times by one thread. If you enter it n times, you have to
|
1773
1732
|
unlock it n times again to let other threads lock it. An exception
|
1774
1733
|
is the function <a class="link" href="glib-Threads.html#g-static-rec-mutex-unlock-full" title="g_static_rec_mutex_unlock_full ()"><code class="function">g_static_rec_mutex_unlock_full()</code></a>: that allows you to
|
1775
|
-
unlock a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> completely returning the depth, (i.e. the
|
1734
|
+
unlock a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> completely returning the depth, (i.e. the
|
1776
1735
|
number of times this mutex was locked). The depth can later be used
|
1777
|
-
to restore the state of the <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> by calling
|
1736
|
+
to restore the state of the <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> by calling
|
1778
1737
|
<a class="link" href="glib-Threads.html#g-static-rec-mutex-lock-full" title="g_static_rec_mutex_lock_full ()"><code class="function">g_static_rec_mutex_lock_full()</code></a>.
|
1779
1738
|
</p>
|
1780
1739
|
<p>
|
1781
|
-
Even though <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> is not opaque, it should only be used
|
1740
|
+
Even though <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> is not opaque, it should only be used
|
1782
1741
|
with the following functions.
|
1783
1742
|
</p>
|
1784
1743
|
<p>
|
@@ -1789,12 +1748,12 @@ which does nothing but returning <a class="link" href="glib-Standard-Macros.html
|
|
1789
1748
|
</p>
|
1790
1749
|
</div>
|
1791
1750
|
<hr>
|
1792
|
-
<div class="refsect2"
|
1751
|
+
<div class="refsect2">
|
1793
1752
|
<a name="G-STATIC-REC-MUTEX-INIT:CAPS"></a><h3>G_STATIC_REC_MUTEX_INIT</h3>
|
1794
1753
|
<pre class="programlisting">#define G_STATIC_REC_MUTEX_INIT { G_STATIC_MUTEX_INIT }
|
1795
1754
|
</pre>
|
1796
1755
|
<p>
|
1797
|
-
A <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> must be initialized with this macro before it can
|
1756
|
+
A <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> must be initialized with this macro before it can
|
1798
1757
|
be used. This macro can used be to initialize a variable, but it
|
1799
1758
|
cannot be assigned to a variable. In that case you have to use
|
1800
1759
|
<a class="link" href="glib-Threads.html#g-static-rec-mutex-init" title="g_static_rec_mutex_init ()"><code class="function">g_static_rec_mutex_init()</code></a>.
|
@@ -1816,11 +1775,11 @@ cannot be assigned to a variable. In that case you have to use
|
|
1816
1775
|
</p>
|
1817
1776
|
</div>
|
1818
1777
|
<hr>
|
1819
|
-
<div class="refsect2"
|
1778
|
+
<div class="refsect2">
|
1820
1779
|
<a name="g-static-rec-mutex-init"></a><h3>g_static_rec_mutex_init ()</h3>
|
1821
|
-
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rec_mutex_init (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);</pre>
|
1780
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rec_mutex_init (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);</pre>
|
1822
1781
|
<p>
|
1823
|
-
A <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> must be initialized with this function before it
|
1782
|
+
A <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> must be initialized with this function before it
|
1824
1783
|
can be used. Alternatively you can initialize it with
|
1825
1784
|
<a class="link" href="glib-Threads.html#G-STATIC-REC-MUTEX-INIT:CAPS" title="G_STATIC_REC_MUTEX_INIT"><span class="type">G_STATIC_REC_MUTEX_INIT</span></a>.
|
1826
1785
|
</p>
|
@@ -1828,15 +1787,14 @@ can be used. Alternatively you can initialize it with
|
|
1828
1787
|
<col align="left" valign="top">
|
1829
1788
|
<tbody><tr>
|
1830
1789
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
1831
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> to be initialized
|
1832
|
-
</td>
|
1790
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> to be initialized.</td>
|
1833
1791
|
</tr></tbody>
|
1834
1792
|
</table></div>
|
1835
1793
|
</div>
|
1836
1794
|
<hr>
|
1837
|
-
<div class="refsect2"
|
1795
|
+
<div class="refsect2">
|
1838
1796
|
<a name="g-static-rec-mutex-lock"></a><h3>g_static_rec_mutex_lock ()</h3>
|
1839
|
-
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rec_mutex_lock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);</pre>
|
1797
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rec_mutex_lock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);</pre>
|
1840
1798
|
<p>
|
1841
1799
|
Locks <em class="parameter"><code>mutex</code></em>. If <em class="parameter"><code>mutex</code></em> is already locked by another thread, the
|
1842
1800
|
current thread will block until <em class="parameter"><code>mutex</code></em> is unlocked by the other
|
@@ -1847,15 +1805,14 @@ functions increases the depth of <em class="parameter"><code>mutex</code></em> a
|
|
1847
1805
|
<col align="left" valign="top">
|
1848
1806
|
<tbody><tr>
|
1849
1807
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
1850
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> to lock
|
1851
|
-
</td>
|
1808
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> to lock.</td>
|
1852
1809
|
</tr></tbody>
|
1853
1810
|
</table></div>
|
1854
1811
|
</div>
|
1855
1812
|
<hr>
|
1856
|
-
<div class="refsect2"
|
1813
|
+
<div class="refsect2">
|
1857
1814
|
<a name="g-static-rec-mutex-trylock"></a><h3>g_static_rec_mutex_trylock ()</h3>
|
1858
|
-
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_static_rec_mutex_trylock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);</pre>
|
1815
|
+
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_static_rec_mutex_trylock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);</pre>
|
1859
1816
|
<p>
|
1860
1817
|
Tries to lock <em class="parameter"><code>mutex</code></em>. If <em class="parameter"><code>mutex</code></em> is already locked by another thread,
|
1861
1818
|
it immediately returns <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>. Otherwise it locks <em class="parameter"><code>mutex</code></em> and returns
|
@@ -1868,22 +1825,20 @@ functions increases the depth of <em class="parameter"><code>mutex</code></em> a
|
|
1868
1825
|
<tbody>
|
1869
1826
|
<tr>
|
1870
1827
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
1871
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> to lock
|
1872
|
-
</td>
|
1828
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> to lock.</td>
|
1873
1829
|
</tr>
|
1874
1830
|
<tr>
|
1875
1831
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1876
1832
|
<td>
|
1877
|
-
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>mutex</code></em> could be locked
|
1878
|
-
</td>
|
1833
|
+
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>mutex</code></em> could be locked.</td>
|
1879
1834
|
</tr>
|
1880
1835
|
</tbody>
|
1881
1836
|
</table></div>
|
1882
1837
|
</div>
|
1883
1838
|
<hr>
|
1884
|
-
<div class="refsect2"
|
1839
|
+
<div class="refsect2">
|
1885
1840
|
<a name="g-static-rec-mutex-unlock"></a><h3>g_static_rec_mutex_unlock ()</h3>
|
1886
|
-
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rec_mutex_unlock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);</pre>
|
1841
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rec_mutex_unlock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);</pre>
|
1887
1842
|
<p>
|
1888
1843
|
Unlocks <em class="parameter"><code>mutex</code></em>. Another thread will be allowed to lock <em class="parameter"><code>mutex</code></em> only
|
1889
1844
|
when it has been unlocked as many times as it had been locked
|
@@ -1895,15 +1850,14 @@ woken and can lock <em class="parameter"><code>mutex</code></em> itself.
|
|
1895
1850
|
<col align="left" valign="top">
|
1896
1851
|
<tbody><tr>
|
1897
1852
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
1898
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> to unlock
|
1899
|
-
</td>
|
1853
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> to unlock.</td>
|
1900
1854
|
</tr></tbody>
|
1901
1855
|
</table></div>
|
1902
1856
|
</div>
|
1903
1857
|
<hr>
|
1904
|
-
<div class="refsect2"
|
1858
|
+
<div class="refsect2">
|
1905
1859
|
<a name="g-static-rec-mutex-lock-full"></a><h3>g_static_rec_mutex_lock_full ()</h3>
|
1906
|
-
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rec_mutex_lock_full (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>,
|
1860
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rec_mutex_lock_full (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>,
|
1907
1861
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> depth</code></em>);</pre>
|
1908
1862
|
<p>
|
1909
1863
|
Works like calling <a class="link" href="glib-Threads.html#g-static-rec-mutex-lock" title="g_static_rec_mutex_lock ()"><code class="function">g_static_rec_mutex_lock()</code></a> for <em class="parameter"><code>mutex</code></em> <em class="parameter"><code>depth</code></em> times.
|
@@ -1913,22 +1867,20 @@ Works like calling <a class="link" href="glib-Threads.html#g-static-rec-mutex-lo
|
|
1913
1867
|
<tbody>
|
1914
1868
|
<tr>
|
1915
1869
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
1916
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> to lock
|
1917
|
-
</td>
|
1870
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> to lock.</td>
|
1918
1871
|
</tr>
|
1919
1872
|
<tr>
|
1920
1873
|
<td><p><span class="term"><em class="parameter"><code>depth</code></em> :</span></p></td>
|
1921
1874
|
<td>number of times this mutex has to be unlocked to be
|
1922
|
-
|
1923
|
-
</td>
|
1875
|
+
completely unlocked.</td>
|
1924
1876
|
</tr>
|
1925
1877
|
</tbody>
|
1926
1878
|
</table></div>
|
1927
1879
|
</div>
|
1928
1880
|
<hr>
|
1929
|
-
<div class="refsect2"
|
1881
|
+
<div class="refsect2">
|
1930
1882
|
<a name="g-static-rec-mutex-unlock-full"></a><h3>g_static_rec_mutex_unlock_full ()</h3>
|
1931
|
-
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> g_static_rec_mutex_unlock_full (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);</pre>
|
1883
|
+
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> g_static_rec_mutex_unlock_full (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);</pre>
|
1932
1884
|
<p>
|
1933
1885
|
Completely unlocks <em class="parameter"><code>mutex</code></em>. If another thread is blocked in a
|
1934
1886
|
<a class="link" href="glib-Threads.html#g-static-rec-mutex-lock" title="g_static_rec_mutex_lock ()"><code class="function">g_static_rec_mutex_lock()</code></a> call for <em class="parameter"><code>mutex</code></em>, it will be woken and can
|
@@ -1943,48 +1895,45 @@ function.
|
|
1943
1895
|
<tbody>
|
1944
1896
|
<tr>
|
1945
1897
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
1946
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> to completely unlock
|
1947
|
-
</td>
|
1898
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> to completely unlock.</td>
|
1948
1899
|
</tr>
|
1949
1900
|
<tr>
|
1950
1901
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
1951
1902
|
<td>number of times <em class="parameter"><code>mutex</code></em> has been locked by the current
|
1952
|
-
|
1953
|
-
</td>
|
1903
|
+
thread.</td>
|
1954
1904
|
</tr>
|
1955
1905
|
</tbody>
|
1956
1906
|
</table></div>
|
1957
1907
|
</div>
|
1958
1908
|
<hr>
|
1959
|
-
<div class="refsect2"
|
1909
|
+
<div class="refsect2">
|
1960
1910
|
<a name="g-static-rec-mutex-free"></a><h3>g_static_rec_mutex_free ()</h3>
|
1961
|
-
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rec_mutex_free (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);</pre>
|
1911
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rec_mutex_free (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> *mutex</code></em>);</pre>
|
1962
1912
|
<p>
|
1963
|
-
Releases all resources allocated to a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a>.
|
1913
|
+
Releases all resources allocated to a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a>.
|
1964
1914
|
</p>
|
1965
1915
|
<p>
|
1966
|
-
You don't have to call this functions for a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> with an
|
1916
|
+
You don't have to call this functions for a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> with an
|
1967
1917
|
unbounded lifetime, i.e. objects declared 'static', but if you have
|
1968
|
-
a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> as a member of a structure and the structure is
|
1969
|
-
freed, you should also free the <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a>.
|
1918
|
+
a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> as a member of a structure and the structure is
|
1919
|
+
freed, you should also free the <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a>.
|
1970
1920
|
</p>
|
1971
1921
|
<div class="variablelist"><table border="0">
|
1972
1922
|
<col align="left" valign="top">
|
1973
1923
|
<tbody><tr>
|
1974
1924
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
1975
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> to be freed
|
1976
|
-
</td>
|
1925
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticRecMutex" title="struct GStaticRecMutex"><span class="type">GStaticRecMutex</span></a> to be freed.</td>
|
1977
1926
|
</tr></tbody>
|
1978
1927
|
</table></div>
|
1979
1928
|
</div>
|
1980
1929
|
<hr>
|
1981
|
-
<div class="refsect2"
|
1982
|
-
<a name="GStaticRWLock"></a><h3>GStaticRWLock</h3>
|
1983
|
-
<pre class="programlisting">
|
1984
|
-
}
|
1930
|
+
<div class="refsect2">
|
1931
|
+
<a name="GStaticRWLock"></a><h3>struct GStaticRWLock</h3>
|
1932
|
+
<pre class="programlisting">struct GStaticRWLock {
|
1933
|
+
};
|
1985
1934
|
</pre>
|
1986
1935
|
<p>
|
1987
|
-
The <a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> struct represents a read-write lock. A read-write
|
1936
|
+
The <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> struct represents a read-write lock. A read-write
|
1988
1937
|
lock can be used for protecting data that some portions of code only
|
1989
1938
|
read from, while others also write. In such situations it is
|
1990
1939
|
desirable that several readers can read at once, whereas of course
|
@@ -1994,7 +1943,7 @@ example:
|
|
1994
1943
|
<p>
|
1995
1944
|
</p>
|
1996
1945
|
<div class="example">
|
1997
|
-
<a name="
|
1946
|
+
<a name="id512271"></a><p class="title"><b>Example 7. An array with access functions</b></p>
|
1998
1947
|
<div class="example-contents">
|
1999
1948
|
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
2000
1949
|
<tbody>
|
@@ -2091,7 +2040,7 @@ to finish their operation. As soon as the last reader unlocks the
|
|
2091
2040
|
data, the writer will lock it.
|
2092
2041
|
</p>
|
2093
2042
|
<p>
|
2094
|
-
Even though <a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> is not opaque, it should only be used
|
2043
|
+
Even though <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> is not opaque, it should only be used
|
2095
2044
|
with the following functions.
|
2096
2045
|
</p>
|
2097
2046
|
<p>
|
@@ -2102,15 +2051,15 @@ which does nothing but returning <a class="link" href="glib-Standard-Macros.html
|
|
2102
2051
|
</p>
|
2103
2052
|
<p>
|
2104
2053
|
</p>
|
2105
|
-
<div class="note"
|
2054
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
2106
2055
|
<h3 class="title">Note</h3>
|
2107
2056
|
<p>A read-write lock has a higher overhead than a mutex. For
|
2108
2057
|
example, both <a class="link" href="glib-Threads.html#g-static-rw-lock-reader-lock" title="g_static_rw_lock_reader_lock ()"><code class="function">g_static_rw_lock_reader_lock()</code></a> and
|
2109
2058
|
<a class="link" href="glib-Threads.html#g-static-rw-lock-reader-unlock" title="g_static_rw_lock_reader_unlock ()"><code class="function">g_static_rw_lock_reader_unlock()</code></a> have to lock and unlock a
|
2110
2059
|
<a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a>, so it takes at least twice the time to lock and unlock
|
2111
|
-
a <a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> that it does to lock and unlock a <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a>. So
|
2060
|
+
a <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> that it does to lock and unlock a <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a>. So
|
2112
2061
|
only data structures that are accessed by multiple readers, and which
|
2113
|
-
keep the lock for a considerable time justify a <a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a>. The
|
2062
|
+
keep the lock for a considerable time justify a <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a>. The
|
2114
2063
|
above example most probably would fare better with a
|
2115
2064
|
<a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a>.</p>
|
2116
2065
|
</div>
|
@@ -2118,12 +2067,12 @@ above example most probably would fare better with a
|
|
2118
2067
|
</p>
|
2119
2068
|
</div>
|
2120
2069
|
<hr>
|
2121
|
-
<div class="refsect2"
|
2070
|
+
<div class="refsect2">
|
2122
2071
|
<a name="G-STATIC-RW-LOCK-INIT:CAPS"></a><h3>G_STATIC_RW_LOCK_INIT</h3>
|
2123
2072
|
<pre class="programlisting">#define G_STATIC_RW_LOCK_INIT { G_STATIC_MUTEX_INIT, NULL, NULL, 0, FALSE, 0, 0 }
|
2124
2073
|
</pre>
|
2125
2074
|
<p>
|
2126
|
-
A <a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> must be initialized with this macro before it can
|
2075
|
+
A <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> must be initialized with this macro before it can
|
2127
2076
|
be used. This macro can used be to initialize a variable, but it
|
2128
2077
|
cannot be assigned to a variable. In that case you have to use
|
2129
2078
|
<a class="link" href="glib-Threads.html#g-static-rw-lock-init" title="g_static_rw_lock_init ()"><code class="function">g_static_rw_lock_init()</code></a>.
|
@@ -2145,11 +2094,11 @@ cannot be assigned to a variable. In that case you have to use
|
|
2145
2094
|
</p>
|
2146
2095
|
</div>
|
2147
2096
|
<hr>
|
2148
|
-
<div class="refsect2"
|
2097
|
+
<div class="refsect2">
|
2149
2098
|
<a name="g-static-rw-lock-init"></a><h3>g_static_rw_lock_init ()</h3>
|
2150
|
-
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rw_lock_init (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);</pre>
|
2099
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rw_lock_init (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);</pre>
|
2151
2100
|
<p>
|
2152
|
-
A <a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> must be initialized with this function before it
|
2101
|
+
A <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> must be initialized with this function before it
|
2153
2102
|
can be used. Alternatively you can initialize it with
|
2154
2103
|
<a class="link" href="glib-Threads.html#G-STATIC-RW-LOCK-INIT:CAPS" title="G_STATIC_RW_LOCK_INIT"><span class="type">G_STATIC_RW_LOCK_INIT</span></a>.
|
2155
2104
|
</p>
|
@@ -2157,18 +2106,17 @@ can be used. Alternatively you can initialize it with
|
|
2157
2106
|
<col align="left" valign="top">
|
2158
2107
|
<tbody><tr>
|
2159
2108
|
<td><p><span class="term"><em class="parameter"><code>lock</code></em> :</span></p></td>
|
2160
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> to be initialized
|
2161
|
-
</td>
|
2109
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> to be initialized.</td>
|
2162
2110
|
</tr></tbody>
|
2163
2111
|
</table></div>
|
2164
2112
|
</div>
|
2165
2113
|
<hr>
|
2166
|
-
<div class="refsect2"
|
2114
|
+
<div class="refsect2">
|
2167
2115
|
<a name="g-static-rw-lock-reader-lock"></a><h3>g_static_rw_lock_reader_lock ()</h3>
|
2168
|
-
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rw_lock_reader_lock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);</pre>
|
2116
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rw_lock_reader_lock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);</pre>
|
2169
2117
|
<p>
|
2170
2118
|
Locks <em class="parameter"><code>lock</code></em> for reading. There may be unlimited concurrent locks for
|
2171
|
-
reading of a <a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> at the same time. If <em class="parameter"><code>lock</code></em> is already
|
2119
|
+
reading of a <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> at the same time. If <em class="parameter"><code>lock</code></em> is already
|
2172
2120
|
locked for writing by another thread or if another thread is already
|
2173
2121
|
waiting to lock <em class="parameter"><code>lock</code></em> for writing, this function will block until
|
2174
2122
|
<em class="parameter"><code>lock</code></em> is unlocked by the other writing thread and no other writing
|
@@ -2176,7 +2124,7 @@ threads want to lock <em class="parameter"><code>lock</code></em>. This lock has
|
|
2176
2124
|
<a class="link" href="glib-Threads.html#g-static-rw-lock-reader-unlock" title="g_static_rw_lock_reader_unlock ()"><code class="function">g_static_rw_lock_reader_unlock()</code></a>.
|
2177
2125
|
</p>
|
2178
2126
|
<p>
|
2179
|
-
<a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> is not recursive. It might seem to be possible to
|
2127
|
+
<a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> is not recursive. It might seem to be possible to
|
2180
2128
|
recursively lock for reading, but that can result in a deadlock, due
|
2181
2129
|
to writer preference.
|
2182
2130
|
</p>
|
@@ -2184,15 +2132,14 @@ to writer preference.
|
|
2184
2132
|
<col align="left" valign="top">
|
2185
2133
|
<tbody><tr>
|
2186
2134
|
<td><p><span class="term"><em class="parameter"><code>lock</code></em> :</span></p></td>
|
2187
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> to lock for reading
|
2188
|
-
</td>
|
2135
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> to lock for reading.</td>
|
2189
2136
|
</tr></tbody>
|
2190
2137
|
</table></div>
|
2191
2138
|
</div>
|
2192
2139
|
<hr>
|
2193
|
-
<div class="refsect2"
|
2140
|
+
<div class="refsect2">
|
2194
2141
|
<a name="g-static-rw-lock-reader-trylock"></a><h3>g_static_rw_lock_reader_trylock ()</h3>
|
2195
|
-
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_static_rw_lock_reader_trylock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);</pre>
|
2142
|
+
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_static_rw_lock_reader_trylock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);</pre>
|
2196
2143
|
<p>
|
2197
2144
|
Tries to lock <em class="parameter"><code>lock</code></em> for reading. If <em class="parameter"><code>lock</code></em> is already locked for
|
2198
2145
|
writing by another thread or if another thread is already waiting to
|
@@ -2205,22 +2152,20 @@ lock <em class="parameter"><code>lock</code></em> for writing, immediately retur
|
|
2205
2152
|
<tbody>
|
2206
2153
|
<tr>
|
2207
2154
|
<td><p><span class="term"><em class="parameter"><code>lock</code></em> :</span></p></td>
|
2208
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> to lock for reading
|
2209
|
-
</td>
|
2155
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> to lock for reading.</td>
|
2210
2156
|
</tr>
|
2211
2157
|
<tr>
|
2212
2158
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
2213
2159
|
<td>
|
2214
|
-
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>lock</code></em> could be locked for reading
|
2215
|
-
</td>
|
2160
|
+
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>lock</code></em> could be locked for reading.</td>
|
2216
2161
|
</tr>
|
2217
2162
|
</tbody>
|
2218
2163
|
</table></div>
|
2219
2164
|
</div>
|
2220
2165
|
<hr>
|
2221
|
-
<div class="refsect2"
|
2166
|
+
<div class="refsect2">
|
2222
2167
|
<a name="g-static-rw-lock-reader-unlock"></a><h3>g_static_rw_lock_reader_unlock ()</h3>
|
2223
|
-
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rw_lock_reader_unlock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);</pre>
|
2168
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rw_lock_reader_unlock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);</pre>
|
2224
2169
|
<p>
|
2225
2170
|
Unlocks <em class="parameter"><code>lock</code></em>. If a thread waits to lock <em class="parameter"><code>lock</code></em> for writing and all
|
2226
2171
|
locks for reading have been unlocked, the waiting thread is woken up
|
@@ -2230,15 +2175,14 @@ and can lock <em class="parameter"><code>lock</code></em> for writing.
|
|
2230
2175
|
<col align="left" valign="top">
|
2231
2176
|
<tbody><tr>
|
2232
2177
|
<td><p><span class="term"><em class="parameter"><code>lock</code></em> :</span></p></td>
|
2233
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> to unlock after reading
|
2234
|
-
</td>
|
2178
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> to unlock after reading.</td>
|
2235
2179
|
</tr></tbody>
|
2236
2180
|
</table></div>
|
2237
2181
|
</div>
|
2238
2182
|
<hr>
|
2239
|
-
<div class="refsect2"
|
2183
|
+
<div class="refsect2">
|
2240
2184
|
<a name="g-static-rw-lock-writer-lock"></a><h3>g_static_rw_lock_writer_lock ()</h3>
|
2241
|
-
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rw_lock_writer_lock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);</pre>
|
2185
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rw_lock_writer_lock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);</pre>
|
2242
2186
|
<p>
|
2243
2187
|
Locks <em class="parameter"><code>lock</code></em> for writing. If <em class="parameter"><code>lock</code></em> is already locked for writing or
|
2244
2188
|
reading by other threads, this function will block until <em class="parameter"><code>lock</code></em> is
|
@@ -2252,15 +2196,14 @@ unlocked by <a class="link" href="glib-Threads.html#g-static-rw-lock-writer-unlo
|
|
2252
2196
|
<col align="left" valign="top">
|
2253
2197
|
<tbody><tr>
|
2254
2198
|
<td><p><span class="term"><em class="parameter"><code>lock</code></em> :</span></p></td>
|
2255
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> to lock for writing
|
2256
|
-
</td>
|
2199
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> to lock for writing.</td>
|
2257
2200
|
</tr></tbody>
|
2258
2201
|
</table></div>
|
2259
2202
|
</div>
|
2260
2203
|
<hr>
|
2261
|
-
<div class="refsect2"
|
2204
|
+
<div class="refsect2">
|
2262
2205
|
<a name="g-static-rw-lock-writer-trylock"></a><h3>g_static_rw_lock_writer_trylock ()</h3>
|
2263
|
-
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_static_rw_lock_writer_trylock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);</pre>
|
2206
|
+
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_static_rw_lock_writer_trylock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);</pre>
|
2264
2207
|
<p>
|
2265
2208
|
Tries to lock <em class="parameter"><code>lock</code></em> for writing. If <em class="parameter"><code>lock</code></em> is already locked (for
|
2266
2209
|
either reading or writing) by another thread, it immediately returns
|
@@ -2272,22 +2215,20 @@ lock has to be unlocked by <a class="link" href="glib-Threads.html#g-static-rw-l
|
|
2272
2215
|
<tbody>
|
2273
2216
|
<tr>
|
2274
2217
|
<td><p><span class="term"><em class="parameter"><code>lock</code></em> :</span></p></td>
|
2275
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> to lock for writing
|
2276
|
-
</td>
|
2218
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> to lock for writing.</td>
|
2277
2219
|
</tr>
|
2278
2220
|
<tr>
|
2279
2221
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
2280
2222
|
<td>
|
2281
|
-
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>lock</code></em> could be locked for writing
|
2282
|
-
</td>
|
2223
|
+
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, if <em class="parameter"><code>lock</code></em> could be locked for writing.</td>
|
2283
2224
|
</tr>
|
2284
2225
|
</tbody>
|
2285
2226
|
</table></div>
|
2286
2227
|
</div>
|
2287
2228
|
<hr>
|
2288
|
-
<div class="refsect2"
|
2229
|
+
<div class="refsect2">
|
2289
2230
|
<a name="g-static-rw-lock-writer-unlock"></a><h3>g_static_rw_lock_writer_unlock ()</h3>
|
2290
|
-
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rw_lock_writer_unlock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);</pre>
|
2231
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rw_lock_writer_unlock (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);</pre>
|
2291
2232
|
<p>
|
2292
2233
|
Unlocks <em class="parameter"><code>lock</code></em>. If a thread is waiting to lock <em class="parameter"><code>lock</code></em> for writing and
|
2293
2234
|
all locks for reading have been unlocked, the waiting thread is
|
@@ -2300,35 +2241,33 @@ lock <em class="parameter"><code>lock</code></em> for reading.
|
|
2300
2241
|
<col align="left" valign="top">
|
2301
2242
|
<tbody><tr>
|
2302
2243
|
<td><p><span class="term"><em class="parameter"><code>lock</code></em> :</span></p></td>
|
2303
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> to unlock after writing
|
2304
|
-
</td>
|
2244
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> to unlock after writing.</td>
|
2305
2245
|
</tr></tbody>
|
2306
2246
|
</table></div>
|
2307
2247
|
</div>
|
2308
2248
|
<hr>
|
2309
|
-
<div class="refsect2"
|
2249
|
+
<div class="refsect2">
|
2310
2250
|
<a name="g-static-rw-lock-free"></a><h3>g_static_rw_lock_free ()</h3>
|
2311
|
-
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rw_lock_free (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);</pre>
|
2251
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_static_rw_lock_free (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> *lock</code></em>);</pre>
|
2312
2252
|
<p>
|
2313
2253
|
Releases all resources allocated to <em class="parameter"><code>lock</code></em>.
|
2314
2254
|
</p>
|
2315
2255
|
<p>
|
2316
|
-
You don't have to call this functions for a <a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> with an
|
2256
|
+
You don't have to call this functions for a <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> with an
|
2317
2257
|
unbounded lifetime, i.e. objects declared 'static', but if you have
|
2318
|
-
a <a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> as a member of a structure, and the structure is
|
2319
|
-
freed, you should also free the <a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a>.
|
2258
|
+
a <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> as a member of a structure, and the structure is
|
2259
|
+
freed, you should also free the <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a>.
|
2320
2260
|
</p>
|
2321
2261
|
<div class="variablelist"><table border="0">
|
2322
2262
|
<col align="left" valign="top">
|
2323
2263
|
<tbody><tr>
|
2324
2264
|
<td><p><span class="term"><em class="parameter"><code>lock</code></em> :</span></p></td>
|
2325
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticRWLock" title="GStaticRWLock"><span class="type">GStaticRWLock</span></a> to be freed
|
2326
|
-
</td>
|
2265
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticRWLock" title="struct GStaticRWLock"><span class="type">GStaticRWLock</span></a> to be freed.</td>
|
2327
2266
|
</tr></tbody>
|
2328
2267
|
</table></div>
|
2329
2268
|
</div>
|
2330
2269
|
<hr>
|
2331
|
-
<div class="refsect2"
|
2270
|
+
<div class="refsect2">
|
2332
2271
|
<a name="GCond"></a><h3>GCond</h3>
|
2333
2272
|
<pre class="programlisting">typedef struct _GCond GCond;</pre>
|
2334
2273
|
<p>
|
@@ -2341,7 +2280,7 @@ threads to be woken up.
|
|
2341
2280
|
<p>
|
2342
2281
|
</p>
|
2343
2282
|
<div class="example">
|
2344
|
-
<a name="
|
2283
|
+
<a name="id513673"></a><p class="title"><b>Example 8.
|
2345
2284
|
Using GCond to block a thread until a condition is satisfied
|
2346
2285
|
</b></p>
|
2347
2286
|
<div class="example-contents">
|
@@ -2417,7 +2356,7 @@ has called <code class="function"><code class="function">push_data()</code></cod
|
|
2417
2356
|
</p>
|
2418
2357
|
<p>
|
2419
2358
|
</p>
|
2420
|
-
<div class="note"
|
2359
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
2421
2360
|
<h3 class="title">Note</h3>
|
2422
2361
|
<p>It is important to use the <a class="link" href="glib-Threads.html#g-cond-wait" title="g_cond_wait ()"><code class="function">g_cond_wait()</code></a> and
|
2423
2362
|
<a class="link" href="glib-Threads.html#g-cond-timed-wait" title="g_cond_timed_wait ()"><code class="function">g_cond_timed_wait()</code></a> functions only inside a loop which checks for the
|
@@ -2435,7 +2374,7 @@ A <a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type
|
|
2435
2374
|
</p>
|
2436
2375
|
<p>
|
2437
2376
|
</p>
|
2438
|
-
<div class="note"
|
2377
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
2439
2378
|
<h3 class="title">Note</h3>
|
2440
2379
|
<p>All of the <code class="function">g_cond_*</code> functions are
|
2441
2380
|
actually macros. Apart from taking their addresses, you can however
|
@@ -2445,7 +2384,7 @@ use them as if they were functions.</p>
|
|
2445
2384
|
</p>
|
2446
2385
|
</div>
|
2447
2386
|
<hr>
|
2448
|
-
<div class="refsect2"
|
2387
|
+
<div class="refsect2">
|
2449
2388
|
<a name="g-cond-new"></a><h3>g_cond_new ()</h3>
|
2450
2389
|
<pre class="programlisting"><a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="returnvalue">GCond</span></a>* g_cond_new ();</pre>
|
2451
2390
|
<p>
|
@@ -2456,13 +2395,12 @@ has not been called yet.
|
|
2456
2395
|
<col align="left" valign="top">
|
2457
2396
|
<tbody><tr>
|
2458
2397
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
2459
|
-
<td>a new <a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a
|
2460
|
-
</td>
|
2398
|
+
<td>a new <a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a>.</td>
|
2461
2399
|
</tr></tbody>
|
2462
2400
|
</table></div>
|
2463
2401
|
</div>
|
2464
2402
|
<hr>
|
2465
|
-
<div class="refsect2"
|
2403
|
+
<div class="refsect2">
|
2466
2404
|
<a name="g-cond-signal"></a><h3>g_cond_signal ()</h3>
|
2467
2405
|
<pre class="programlisting"><span class="returnvalue">void</span> g_cond_signal (<em class="parameter"><code><a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a> *cond</code></em>);</pre>
|
2468
2406
|
<p>
|
@@ -2478,13 +2416,12 @@ called, and, in that case, will do nothing.
|
|
2478
2416
|
<col align="left" valign="top">
|
2479
2417
|
<tbody><tr>
|
2480
2418
|
<td><p><span class="term"><em class="parameter"><code>cond</code></em> :</span></p></td>
|
2481
|
-
<td>a <a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a
|
2482
|
-
</td>
|
2419
|
+
<td>a <a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a>.</td>
|
2483
2420
|
</tr></tbody>
|
2484
2421
|
</table></div>
|
2485
2422
|
</div>
|
2486
2423
|
<hr>
|
2487
|
-
<div class="refsect2"
|
2424
|
+
<div class="refsect2">
|
2488
2425
|
<a name="g-cond-broadcast"></a><h3>g_cond_broadcast ()</h3>
|
2489
2426
|
<pre class="programlisting"><span class="returnvalue">void</span> g_cond_broadcast (<em class="parameter"><code><a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a> *cond</code></em>);</pre>
|
2490
2427
|
<p>
|
@@ -2500,13 +2437,12 @@ called, and, in that case, will do nothing.
|
|
2500
2437
|
<col align="left" valign="top">
|
2501
2438
|
<tbody><tr>
|
2502
2439
|
<td><p><span class="term"><em class="parameter"><code>cond</code></em> :</span></p></td>
|
2503
|
-
<td>a <a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a
|
2504
|
-
</td>
|
2440
|
+
<td>a <a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a>.</td>
|
2505
2441
|
</tr></tbody>
|
2506
2442
|
</table></div>
|
2507
2443
|
</div>
|
2508
2444
|
<hr>
|
2509
|
-
<div class="refsect2"
|
2445
|
+
<div class="refsect2">
|
2510
2446
|
<a name="g-cond-wait"></a><h3>g_cond_wait ()</h3>
|
2511
2447
|
<pre class="programlisting"><span class="returnvalue">void</span> g_cond_wait (<em class="parameter"><code><a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a> *cond</code></em>,
|
2512
2448
|
<em class="parameter"><code><a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a> *mutex</code></em>);</pre>
|
@@ -2523,23 +2459,21 @@ called, and, in that case, will immediately return.
|
|
2523
2459
|
<tbody>
|
2524
2460
|
<tr>
|
2525
2461
|
<td><p><span class="term"><em class="parameter"><code>cond</code></em> :</span></p></td>
|
2526
|
-
<td>a <a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a
|
2527
|
-
</td>
|
2462
|
+
<td>a <a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a>.</td>
|
2528
2463
|
</tr>
|
2529
2464
|
<tr>
|
2530
2465
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
2531
|
-
<td>a <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a>, that is currently locked
|
2532
|
-
</td>
|
2466
|
+
<td>a <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a>, that is currently locked.</td>
|
2533
2467
|
</tr>
|
2534
2468
|
</tbody>
|
2535
2469
|
</table></div>
|
2536
2470
|
</div>
|
2537
2471
|
<hr>
|
2538
|
-
<div class="refsect2"
|
2472
|
+
<div class="refsect2">
|
2539
2473
|
<a name="g-cond-timed-wait"></a><h3>g_cond_timed_wait ()</h3>
|
2540
2474
|
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_cond_timed_wait (<em class="parameter"><code><a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a> *cond</code></em>,
|
2541
2475
|
<em class="parameter"><code><a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a> *mutex</code></em>,
|
2542
|
-
<em class="parameter"><code><a class="link" href="glib-Date-and-Time-Functions.html#GTimeVal" title="GTimeVal"><span class="type">GTimeVal</span></a> *abs_time</code></em>);</pre>
|
2476
|
+
<em class="parameter"><code><a class="link" href="glib-Date-and-Time-Functions.html#GTimeVal" title="struct GTimeVal"><span class="type">GTimeVal</span></a> *abs_time</code></em>);</pre>
|
2543
2477
|
<p>
|
2544
2478
|
Waits until this thread is woken up on <em class="parameter"><code>cond</code></em>, but not longer than
|
2545
2479
|
until the time specified by <em class="parameter"><code>abs_time</code></em>. The <em class="parameter"><code>mutex</code></em> is unlocked before
|
@@ -2561,30 +2495,26 @@ and <a class="link" href="glib-Date-and-Time-Functions.html#g-time-val-add" titl
|
|
2561
2495
|
<tbody>
|
2562
2496
|
<tr>
|
2563
2497
|
<td><p><span class="term"><em class="parameter"><code>cond</code></em> :</span></p></td>
|
2564
|
-
<td>a <a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a
|
2565
|
-
</td>
|
2498
|
+
<td>a <a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a>.</td>
|
2566
2499
|
</tr>
|
2567
2500
|
<tr>
|
2568
2501
|
<td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
|
2569
|
-
<td>a <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a> that is currently locked
|
2570
|
-
</td>
|
2502
|
+
<td>a <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a> that is currently locked.</td>
|
2571
2503
|
</tr>
|
2572
2504
|
<tr>
|
2573
2505
|
<td><p><span class="term"><em class="parameter"><code>abs_time</code></em> :</span></p></td>
|
2574
|
-
<td>a <a class="link" href="glib-Date-and-Time-Functions.html#GTimeVal" title="GTimeVal"><span class="type">GTimeVal</span></a>, determining the final time
|
2575
|
-
</td>
|
2506
|
+
<td>a <a class="link" href="glib-Date-and-Time-Functions.html#GTimeVal" title="struct GTimeVal"><span class="type">GTimeVal</span></a>, determining the final time.</td>
|
2576
2507
|
</tr>
|
2577
2508
|
<tr>
|
2578
2509
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
2579
2510
|
<td>
|
2580
|
-
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>cond</code></em> was signalled, or <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> on timeout
|
2581
|
-
</td>
|
2511
|
+
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>cond</code></em> was signalled, or <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> on timeout.</td>
|
2582
2512
|
</tr>
|
2583
2513
|
</tbody>
|
2584
2514
|
</table></div>
|
2585
2515
|
</div>
|
2586
2516
|
<hr>
|
2587
|
-
<div class="refsect2"
|
2517
|
+
<div class="refsect2">
|
2588
2518
|
<a name="g-cond-free"></a><h3>g_cond_free ()</h3>
|
2589
2519
|
<pre class="programlisting"><span class="returnvalue">void</span> g_cond_free (<em class="parameter"><code><a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a> *cond</code></em>);</pre>
|
2590
2520
|
<p>
|
@@ -2594,13 +2524,12 @@ Destroys the <a class="link" href="glib-Threads.html#GCond" title="GCond"><span
|
|
2594
2524
|
<col align="left" valign="top">
|
2595
2525
|
<tbody><tr>
|
2596
2526
|
<td><p><span class="term"><em class="parameter"><code>cond</code></em> :</span></p></td>
|
2597
|
-
<td>a <a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a
|
2598
|
-
</td>
|
2527
|
+
<td>a <a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a>.</td>
|
2599
2528
|
</tr></tbody>
|
2600
2529
|
</table></div>
|
2601
2530
|
</div>
|
2602
2531
|
<hr>
|
2603
|
-
<div class="refsect2"
|
2532
|
+
<div class="refsect2">
|
2604
2533
|
<a name="GPrivate"></a><h3>GPrivate</h3>
|
2605
2534
|
<pre class="programlisting">typedef struct _GPrivate GPrivate;</pre>
|
2606
2535
|
<p>
|
@@ -2615,7 +2544,7 @@ This can be done as follows:
|
|
2615
2544
|
<p>
|
2616
2545
|
</p>
|
2617
2546
|
<div class="example">
|
2618
|
-
<a name="
|
2547
|
+
<a name="id514724"></a><p class="title"><b>Example 9. Using GPrivate for per-thread data</b></p>
|
2619
2548
|
<div class="example-contents">
|
2620
2549
|
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
2621
2550
|
<tbody>
|
@@ -2679,7 +2608,7 @@ functions.
|
|
2679
2608
|
</p>
|
2680
2609
|
<p>
|
2681
2610
|
</p>
|
2682
|
-
<div class="note"
|
2611
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
2683
2612
|
<h3 class="title">Note</h3>
|
2684
2613
|
<p>All of the <code class="function">g_private_*</code> functions are
|
2685
2614
|
actually macros. Apart from taking their addresses, you can however
|
@@ -2689,7 +2618,7 @@ use them as if they were functions.</p>
|
|
2689
2618
|
</p>
|
2690
2619
|
</div>
|
2691
2620
|
<hr>
|
2692
|
-
<div class="refsect2"
|
2621
|
+
<div class="refsect2">
|
2693
2622
|
<a name="g-private-new"></a><h3>g_private_new ()</h3>
|
2694
2623
|
<pre class="programlisting"><a class="link" href="glib-Threads.html#GPrivate" title="GPrivate"><span class="returnvalue">GPrivate</span></a>* g_private_new (<em class="parameter"><code><a class="link" href="glib-Datasets.html#GDestroyNotify" title="GDestroyNotify ()"><span class="type">GDestroyNotify</span></a> destructor</code></em>);</pre>
|
2695
2624
|
<p>
|
@@ -2701,7 +2630,7 @@ argument.
|
|
2701
2630
|
</p>
|
2702
2631
|
<p>
|
2703
2632
|
</p>
|
2704
|
-
<div class="note"
|
2633
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
2705
2634
|
<h3 class="title">Note</h3>
|
2706
2635
|
<p><em class="parameter"><code>destructor</code></em> is used quite differently from <em class="parameter"><code>notify</code></em> in
|
2707
2636
|
<a class="link" href="glib-Threads.html#g-static-private-set" title="g_static_private_set ()"><code class="function">g_static_private_set()</code></a>.</p>
|
@@ -2710,16 +2639,16 @@ argument.
|
|
2710
2639
|
</p>
|
2711
2640
|
<p>
|
2712
2641
|
</p>
|
2713
|
-
<div class="note"
|
2642
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
2714
2643
|
<h3 class="title">Note</h3>
|
2715
2644
|
<p>A <a class="link" href="glib-Threads.html#GPrivate" title="GPrivate"><span class="type">GPrivate</span></a> can not be freed. Reuse it instead, if you
|
2716
|
-
can, to avoid shortage, or use <a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a>.</p>
|
2645
|
+
can, to avoid shortage, or use <a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a>.</p>
|
2717
2646
|
</div>
|
2718
2647
|
<p>
|
2719
2648
|
</p>
|
2720
2649
|
<p>
|
2721
2650
|
</p>
|
2722
|
-
<div class="note"
|
2651
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
2723
2652
|
<h3 class="title">Note</h3>
|
2724
2653
|
<p>This function will abort if <a class="link" href="glib-Threads.html#g-thread-init" title="g_thread_init ()"><code class="function">g_thread_init()</code></a> has not been
|
2725
2654
|
called yet.</p>
|
@@ -2732,19 +2661,17 @@ called yet.</p>
|
|
2732
2661
|
<tr>
|
2733
2662
|
<td><p><span class="term"><em class="parameter"><code>destructor</code></em> :</span></p></td>
|
2734
2663
|
<td>a function to destroy the data keyed to <a class="link" href="glib-Threads.html#GPrivate" title="GPrivate"><span class="type">GPrivate</span></a> when
|
2735
|
-
|
2736
|
-
</td>
|
2664
|
+
a thread ends.</td>
|
2737
2665
|
</tr>
|
2738
2666
|
<tr>
|
2739
2667
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
2740
|
-
<td>a new <a class="link" href="glib-Threads.html#GPrivate" title="GPrivate"><span class="type">GPrivate</span></a
|
2741
|
-
</td>
|
2668
|
+
<td>a new <a class="link" href="glib-Threads.html#GPrivate" title="GPrivate"><span class="type">GPrivate</span></a>.</td>
|
2742
2669
|
</tr>
|
2743
2670
|
</tbody>
|
2744
2671
|
</table></div>
|
2745
2672
|
</div>
|
2746
2673
|
<hr>
|
2747
|
-
<div class="refsect2"
|
2674
|
+
<div class="refsect2">
|
2748
2675
|
<a name="g-private-get"></a><h3>g_private_get ()</h3>
|
2749
2676
|
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> g_private_get (<em class="parameter"><code><a class="link" href="glib-Threads.html#GPrivate" title="GPrivate"><span class="type">GPrivate</span></a> *private_key</code></em>);</pre>
|
2750
2677
|
<p>
|
@@ -2767,19 +2694,17 @@ before threading system intialization.
|
|
2767
2694
|
<tbody>
|
2768
2695
|
<tr>
|
2769
2696
|
<td><p><span class="term"><em class="parameter"><code>private_key</code></em> :</span></p></td>
|
2770
|
-
<td>a <a class="link" href="glib-Threads.html#GPrivate" title="GPrivate"><span class="type">GPrivate</span></a
|
2771
|
-
</td>
|
2697
|
+
<td>a <a class="link" href="glib-Threads.html#GPrivate" title="GPrivate"><span class="type">GPrivate</span></a>.</td>
|
2772
2698
|
</tr>
|
2773
2699
|
<tr>
|
2774
2700
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
2775
|
-
<td>the corresponding pointer
|
2776
|
-
</td>
|
2701
|
+
<td>the corresponding pointer.</td>
|
2777
2702
|
</tr>
|
2778
2703
|
</tbody>
|
2779
2704
|
</table></div>
|
2780
2705
|
</div>
|
2781
2706
|
<hr>
|
2782
|
-
<div class="refsect2"
|
2707
|
+
<div class="refsect2">
|
2783
2708
|
<a name="g-private-set"></a><h3>g_private_set ()</h3>
|
2784
2709
|
<pre class="programlisting"><span class="returnvalue">void</span> g_private_set (<em class="parameter"><code><a class="link" href="glib-Threads.html#GPrivate" title="GPrivate"><span class="type">GPrivate</span></a> *private_key</code></em>,
|
2785
2710
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
|
@@ -2796,35 +2721,33 @@ called, and, in that case, will set <em class="parameter"><code>private_key</cod
|
|
2796
2721
|
<tbody>
|
2797
2722
|
<tr>
|
2798
2723
|
<td><p><span class="term"><em class="parameter"><code>private_key</code></em> :</span></p></td>
|
2799
|
-
<td>a <a class="link" href="glib-Threads.html#GPrivate" title="GPrivate"><span class="type">GPrivate</span></a
|
2800
|
-
</td>
|
2724
|
+
<td>a <a class="link" href="glib-Threads.html#GPrivate" title="GPrivate"><span class="type">GPrivate</span></a>.</td>
|
2801
2725
|
</tr>
|
2802
2726
|
<tr>
|
2803
2727
|
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
|
2804
|
-
<td>the new pointer
|
2805
|
-
</td>
|
2728
|
+
<td>the new pointer.</td>
|
2806
2729
|
</tr>
|
2807
2730
|
</tbody>
|
2808
2731
|
</table></div>
|
2809
2732
|
</div>
|
2810
2733
|
<hr>
|
2811
|
-
<div class="refsect2"
|
2812
|
-
<a name="GStaticPrivate"></a><h3>GStaticPrivate</h3>
|
2813
|
-
<pre class="programlisting">
|
2814
|
-
}
|
2734
|
+
<div class="refsect2">
|
2735
|
+
<a name="GStaticPrivate"></a><h3>struct GStaticPrivate</h3>
|
2736
|
+
<pre class="programlisting">struct GStaticPrivate {
|
2737
|
+
};
|
2815
2738
|
</pre>
|
2816
2739
|
<p>
|
2817
|
-
A <a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a> works almost like a <a class="link" href="glib-Threads.html#GPrivate" title="GPrivate"><span class="type">GPrivate</span></a>, but it has one
|
2740
|
+
A <a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a> works almost like a <a class="link" href="glib-Threads.html#GPrivate" title="GPrivate"><span class="type">GPrivate</span></a>, but it has one
|
2818
2741
|
significant advantage. It doesn't need to be created at run-time
|
2819
2742
|
like a <a class="link" href="glib-Threads.html#GPrivate" title="GPrivate"><span class="type">GPrivate</span></a>, but can be defined at compile-time. This is
|
2820
2743
|
similar to the difference between <a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a> and <a class="link" href="glib-Threads.html#GStaticMutex" title="GStaticMutex"><span class="type">GStaticMutex</span></a>. Now
|
2821
2744
|
look at our <code class="function"><code class="function">give_me_next_number()</code></code> example with
|
2822
|
-
<a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a>:
|
2745
|
+
<a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a>:
|
2823
2746
|
</p>
|
2824
2747
|
<p>
|
2825
2748
|
</p>
|
2826
2749
|
<div class="example">
|
2827
|
-
<a name="
|
2750
|
+
<a name="id515492"></a><p class="title"><b>Example 10. Using GStaticPrivate for per-thread data</b></p>
|
2828
2751
|
<div class="example-contents">
|
2829
2752
|
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
2830
2753
|
<tbody>
|
@@ -2873,12 +2796,12 @@ look at our <code class="function"><code class="function">give_me_next_number()<
|
|
2873
2796
|
</p>
|
2874
2797
|
</div>
|
2875
2798
|
<hr>
|
2876
|
-
<div class="refsect2"
|
2799
|
+
<div class="refsect2">
|
2877
2800
|
<a name="G-STATIC-PRIVATE-INIT:CAPS"></a><h3>G_STATIC_PRIVATE_INIT</h3>
|
2878
2801
|
<pre class="programlisting">#define G_STATIC_PRIVATE_INIT
|
2879
2802
|
</pre>
|
2880
2803
|
<p>
|
2881
|
-
Every <a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a> must be initialized with this macro, before it
|
2804
|
+
Every <a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a> must be initialized with this macro, before it
|
2882
2805
|
can be used.
|
2883
2806
|
</p>
|
2884
2807
|
<p>
|
@@ -2898,9 +2821,9 @@ can be used.
|
|
2898
2821
|
</p>
|
2899
2822
|
</div>
|
2900
2823
|
<hr>
|
2901
|
-
<div class="refsect2"
|
2824
|
+
<div class="refsect2">
|
2902
2825
|
<a name="g-static-private-init"></a><h3>g_static_private_init ()</h3>
|
2903
|
-
<pre class="programlisting"><span class="returnvalue">void</span> g_static_private_init (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a> *private_key</code></em>);</pre>
|
2826
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_static_private_init (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a> *private_key</code></em>);</pre>
|
2904
2827
|
<p>
|
2905
2828
|
Initializes <em class="parameter"><code>private_key</code></em>. Alternatively you can initialize it with
|
2906
2829
|
<a class="link" href="glib-Threads.html#G-STATIC-PRIVATE-INIT:CAPS" title="G_STATIC_PRIVATE_INIT"><span class="type">G_STATIC_PRIVATE_INIT</span></a>.
|
@@ -2909,17 +2832,16 @@ Initializes <em class="parameter"><code>private_key</code></em>. Alternatively y
|
|
2909
2832
|
<col align="left" valign="top">
|
2910
2833
|
<tbody><tr>
|
2911
2834
|
<td><p><span class="term"><em class="parameter"><code>private_key</code></em> :</span></p></td>
|
2912
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a> to be initialized
|
2913
|
-
</td>
|
2835
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a> to be initialized.</td>
|
2914
2836
|
</tr></tbody>
|
2915
2837
|
</table></div>
|
2916
2838
|
</div>
|
2917
2839
|
<hr>
|
2918
|
-
<div class="refsect2"
|
2840
|
+
<div class="refsect2">
|
2919
2841
|
<a name="g-static-private-get"></a><h3>g_static_private_get ()</h3>
|
2920
|
-
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> g_static_private_get (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a> *private_key</code></em>);</pre>
|
2842
|
+
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> g_static_private_get (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a> *private_key</code></em>);</pre>
|
2921
2843
|
<p>
|
2922
|
-
Works like <a class="link" href="glib-Threads.html#g-private-get" title="g_private_get ()"><code class="function">g_private_get()</code></a> only for a <a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a>.
|
2844
|
+
Works like <a class="link" href="glib-Threads.html#g-private-get" title="g_private_get ()"><code class="function">g_private_get()</code></a> only for a <a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a>.
|
2923
2845
|
</p>
|
2924
2846
|
<p>
|
2925
2847
|
This function works even if <a class="link" href="glib-Threads.html#g-thread-init" title="g_thread_init ()"><code class="function">g_thread_init()</code></a> has not yet been called.
|
@@ -2929,21 +2851,19 @@ This function works even if <a class="link" href="glib-Threads.html#g-thread-ini
|
|
2929
2851
|
<tbody>
|
2930
2852
|
<tr>
|
2931
2853
|
<td><p><span class="term"><em class="parameter"><code>private_key</code></em> :</span></p></td>
|
2932
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a
|
2933
|
-
</td>
|
2854
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a>.</td>
|
2934
2855
|
</tr>
|
2935
2856
|
<tr>
|
2936
2857
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
2937
|
-
<td>the corresponding pointer
|
2938
|
-
</td>
|
2858
|
+
<td>the corresponding pointer.</td>
|
2939
2859
|
</tr>
|
2940
2860
|
</tbody>
|
2941
2861
|
</table></div>
|
2942
2862
|
</div>
|
2943
2863
|
<hr>
|
2944
|
-
<div class="refsect2"
|
2864
|
+
<div class="refsect2">
|
2945
2865
|
<a name="g-static-private-set"></a><h3>g_static_private_set ()</h3>
|
2946
|
-
<pre class="programlisting"><span class="returnvalue">void</span> g_static_private_set (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a> *private_key</code></em>,
|
2866
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_static_private_set (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a> *private_key</code></em>,
|
2947
2867
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
|
2948
2868
|
<em class="parameter"><code><a class="link" href="glib-Datasets.html#GDestroyNotify" title="GDestroyNotify ()"><span class="type">GDestroyNotify</span></a> notify</code></em>);</pre>
|
2949
2869
|
<p>
|
@@ -2960,7 +2880,7 @@ will be inherited only by the main thread, i.e. the one that called
|
|
2960
2880
|
</p>
|
2961
2881
|
<p>
|
2962
2882
|
</p>
|
2963
|
-
<div class="note"
|
2883
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
2964
2884
|
<h3 class="title">Note</h3>
|
2965
2885
|
<p><em class="parameter"><code>notify</code></em> is used quite differently from <em class="parameter"><code>destructor</code></em> in
|
2966
2886
|
<a class="link" href="glib-Threads.html#g-private-new" title="g_private_new ()"><code class="function">g_private_new()</code></a>.</p>
|
@@ -2972,56 +2892,52 @@ will be inherited only by the main thread, i.e. the one that called
|
|
2972
2892
|
<tbody>
|
2973
2893
|
<tr>
|
2974
2894
|
<td><p><span class="term"><em class="parameter"><code>private_key</code></em> :</span></p></td>
|
2975
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a
|
2976
|
-
</td>
|
2895
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a>.</td>
|
2977
2896
|
</tr>
|
2978
2897
|
<tr>
|
2979
2898
|
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
|
2980
|
-
<td>the new pointer
|
2981
|
-
</td>
|
2899
|
+
<td>the new pointer.</td>
|
2982
2900
|
</tr>
|
2983
2901
|
<tr>
|
2984
2902
|
<td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
|
2985
2903
|
<td>a function to be called with the pointer whenever the
|
2986
|
-
|
2987
|
-
</td>
|
2904
|
+
current thread ends or sets this pointer again.</td>
|
2988
2905
|
</tr>
|
2989
2906
|
</tbody>
|
2990
2907
|
</table></div>
|
2991
2908
|
</div>
|
2992
2909
|
<hr>
|
2993
|
-
<div class="refsect2"
|
2910
|
+
<div class="refsect2">
|
2994
2911
|
<a name="g-static-private-free"></a><h3>g_static_private_free ()</h3>
|
2995
|
-
<pre class="programlisting"><span class="returnvalue">void</span> g_static_private_free (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a> *private_key</code></em>);</pre>
|
2912
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_static_private_free (<em class="parameter"><code><a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a> *private_key</code></em>);</pre>
|
2996
2913
|
<p>
|
2997
2914
|
Releases all resources allocated to <em class="parameter"><code>private_key</code></em>.
|
2998
2915
|
</p>
|
2999
2916
|
<p>
|
3000
|
-
You don't have to call this functions for a <a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a> with an
|
2917
|
+
You don't have to call this functions for a <a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a> with an
|
3001
2918
|
unbounded lifetime, i.e. objects declared 'static', but if you have
|
3002
|
-
a <a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a> as a member of a structure and the structure is
|
3003
|
-
freed, you should also free the <a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a>.
|
2919
|
+
a <a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a> as a member of a structure and the structure is
|
2920
|
+
freed, you should also free the <a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a>.
|
3004
2921
|
</p>
|
3005
2922
|
<div class="variablelist"><table border="0">
|
3006
2923
|
<col align="left" valign="top">
|
3007
2924
|
<tbody><tr>
|
3008
2925
|
<td><p><span class="term"><em class="parameter"><code>private_key</code></em> :</span></p></td>
|
3009
|
-
<td>a <a class="link" href="glib-Threads.html#GStaticPrivate" title="GStaticPrivate"><span class="type">GStaticPrivate</span></a> to be freed
|
3010
|
-
</td>
|
2926
|
+
<td>a <a class="link" href="glib-Threads.html#GStaticPrivate" title="struct GStaticPrivate"><span class="type">GStaticPrivate</span></a> to be freed.</td>
|
3011
2927
|
</tr></tbody>
|
3012
2928
|
</table></div>
|
3013
2929
|
</div>
|
3014
2930
|
<hr>
|
3015
|
-
<div class="refsect2"
|
3016
|
-
<a name="GOnce"></a><h3>GOnce</h3>
|
3017
|
-
<pre class="programlisting">
|
2931
|
+
<div class="refsect2">
|
2932
|
+
<a name="GOnce"></a><h3>struct GOnce</h3>
|
2933
|
+
<pre class="programlisting">struct GOnce {
|
3018
2934
|
volatile GOnceStatus status;
|
3019
2935
|
volatile gpointer retval;
|
3020
|
-
}
|
2936
|
+
};
|
3021
2937
|
</pre>
|
3022
2938
|
<p>
|
3023
|
-
A <a class="link" href="glib-Threads.html#GOnce" title="GOnce"><span class="type">GOnce</span></a> struct controls a one-time initialization function. Any
|
3024
|
-
one-time initialization function must have its own unique <a class="link" href="glib-Threads.html#GOnce" title="GOnce"><span class="type">GOnce</span></a>
|
2939
|
+
A <a class="link" href="glib-Threads.html#GOnce" title="struct GOnce"><span class="type">GOnce</span></a> struct controls a one-time initialization function. Any
|
2940
|
+
one-time initialization function must have its own unique <a class="link" href="glib-Threads.html#GOnce" title="struct GOnce"><span class="type">GOnce</span></a>
|
3025
2941
|
struct.
|
3026
2942
|
</p>
|
3027
2943
|
<div class="variablelist"><table border="0">
|
@@ -3029,13 +2945,13 @@ struct.
|
|
3029
2945
|
<tbody>
|
3030
2946
|
<tr>
|
3031
2947
|
<td><p><span class="term">volatile <a class="link" href="glib-Threads.html#GOnceStatus" title="enum GOnceStatus"><span class="type">GOnceStatus</span></a> <em class="structfield"><code><a name="GOnce.status"></a>status</code></em>;</span></p></td>
|
3032
|
-
<td>the status of the <a class="link" href="glib-Threads.html#GOnce" title="GOnce"><span class="type">GOnce</span></a>
|
2948
|
+
<td>the status of the <a class="link" href="glib-Threads.html#GOnce" title="struct GOnce"><span class="type">GOnce</span></a>
|
3033
2949
|
</td>
|
3034
2950
|
</tr>
|
3035
2951
|
<tr>
|
3036
2952
|
<td><p><span class="term">volatile <a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GOnce.retval"></a>retval</code></em>;</span></p></td>
|
3037
2953
|
<td>the value returned by the call to the function, if <em class="parameter"><code>status</code></em>
|
3038
|
-
|
2954
|
+
is <a class="link" href="glib-Threads.html#G-ONCE-STATUS-READY:CAPS"><code class="literal">G_ONCE_STATUS_READY</code></a>
|
3039
2955
|
</td>
|
3040
2956
|
</tr>
|
3041
2957
|
</tbody>
|
@@ -3043,7 +2959,7 @@ struct.
|
|
3043
2959
|
<p class="since">Since 2.4</p>
|
3044
2960
|
</div>
|
3045
2961
|
<hr>
|
3046
|
-
<div class="refsect2"
|
2962
|
+
<div class="refsect2">
|
3047
2963
|
<a name="GOnceStatus"></a><h3>enum GOnceStatus</h3>
|
3048
2964
|
<pre class="programlisting">typedef enum
|
3049
2965
|
{
|
@@ -3054,7 +2970,7 @@ struct.
|
|
3054
2970
|
</pre>
|
3055
2971
|
<p>
|
3056
2972
|
The possible statuses of a one-time initialization function
|
3057
|
-
controlled by a <a class="link" href="glib-Threads.html#GOnce" title="GOnce"><span class="type">GOnce</span></a> struct.
|
2973
|
+
controlled by a <a class="link" href="glib-Threads.html#GOnce" title="struct GOnce"><span class="type">GOnce</span></a> struct.
|
3058
2974
|
</p>
|
3059
2975
|
<div class="variablelist"><table border="0">
|
3060
2976
|
<col align="left" valign="top">
|
@@ -3079,12 +2995,12 @@ controlled by a <a class="link" href="glib-Threads.html#GOnce" title="GOnce"><sp
|
|
3079
2995
|
<p class="since">Since 2.4</p>
|
3080
2996
|
</div>
|
3081
2997
|
<hr>
|
3082
|
-
<div class="refsect2"
|
2998
|
+
<div class="refsect2">
|
3083
2999
|
<a name="G-ONCE-INIT:CAPS"></a><h3>G_ONCE_INIT</h3>
|
3084
3000
|
<pre class="programlisting">#define G_ONCE_INIT { G_ONCE_STATUS_NOTCALLED, NULL }
|
3085
3001
|
</pre>
|
3086
3002
|
<p>
|
3087
|
-
A <a class="link" href="glib-Threads.html#GOnce" title="GOnce"><span class="type">GOnce</span></a> must be initialized with this macro before it can be used.
|
3003
|
+
A <a class="link" href="glib-Threads.html#GOnce" title="struct GOnce"><span class="type">GOnce</span></a> must be initialized with this macro before it can be used.
|
3088
3004
|
</p>
|
3089
3005
|
<p>
|
3090
3006
|
</p>
|
@@ -3104,13 +3020,13 @@ A <a class="link" href="glib-Threads.html#GOnce" title="GOnce"><span class="type
|
|
3104
3020
|
<p class="since">Since 2.4</p>
|
3105
3021
|
</div>
|
3106
3022
|
<hr>
|
3107
|
-
<div class="refsect2"
|
3023
|
+
<div class="refsect2">
|
3108
3024
|
<a name="g-once"></a><h3>g_once()</h3>
|
3109
3025
|
<pre class="programlisting">#define g_once(once, func, arg)</pre>
|
3110
3026
|
<p>
|
3111
|
-
The first call to this routine by a process with a given <a class="link" href="glib-Threads.html#GOnce" title="GOnce"><span class="type">GOnce</span></a>
|
3027
|
+
The first call to this routine by a process with a given <a class="link" href="glib-Threads.html#GOnce" title="struct GOnce"><span class="type">GOnce</span></a>
|
3112
3028
|
struct calls <em class="parameter"><code>func</code></em> with the given argument. Thereafter, subsequent
|
3113
|
-
calls to <a class="link" href="glib-Threads.html#g-once" title="g_once()"><code class="function">g_once()</code></a> with the same <a class="link" href="glib-Threads.html#GOnce" title="GOnce"><span class="type">GOnce</span></a> struct do not call <em class="parameter"><code>func</code></em>
|
3029
|
+
calls to <a class="link" href="glib-Threads.html#g-once" title="g_once()"><code class="function">g_once()</code></a> with the same <a class="link" href="glib-Threads.html#GOnce" title="struct GOnce"><span class="type">GOnce</span></a> struct do not call <em class="parameter"><code>func</code></em>
|
3114
3030
|
again, but return the stored result of the first call. On return
|
3115
3031
|
from <a class="link" href="glib-Threads.html#g-once" title="g_once()"><code class="function">g_once()</code></a>, the status of <em class="parameter"><code>once</code></em> will be <a class="link" href="glib-Threads.html#G-ONCE-STATUS-READY:CAPS"><code class="literal">G_ONCE_STATUS_READY</code></a>.
|
3116
3032
|
</p>
|
@@ -3121,9 +3037,9 @@ that the initialization is serialized across multiple threads.
|
|
3121
3037
|
</p>
|
3122
3038
|
<p>
|
3123
3039
|
</p>
|
3124
|
-
<div class="note"
|
3040
|
+
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
3125
3041
|
<h3 class="title">Note</h3>
|
3126
|
-
<p>Calling <a class="link" href="glib-Threads.html#g-once" title="g_once()"><code class="function">g_once()</code></a> recursively on the same <a class="link" href="glib-Threads.html#GOnce" title="GOnce"><span class="type">GOnce</span></a> struct in
|
3042
|
+
<p>Calling <a class="link" href="glib-Threads.html#g-once" title="g_once()"><code class="function">g_once()</code></a> recursively on the same <a class="link" href="glib-Threads.html#GOnce" title="struct GOnce"><span class="type">GOnce</span></a> struct in
|
3127
3043
|
<em class="parameter"><code>func</code></em> will lead to a deadlock.</p>
|
3128
3044
|
</div>
|
3129
3045
|
<p>
|
@@ -3164,15 +3080,13 @@ that the initialization is serialized across multiple threads.
|
|
3164
3080
|
<tbody>
|
3165
3081
|
<tr>
|
3166
3082
|
<td><p><span class="term"><em class="parameter"><code>once</code></em> :</span></p></td>
|
3167
|
-
<td>a <a class="link" href="glib-Threads.html#GOnce" title="GOnce"><span class="type">GOnce</span></a> structure
|
3168
|
-
</td>
|
3083
|
+
<td>a <a class="link" href="glib-Threads.html#GOnce" title="struct GOnce"><span class="type">GOnce</span></a> structure</td>
|
3169
3084
|
</tr>
|
3170
3085
|
<tr>
|
3171
3086
|
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
|
3172
3087
|
<td>the <a class="link" href="glib-Threads.html#GThreadFunc" title="GThreadFunc ()"><span class="type">GThreadFunc</span></a> function associated to <em class="parameter"><code>once</code></em>. This function
|
3173
|
-
|
3174
|
-
|
3175
|
-
</td>
|
3088
|
+
is called only once, regardless of the number of times it and
|
3089
|
+
its associated <a class="link" href="glib-Threads.html#GOnce" title="struct GOnce"><span class="type">GOnce</span></a> struct are passed to <a class="link" href="glib-Threads.html#g-once" title="g_once()"><code class="function">g_once()</code></a>.</td>
|
3176
3090
|
</tr>
|
3177
3091
|
<tr>
|
3178
3092
|
<td><p><span class="term"><em class="parameter"><code>arg</code></em> :</span></p></td>
|
@@ -3184,7 +3098,7 @@ that the initialization is serialized across multiple threads.
|
|
3184
3098
|
<p class="since">Since 2.4</p>
|
3185
3099
|
</div>
|
3186
3100
|
<hr>
|
3187
|
-
<div class="refsect2"
|
3101
|
+
<div class="refsect2">
|
3188
3102
|
<a name="g-once-init-enter"></a><h3>g_once_init_enter ()</h3>
|
3189
3103
|
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_once_init_enter (<em class="parameter"><code>volatile <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> *value_location</code></em>);</pre>
|
3190
3104
|
<p>
|
@@ -3237,22 +3151,20 @@ like this:
|
|
3237
3151
|
<tr>
|
3238
3152
|
<td><p><span class="term"><em class="parameter"><code>value_location</code></em> :</span></p></td>
|
3239
3153
|
<td>location of a static initializable variable
|
3240
|
-
|
3241
|
-
</td>
|
3154
|
+
containing 0.</td>
|
3242
3155
|
</tr>
|
3243
3156
|
<tr>
|
3244
3157
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
3245
3158
|
<td>
|
3246
3159
|
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the initialization section should be entered,
|
3247
|
-
|
3248
|
-
</td>
|
3160
|
+
<a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> and blocks otherwise</td>
|
3249
3161
|
</tr>
|
3250
3162
|
</tbody>
|
3251
3163
|
</table></div>
|
3252
3164
|
<p class="since">Since 2.14</p>
|
3253
3165
|
</div>
|
3254
3166
|
<hr>
|
3255
|
-
<div class="refsect2"
|
3167
|
+
<div class="refsect2">
|
3256
3168
|
<a name="g-once-init-leave"></a><h3>g_once_init_leave ()</h3>
|
3257
3169
|
<pre class="programlisting"><span class="returnvalue">void</span> g_once_init_leave (<em class="parameter"><code>volatile <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> *value_location</code></em>,
|
3258
3170
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> initialization_value</code></em>);</pre>
|
@@ -3269,20 +3181,18 @@ initialization variable.
|
|
3269
3181
|
<tr>
|
3270
3182
|
<td><p><span class="term"><em class="parameter"><code>value_location</code></em> :</span></p></td>
|
3271
3183
|
<td>location of a static initializable variable
|
3272
|
-
|
3273
|
-
</td>
|
3184
|
+
containing 0.</td>
|
3274
3185
|
</tr>
|
3275
3186
|
<tr>
|
3276
3187
|
<td><p><span class="term"><em class="parameter"><code>initialization_value</code></em> :</span></p></td>
|
3277
|
-
<td>new non-0 value for *<em class="parameter"><code>value_location</code></em
|
3278
|
-
</td>
|
3188
|
+
<td>new non-0 value for *<em class="parameter"><code>value_location</code></em>.</td>
|
3279
3189
|
</tr>
|
3280
3190
|
</tbody>
|
3281
3191
|
</table></div>
|
3282
3192
|
<p class="since">Since 2.14</p>
|
3283
3193
|
</div>
|
3284
3194
|
<hr>
|
3285
|
-
<div class="refsect2"
|
3195
|
+
<div class="refsect2">
|
3286
3196
|
<a name="g-bit-lock"></a><h3>g_bit_lock ()</h3>
|
3287
3197
|
<pre class="programlisting"><span class="returnvalue">void</span> g_bit_lock (<em class="parameter"><code>volatile <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> *address</code></em>,
|
3288
3198
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> lock_bit</code></em>);</pre>
|
@@ -3309,20 +3219,18 @@ reliably.
|
|
3309
3219
|
<tbody>
|
3310
3220
|
<tr>
|
3311
3221
|
<td><p><span class="term"><em class="parameter"><code>address</code></em> :</span></p></td>
|
3312
|
-
<td>a pointer to an integer
|
3313
|
-
</td>
|
3222
|
+
<td>a pointer to an integer</td>
|
3314
3223
|
</tr>
|
3315
3224
|
<tr>
|
3316
3225
|
<td><p><span class="term"><em class="parameter"><code>lock_bit</code></em> :</span></p></td>
|
3317
|
-
<td>a bit value between 0 and 31
|
3318
|
-
</td>
|
3226
|
+
<td>a bit value between 0 and 31</td>
|
3319
3227
|
</tr>
|
3320
3228
|
</tbody>
|
3321
3229
|
</table></div>
|
3322
3230
|
<p class="since">Since 2.24</p>
|
3323
3231
|
</div>
|
3324
3232
|
<hr>
|
3325
|
-
<div class="refsect2"
|
3233
|
+
<div class="refsect2">
|
3326
3234
|
<a name="g-bit-trylock"></a><h3>g_bit_trylock ()</h3>
|
3327
3235
|
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_bit_trylock (<em class="parameter"><code>volatile <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> *address</code></em>,
|
3328
3236
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> lock_bit</code></em>);</pre>
|
@@ -3348,26 +3256,23 @@ reliably.
|
|
3348
3256
|
<tbody>
|
3349
3257
|
<tr>
|
3350
3258
|
<td><p><span class="term"><em class="parameter"><code>address</code></em> :</span></p></td>
|
3351
|
-
<td>a pointer to an integer
|
3352
|
-
</td>
|
3259
|
+
<td>a pointer to an integer</td>
|
3353
3260
|
</tr>
|
3354
3261
|
<tr>
|
3355
3262
|
<td><p><span class="term"><em class="parameter"><code>lock_bit</code></em> :</span></p></td>
|
3356
|
-
<td>a bit value between 0 and 31
|
3357
|
-
</td>
|
3263
|
+
<td>a bit value between 0 and 31</td>
|
3358
3264
|
</tr>
|
3359
3265
|
<tr>
|
3360
3266
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
3361
3267
|
<td>
|
3362
|
-
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the lock was acquired
|
3363
|
-
</td>
|
3268
|
+
<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the lock was acquired</td>
|
3364
3269
|
</tr>
|
3365
3270
|
</tbody>
|
3366
3271
|
</table></div>
|
3367
3272
|
<p class="since">Since 2.24</p>
|
3368
3273
|
</div>
|
3369
3274
|
<hr>
|
3370
|
-
<div class="refsect2"
|
3275
|
+
<div class="refsect2">
|
3371
3276
|
<a name="g-bit-unlock"></a><h3>g_bit_unlock ()</h3>
|
3372
3277
|
<pre class="programlisting"><span class="returnvalue">void</span> g_bit_unlock (<em class="parameter"><code>volatile <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> *address</code></em>,
|
3373
3278
|
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> lock_bit</code></em>);</pre>
|
@@ -3386,26 +3291,24 @@ reliably.
|
|
3386
3291
|
<tbody>
|
3387
3292
|
<tr>
|
3388
3293
|
<td><p><span class="term"><em class="parameter"><code>address</code></em> :</span></p></td>
|
3389
|
-
<td>a pointer to an integer
|
3390
|
-
</td>
|
3294
|
+
<td>a pointer to an integer</td>
|
3391
3295
|
</tr>
|
3392
3296
|
<tr>
|
3393
3297
|
<td><p><span class="term"><em class="parameter"><code>lock_bit</code></em> :</span></p></td>
|
3394
|
-
<td>a bit value between 0 and 31
|
3395
|
-
</td>
|
3298
|
+
<td>a bit value between 0 and 31</td>
|
3396
3299
|
</tr>
|
3397
3300
|
</tbody>
|
3398
3301
|
</table></div>
|
3399
3302
|
<p class="since">Since 2.24</p>
|
3400
3303
|
</div>
|
3401
3304
|
</div>
|
3402
|
-
<div class="refsect1"
|
3305
|
+
<div class="refsect1">
|
3403
3306
|
<a name="glib-Threads.see-also"></a><h2>See Also</h2>
|
3404
|
-
<a class="link" href="glib-Thread-Pools.html#GThreadPool" title="GThreadPool"><span class="type">GThreadPool</span></a>, <a class="link" href="glib-Asynchronous-Queues.html#GAsyncQueue" title="GAsyncQueue"><span class="type">GAsyncQueue</span></a>
|
3307
|
+
<a class="link" href="glib-Thread-Pools.html#GThreadPool" title="struct GThreadPool"><span class="type">GThreadPool</span></a>, <a class="link" href="glib-Asynchronous-Queues.html#GAsyncQueue" title="GAsyncQueue"><span class="type">GAsyncQueue</span></a>
|
3405
3308
|
</div>
|
3406
3309
|
</div>
|
3407
3310
|
<div class="footer">
|
3408
3311
|
<hr>
|
3409
|
-
Generated by GTK-Doc V1.
|
3312
|
+
Generated by GTK-Doc V1.16.1</div>
|
3410
3313
|
</body>
|
3411
3314
|
</html>
|