Rework the changes to needed to pass mainloop-test. Now we don't need to
authorTor Lillqvist <tml@iki.fi>
Tue, 9 Jan 2001 20:46:49 +0000 (20:46 +0000)
committerTor Lillqvist <tml@src.gnome.org>
Tue, 9 Jan 2001 20:46:49 +0000 (20:46 +0000)
commit9d27e6b7d5d0047a2adfcf3e54451718409c5625
tree8d1b2c54d9f161271654d072118955d711eab2ca
parent78231a4b256b6b9b268d774119d4cd0ac4c6042e
Rework the changes to needed to pass mainloop-test. Now we don't need to

2001-01-09  Tor Lillqvist  <tml@iki.fi>

* giowin32.c (create_reader_thread): Rework the changes to
needed to pass mainloop-test. Now we don't need to call
TerminateThread() after all, which is a relief, as the docs
have a BIG RED WARNING SIGN about using that API. Instead,
when closing a fd channel that has a reader thread running,
just mark it as non-running and additionally mark the fd as
ripe for closing. When the reader thread hopefully eventually
gets something (and EOF or some actual data), it will note
that it shouldn't be running, break out of the loop, and close
the fd.

The socket channel closing code should probably be changed
similarily, but that will have to wait until I have a test case.

(g_pipe_readable_msg, g_io_channel_win32_new_pipe,
g_io_channel_win32_new_pipe_with_wakeups,
g_io_channel_win32_pipe_request_wakeups,
g_io_channel_win32_pipe_readable): Remove these, have been
obsolete for some time.

* glib.def: Update.
12 files changed:
ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-12
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
giowin32.c
glib.def
glib/giowin32.c
glib/glib.def