* cygthread.cc (cygthread::is): Eliminate.

* cygthread.h (cygthread::is): Eliminate declaratin.
* fhandler_console.cc (fhandler_console::read): Only wait for signal_arrived in
the main thread.
* fhandler_socket.cc: Include new "wininfo.h".
(fhandler_socket::ioctl): Use 'winmsg' rather than 'gethwnd()'.
* sync.cc (muto::grab): Define new function.
(muto::acquire): Use tls pointer rather than tid.
(muto::acquired): Ditto.
(muto::reset): Delete.
(muto::release): Ditto.  Also implement "close on last release".
* sync.h (muto::tid): Delete.
(muto::tls): New field.
(muto::ismine): Delete.
(muto::owner): Delete.
(muto::unstable): Delete.
(muto::reset): Delete.
(muto::upforgrabs): New method.
(muto::grab): Ditto.
(new_muto_name): New define.
* wininfo.h: New file.
(wininfo): New class.
* window.cc: Rework throughout to use winfo class for controlling invisible
window operation.
(gethwnd): Delete definition.
* winsup.h (gethwnd): Delete declaration.
This commit is contained in:
Christopher Faylor
2004-05-16 04:18:50 +00:00
parent aafd8a545f
commit 0c565ab35b
9 changed files with 150 additions and 102 deletions

View File

@ -29,6 +29,7 @@ details. */
#include "pinfo.h"
#include "shared_info.h"
#include "cygthread.h"
#include "cygtls.h"
#define CONVERT_LIMIT 16384
@ -250,7 +251,7 @@ fhandler_console::read (void *pv, size_t& buflen)
char tmp[60];
w4[0] = h;
if (cygthread::is ())
if (&_my_tls != _main_tls)
nwait = 1;
else
{