* gendef (sigbe): Reset "incyg" while the stack lock is active to avoid a
potential race.
This commit is contained in:
		| @@ -1,3 +1,8 @@ | |||||||
|  | 2007-08-09  Ernie Coskrey  <Ernie.Coskrey@steeleye.com> | ||||||
|  |  | ||||||
|  | 	* gendef (sigbe): Reset "incyg" while the stack lock is active to avoid | ||||||
|  | 	a potential race. | ||||||
|  |  | ||||||
| 2007-08-09  Corinna Vinschen  <corinna@vinschen.de> | 2007-08-09  Corinna Vinschen  <corinna@vinschen.de> | ||||||
|  |  | ||||||
| 	* syscalls.cc (rename): Close oldpath file handle immediately after | 	* syscalls.cc (rename): Close oldpath file handle immediately after | ||||||
|   | |||||||
| @@ -158,9 +158,9 @@ __sigbe:						# return here after cygwin syscall | |||||||
| 	xorl	%edx,%edx | 	xorl	%edx,%edx | ||||||
| 	xchgl	%edx,-4(%eax)				# get return address from signal stack | 	xchgl	%edx,-4(%eax)				# get return address from signal stack | ||||||
| 	xchgl	%edx,8(%esp)				# restore edx/real return address | 	xchgl	%edx,8(%esp)				# restore edx/real return address | ||||||
|  | 	decl	$tls::incyg(%ebx) | ||||||
| 	decl	$tls::stacklock(%ebx)			# release lock | 	decl	$tls::stacklock(%ebx)			# release lock | ||||||
| 	popl	%eax | 	popl	%eax | ||||||
| 	decl	$tls::incyg(%ebx) |  | ||||||
| 	popl	%ebx | 	popl	%ebx | ||||||
| 	ret | 	ret | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user