mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-03-28 10:30:03 +01:00
2002-12-17 Tor Lillqvist <tml@iki.fi> Improvement based on suggestion by Thorsten Maerz: * glib/giowin32.c (struct _GIOWin32Channel): Don't need thread_handle. (create_thread): We can close thread handle right away, it isn't used for anything. (read_thread, select_thread): Thus, don't close it here. Fix #57690, partial fix for #57689: * glib/giowin32.c (g_io_win32_set_flags): Don't set the GError, instead call g_warning(). (g_io_win32_fd_get_flags_internal): New function, sets the is_readable, is_writeable and is_seekable flags based on the actual access modes of the underlying Win32 HANDLE, by trying Win32 ReadFile() and WriteFile() of zero bytes, and PeekNamedPipe(). Should work for disk files and pipes. For devices (consoles) unfortunately not. (g_io_win32_fd_get_flags): Don't set the G_IO_FLAG_IS_{READ,WRITE}ABLE flags, g_io_channel_get_flags() already does. Call g_io_win32_fd_get_flags_internal() to set the is_* flags. (g_io_win32_msg_get_flags, g_io_win32_sock_get_flags): Splice the generic g_io_win32_get_flags() into these specific functions, as they need to do different things. Not implemented yet, though. (g_io_channel_win32_new_fd_internal): New function, to avoid duplicate fstat() calls. Most code from g_io_channel_win32_new_fd() moved here. Call g_io_win32_fd_get_flags_internal() to set the is_* flags. (g_io_channel_win32_new_fd, g_io_channel_unix_new): Call g_io_channel_win32_new_fd_internal(). (g_io_win32_no_seek): Remove. Don't set is_seekable for those channel types.
General Information =================== This is GLib version 2.1.5. GLib is the low-level core library that forms the basis for projects such as GTK+ and GNOME. It provides data structure handling for C, portability wrappers, and interfaces for such runtime functionality as an event loop, threads, dynamic loading, and an object system. The official ftp site is: ftp://ftp.gtk.org/pub/gtk The official web site is: http://www.gtk.org/ Information about mailing lists can be found at http://www.gtk.org/mailinglists.html To subscribe: mail -s subscribe gtk-list-request@gnome.org < /dev/null (Send mail to gtk-list-request@gnome.org with the subject "subscribe") Installation ============ See the file 'INSTALL' Notes about GLib-2.2.0 ====================== * GLib changed the seeding algorithm for the pseudo-random number generator Mersenne Twister, as used by GRand and GRandom. This was necessary, because some seeds would yield very bad pseudo-random streams. Further information can be found at: http://www.math.keio.ac.jp/~matumoto/emt.html Also the pseudo-random integers generated by g_rand_int_range and g_random_int_range will have a slightly better equal distribution with the new version of GLib. The original algorithms, as found in GLib-2.0.x, can be used instead of the new ones by setting the environment variable G_RANDOM_VERSION to the value of "2.0". Use the GLib-2.0 algorithms only if you have sequences of numbers generated with Glib-2.0 that you need to reproduce exactly. How to report bugs ================== Bugs should be reported to the GNOME bug tracking system. (http://bugzilla.gnome.org, product glib.) You will need to create an account for yourself. In the bug report please include: * Information about your system. For instance: - What operating system and version - For Linux, what version of the C library And anything else you think is relevant. * How to reproduce the bug. If you can reproduce it with the testgtk program that is built in the gtk/ subdirectory, that will be most convenient. Otherwise, please include a short test program that exhibits the behavior. As a last resort, you can also provide a pointer to a larger piece of software that can be downloaded. * If the bug was a crash, the exact text that was printed out when the crash occured. * Further information such as stack traces may be useful, but is not necessary. Patches ======= Patches should also be submitted to bugzilla.gnome.org. If the patch fixes an existing bug, add the patch as an attachment to that bug report. Otherwise, enter a new bug report that describes the patch, and attach the patch to that bug report. Bug reports containing patches should include the PATCH keyword in their keyword fields. If the patch adds to or changes the GLib programming interface, the API keyword should also be included. Patches should be in unified diff form. (The -u option to GNU diff.)
Description
Languages
C
95.3%
Python
2.3%
Meson
1.3%
Objective-C
0.3%
Shell
0.2%
Other
0.5%