Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
6d2063f4
Commit
6d2063f4
authored
Jan 16, 2012
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ntdll: Set the thread exit code when a thread is killed inside a wait.
parent
89eaa56a
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
2 additions
and
4 deletions
+2
-4
sync.c
dlls/ntdll/sync.c
+1
-3
thread.c
server/thread.c
+1
-1
No files found.
dlls/ntdll/sync.c
View file @
6d2063f4
...
@@ -807,7 +807,7 @@ static int wait_reply( void *cookie )
...
@@ -807,7 +807,7 @@ static int wait_reply( void *cookie )
ret
=
read
(
ntdll_get_thread_data
()
->
wait_fd
[
0
],
&
reply
,
sizeof
(
reply
)
);
ret
=
read
(
ntdll_get_thread_data
()
->
wait_fd
[
0
],
&
reply
,
sizeof
(
reply
)
);
if
(
ret
==
sizeof
(
reply
))
if
(
ret
==
sizeof
(
reply
))
{
{
if
(
!
reply
.
cookie
)
break
;
/* thread got killed */
if
(
!
reply
.
cookie
)
abort_thread
(
reply
.
signaled
)
;
/* thread got killed */
if
(
wine_server_get_ptr
(
reply
.
cookie
)
==
cookie
)
return
reply
.
signaled
;
if
(
wine_server_get_ptr
(
reply
.
cookie
)
==
cookie
)
return
reply
.
signaled
;
/* we stole another reply, wait for the real one */
/* we stole another reply, wait for the real one */
signaled
=
wait_reply
(
cookie
);
signaled
=
wait_reply
(
cookie
);
...
@@ -826,8 +826,6 @@ static int wait_reply( void *cookie )
...
@@ -826,8 +826,6 @@ static int wait_reply( void *cookie )
if
(
errno
==
EINTR
)
continue
;
if
(
errno
==
EINTR
)
continue
;
server_protocol_perror
(
"wakeup read"
);
server_protocol_perror
(
"wakeup read"
);
}
}
/* the server closed the connection; time to die... */
abort_thread
(
0
);
}
}
...
...
server/thread.c
View file @
6d2063f4
...
@@ -986,7 +986,7 @@ void kill_thread( struct thread *thread, int violent_death )
...
@@ -986,7 +986,7 @@ void kill_thread( struct thread *thread, int violent_death )
if
(
thread
->
wait
)
if
(
thread
->
wait
)
{
{
while
(
thread
->
wait
)
end_wait
(
thread
);
while
(
thread
->
wait
)
end_wait
(
thread
);
send_thread_wakeup
(
thread
,
0
,
STATUS_PENDING
);
send_thread_wakeup
(
thread
,
0
,
thread
->
exit_code
);
/* if it is waiting on the socket, we don't need to send a SIGQUIT */
/* if it is waiting on the socket, we don't need to send a SIGQUIT */
violent_death
=
0
;
violent_death
=
0
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment