* autoload.cc (LoadDLLfuncNt): Re-invent.
(NtCreateTransaction): Define. (NtCommitTransaction): Define. (NtRollbackTransaction): Define. (RtlGetCurrentTransaction): Define. (RtlSetCurrentTransaction): Define. * ntdll.h (TRANSACTION_ALL_ACCESS): Define. (NtCreateTransaction): Declare. (NtCommitTransaction): Declare. (NtRollbackTransaction): Declare. (RtlGetCurrentTransaction): Declare. (RtlSetCurrentTransaction): Declare. * syscalls.cc (start_transaction): New static function to start TxF transaction. (stop_transaction): New static function to end TxF transaction. (rename): Call start_transaction and stop_transaction where appropriate on systems supporting transactions. * wincap.h (wincaps::has_transactions): New element. * wincap.cc: Implement above element throughout.
This commit is contained in:
@@ -42,6 +42,7 @@ static NO_COPY wincaps wincap_unknown = {
|
||||
has_gaa_on_link_prefix:false,
|
||||
supports_all_posix_ai_flags:false,
|
||||
has_restricted_stack_args:false,
|
||||
has_transactions:false,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_nt4 = {
|
||||
@@ -72,6 +73,7 @@ static NO_COPY wincaps wincap_nt4 = {
|
||||
has_gaa_on_link_prefix:false,
|
||||
supports_all_posix_ai_flags:false,
|
||||
has_restricted_stack_args:false,
|
||||
has_transactions:false,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_nt4sp4 = {
|
||||
@@ -102,6 +104,7 @@ static NO_COPY wincaps wincap_nt4sp4 = {
|
||||
has_gaa_on_link_prefix:false,
|
||||
supports_all_posix_ai_flags:false,
|
||||
has_restricted_stack_args:false,
|
||||
has_transactions:false,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_2000 = {
|
||||
@@ -132,6 +135,7 @@ static NO_COPY wincaps wincap_2000 = {
|
||||
has_gaa_on_link_prefix:false,
|
||||
supports_all_posix_ai_flags:false,
|
||||
has_restricted_stack_args:false,
|
||||
has_transactions:false,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_2000sp4 = {
|
||||
@@ -162,6 +166,7 @@ static NO_COPY wincaps wincap_2000sp4 = {
|
||||
has_gaa_on_link_prefix:false,
|
||||
supports_all_posix_ai_flags:false,
|
||||
has_restricted_stack_args:false,
|
||||
has_transactions:false,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_xp = {
|
||||
@@ -192,6 +197,7 @@ static NO_COPY wincaps wincap_xp = {
|
||||
has_gaa_on_link_prefix:false,
|
||||
supports_all_posix_ai_flags:false,
|
||||
has_restricted_stack_args:false,
|
||||
has_transactions:false,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_xpsp1 = {
|
||||
@@ -222,6 +228,7 @@ static NO_COPY wincaps wincap_xpsp1 = {
|
||||
has_gaa_on_link_prefix:false,
|
||||
supports_all_posix_ai_flags:false,
|
||||
has_restricted_stack_args:false,
|
||||
has_transactions:false,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_xpsp2 = {
|
||||
@@ -252,6 +259,7 @@ static NO_COPY wincaps wincap_xpsp2 = {
|
||||
has_gaa_on_link_prefix:false,
|
||||
supports_all_posix_ai_flags:false,
|
||||
has_restricted_stack_args:false,
|
||||
has_transactions:false,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_2003 = {
|
||||
@@ -282,6 +290,7 @@ static NO_COPY wincaps wincap_2003 = {
|
||||
has_gaa_on_link_prefix:false,
|
||||
supports_all_posix_ai_flags:false,
|
||||
has_restricted_stack_args:true,
|
||||
has_transactions:false,
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_vista = {
|
||||
@@ -312,6 +321,7 @@ static NO_COPY wincaps wincap_vista = {
|
||||
has_gaa_on_link_prefix:true,
|
||||
supports_all_posix_ai_flags:true,
|
||||
has_restricted_stack_args:false,
|
||||
has_transactions:true,
|
||||
};
|
||||
|
||||
wincapc wincap __attribute__((section (".cygwin_dll_common"), shared));
|
||||
|
Reference in New Issue
Block a user