glib2 0.90.8-x86-mingw32 → 0.90.9-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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>
|