* fhandler_console.cc (fhandler_console::open_shared_console): Semi-revert to
using fixed location for console stuff. * shared.cc (offsets): Ditto. Comment. * shared_info (shared_locations): Re-add SH_SHARED_CONSOLE.
This commit is contained in:
parent
772832a85b
commit
0791c40b20
|
@ -1,3 +1,10 @@
|
||||||
|
2011-06-07 Christopher Faylor <me.cygwin2011@cgf.cx>
|
||||||
|
|
||||||
|
* fhandler_console.cc (fhandler_console::open_shared_console):
|
||||||
|
Semi-revert to using fixed location for console stuff.
|
||||||
|
* shared.cc (offsets): Ditto. Comment.
|
||||||
|
* shared_info (shared_locations): Re-add SH_SHARED_CONSOLE.
|
||||||
|
|
||||||
2011-06-05 Christopher Faylor <me.cygwin2011@cgf.cx>
|
2011-06-05 Christopher Faylor <me.cygwin2011@cgf.cx>
|
||||||
|
|
||||||
* fhandler_disk_file.cc (fhandler_disk_file::pread): Reset windows file
|
* fhandler_disk_file.cc (fhandler_disk_file::pread): Reset windows file
|
||||||
|
|
|
@ -83,10 +83,10 @@ fhandler_console::open_shared_console (HWND hw, HANDLE& h, bool& create)
|
||||||
wchar_t namebuf[(sizeof "XXXXXXXXXXXXXXXXXX-consNNNNNNNNNN")];
|
wchar_t namebuf[(sizeof "XXXXXXXXXXXXXXXXXX-consNNNNNNNNNN")];
|
||||||
__small_swprintf (namebuf, L"%S-cons%p", &installation_key, hw);
|
__small_swprintf (namebuf, L"%S-cons%p", &installation_key, hw);
|
||||||
|
|
||||||
shared_locations m = create ? SH_JUSTCREATE: SH_JUSTOPEN;
|
shared_locations m = create ? SH_SHARED_CONSOLE : SH_JUSTOPEN;
|
||||||
console_state *res = (console_state *)
|
console_state *res = (console_state *)
|
||||||
open_shared (namebuf, 0, h, sizeof (*shared_console_info), &m);
|
open_shared (namebuf, 0, h, sizeof (*shared_console_info), &m);
|
||||||
create = m == SH_JUSTCREATE;
|
create = m != SH_JUSTOPEN;
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
class console_unit
|
class console_unit
|
||||||
|
|
|
@ -206,18 +206,22 @@ shared_name (WCHAR *ret_buf, const WCHAR *str, int num)
|
||||||
|
|
||||||
/* The order in offsets is so that the constant blocks shared_info
|
/* The order in offsets is so that the constant blocks shared_info
|
||||||
and user_info are right below the cygwin DLL, then the pinfo block
|
and user_info are right below the cygwin DLL, then the pinfo block
|
||||||
which changes with each process. */
|
which changes with each process. Below that is the console_state,
|
||||||
|
an optional block which only exists when running in a Windows console
|
||||||
|
window. Therefore, if we are not running in a console, we have 64K
|
||||||
|
more of contiguous memory below the Cygwin DLL. */
|
||||||
static ptrdiff_t offsets[] =
|
static ptrdiff_t offsets[] =
|
||||||
{
|
{
|
||||||
- pround (sizeof (shared_info)),
|
- pround (sizeof (shared_info)), /* SH_CYGWIN_SHARED */
|
||||||
- pround (sizeof (shared_info))
|
- pround (sizeof (shared_info)) /* SH_USER_SHARED */
|
||||||
- pround (sizeof (user_info)),
|
- pround (sizeof (user_info)),
|
||||||
- pround (sizeof (shared_info))
|
- pround (sizeof (shared_info)) /* SH_MYSELF */
|
||||||
- pround (sizeof (user_info))
|
- pround (sizeof (user_info))
|
||||||
- pround (sizeof (_pinfo)),
|
- pround (sizeof (_pinfo)),
|
||||||
- pround (sizeof (shared_info))
|
- pround (sizeof (shared_info)) /* SH_SHARED_CONSOLE */
|
||||||
- pround (sizeof (user_info))
|
- pround (sizeof (user_info))
|
||||||
- pround (sizeof (_pinfo)),
|
- pround (sizeof (_pinfo))
|
||||||
|
- pround (sizeof (fhandler_console::console_state)),
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,7 @@ enum shared_locations
|
||||||
SH_CYGWIN_SHARED,
|
SH_CYGWIN_SHARED,
|
||||||
SH_USER_SHARED,
|
SH_USER_SHARED,
|
||||||
SH_MYSELF,
|
SH_MYSELF,
|
||||||
|
SH_SHARED_CONSOLE,
|
||||||
SH_TOTAL_SIZE,
|
SH_TOTAL_SIZE,
|
||||||
SH_JUSTCREATE,
|
SH_JUSTCREATE,
|
||||||
SH_JUSTOPEN
|
SH_JUSTOPEN
|
||||||
|
|
Loading…
Reference in New Issue