* syscalls.cc (gethostid): Set thread affinity so that results are predictable.
This commit is contained in:
parent
e2723b750a
commit
b671715358
|
@ -1,3 +1,8 @@
|
||||||
|
2003-07-06 Christopher Faylor <cgf@redhat.com>
|
||||||
|
|
||||||
|
* syscalls.cc (gethostid): Set thread affinity so that results are
|
||||||
|
predictable.
|
||||||
|
|
||||||
2003-07-05 Corinna Vinschen <corinna@vinschen.de>
|
2003-07-05 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* mmap.cc (list::match): Add parameters to return valid address and
|
* mmap.cc (list::match): Add parameters to return valid address and
|
||||||
|
@ -138,7 +143,7 @@
|
||||||
(cygheap_user::internal_token): New member.
|
(cygheap_user::internal_token): New member.
|
||||||
(cygheap_user::impersonation_state): New member.
|
(cygheap_user::impersonation_state): New member.
|
||||||
(cygheap_user::issetuid): Modify.
|
(cygheap_user::issetuid): Modify.
|
||||||
(cygheap_user::token): New method.
|
(cygheap_user::token): New method.
|
||||||
(cygheap_user::deimpersonate): New method.
|
(cygheap_user::deimpersonate): New method.
|
||||||
(cygheap_user::reimpersonate): New method.
|
(cygheap_user::reimpersonate): New method.
|
||||||
(cygheap_user::has_impersonation_tokens): New method.
|
(cygheap_user::has_impersonation_tokens): New method.
|
||||||
|
@ -190,9 +195,9 @@
|
||||||
|
|
||||||
2003-06-18 Pierre Humblet <pierre.humblet@ieee.org>
|
2003-06-18 Pierre Humblet <pierre.humblet@ieee.org>
|
||||||
|
|
||||||
* autoload.cc (GetNetworkParams): Add.
|
* autoload.cc (GetNetworkParams): Add.
|
||||||
* net.cc (getdomainname): Call GetNetworkParams and read the
|
* net.cc (getdomainname): Call GetNetworkParams and read the
|
||||||
DhcpDomain registry value if warranted.
|
DhcpDomain registry value if warranted.
|
||||||
|
|
||||||
2003-06-17 Christopher Faylor <cgf@redhat.com>
|
2003-06-17 Christopher Faylor <cgf@redhat.com>
|
||||||
|
|
||||||
|
@ -451,7 +456,7 @@
|
||||||
(fhandler_base::lseek): Call set_did_lseek() instead of
|
(fhandler_base::lseek): Call set_did_lseek() instead of
|
||||||
set_check_win95_lseek_bug().
|
set_check_win95_lseek_bug().
|
||||||
(fhandler_base::fhandler_base): Initialize fs_flags to 0.
|
(fhandler_base::fhandler_base): Initialize fs_flags to 0.
|
||||||
* fhandler_disk_file.cc (fhandler_disk_file::open): Don't create files
|
* fhandler_disk_file.cc (fhandler_disk_file::open): Don't create files
|
||||||
as "sparse" unconditionally. Set fs_flags member.
|
as "sparse" unconditionally. Set fs_flags member.
|
||||||
|
|
||||||
2003-05-25 Pierre Humblet <pierre.humblet@ieee.org>
|
2003-05-25 Pierre Humblet <pierre.humblet@ieee.org>
|
||||||
|
@ -529,7 +534,7 @@
|
||||||
* dcrt0.cc (dll_crt_0_1) Fix calls to MTinterface::Init and
|
* dcrt0.cc (dll_crt_0_1) Fix calls to MTinterface::Init and
|
||||||
pthread::init_mainthread.
|
pthread::init_mainthread.
|
||||||
Call pthread::init_mainthread only when not forked.
|
Call pthread::init_mainthread only when not forked.
|
||||||
|
|
||||||
2003-05-15 Corinna Vinschen <corinna@vinschen.de>
|
2003-05-15 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* fhandler_proc.cc (format_proc_meminfo): Make swap memory output
|
* fhandler_proc.cc (format_proc_meminfo): Make swap memory output
|
||||||
|
|
|
@ -2787,6 +2787,11 @@ long gethostid(void)
|
||||||
0x00290012};
|
0x00290012};
|
||||||
|
|
||||||
bool has_cpuid = false;
|
bool has_cpuid = false;
|
||||||
|
sigframe thisframe (mainthread);
|
||||||
|
|
||||||
|
DWORD opmask = SetThreadAffinityMask (GetCurrentThread (), 1);
|
||||||
|
if (!opmask)
|
||||||
|
debug_printf ("SetThreadAffinityMask to 1 failed, %E");
|
||||||
|
|
||||||
if (!can_set_flag (0x00040000))
|
if (!can_set_flag (0x00040000))
|
||||||
debug_printf ("386 processor - no cpuid");
|
debug_printf ("386 processor - no cpuid");
|
||||||
|
@ -2870,6 +2875,9 @@ long gethostid(void)
|
||||||
for (int i=0;i<13;i++)
|
for (int i=0;i<13;i++)
|
||||||
hostid ^= ((data[i] << (i << 2)) | (data[i] >> (32 - (i << 2))));
|
hostid ^= ((data[i] << (i << 2)) | (data[i] >> (32 - (i << 2))));
|
||||||
|
|
||||||
|
if (opmask && !SetThreadAffinityMask (GetCurrentThread (), opmask))
|
||||||
|
debug_printf ("SetThreadAffinityMask to %p failed, %E", opmask);
|
||||||
|
|
||||||
debug_printf ("hostid: %08x", hostid);
|
debug_printf ("hostid: %08x", hostid);
|
||||||
|
|
||||||
return hostid;
|
return hostid;
|
||||||
|
|
Loading…
Reference in New Issue