Tor Lillqvist 10d5085cde Improvement based on suggestion by Thorsten Maerz:
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.
2002-12-17 04:48:03 +00:00
2002-12-16 22:58:40 +00:00
2002-12-16 22:58:40 +00:00
2002-12-16 22:58:40 +00:00
2002-03-15 01:16:08 +00:00
2002-12-11 23:13:25 +00:00
2002-03-08 05:48:03 +00:00
2002-12-02 22:04:13 +00:00
2002-03-15 22:42:42 +00:00
2002-12-16 22:58:40 +00:00
2002-01-31 22:26:59 +00:00
2002-12-16 22:58:40 +00:00
2002-05-06 16:07:03 +00:00
2001-09-21 19:48:59 +00:00
2002-12-16 22:58:40 +00:00
2001-04-03 19:22:44 +00:00
2002-12-16 22:58:40 +00:00

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
Low-level core library that forms the basis for projects such as GTK+ and GNOME.
Readme 136 MiB
Languages
C 95.3%
Python 2.3%
Meson 1.3%
Objective-C 0.3%
Shell 0.2%
Other 0.5%