* 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:
Corinna Vinschen
2008-05-15 16:34:01 +00:00
parent 43334bd027
commit 4c153b24d9
6 changed files with 123 additions and 3 deletions

View File

@@ -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));