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
3b244b95
Commit
3b244b95
authored
Dec 20, 2007
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
server: Use SIGQUIT instead of SIGTERM to terminate a thread.
This allows keeping the default SIGTERM behavior of killing the whole process.
parent
e2a366ce
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
19 additions
and
19 deletions
+19
-19
signal_i386.c
dlls/ntdll/signal_i386.c
+5
-5
signal_powerpc.c
dlls/ntdll/signal_powerpc.c
+4
-4
signal_sparc.c
dlls/ntdll/signal_sparc.c
+4
-4
signal_x86_64.c
dlls/ntdll/signal_x86_64.c
+4
-4
thread.c
server/thread.c
+2
-2
No files found.
dlls/ntdll/signal_i386.c
View file @
3b244b95
...
...
@@ -1289,11 +1289,11 @@ static void abrt_handler( int signal, siginfo_t *siginfo, void *sigcontext )
/**********************************************************************
*
term
_handler
*
quit
_handler
*
* Handler for SIG
TERM
.
* Handler for SIG
QUIT
.
*/
static
void
term
_handler
(
int
signal
,
siginfo_t
*
siginfo
,
void
*
sigcontext
)
static
void
quit
_handler
(
int
signal
,
siginfo_t
*
siginfo
,
void
*
sigcontext
)
{
WORD
fs
,
gs
;
init_handler
(
sigcontext
,
&
fs
,
&
gs
);
...
...
@@ -1392,8 +1392,8 @@ BOOL SIGNAL_Init(void)
if
(
sigaction
(
SIGFPE
,
&
sig_act
,
NULL
)
==
-
1
)
goto
error
;
sig_act
.
sa_sigaction
=
abrt_handler
;
if
(
sigaction
(
SIGABRT
,
&
sig_act
,
NULL
)
==
-
1
)
goto
error
;
sig_act
.
sa_sigaction
=
term
_handler
;
if
(
sigaction
(
SIG
TERM
,
&
sig_act
,
NULL
)
==
-
1
)
goto
error
;
sig_act
.
sa_sigaction
=
quit
_handler
;
if
(
sigaction
(
SIG
QUIT
,
&
sig_act
,
NULL
)
==
-
1
)
goto
error
;
sig_act
.
sa_sigaction
=
usr1_handler
;
if
(
sigaction
(
SIGUSR1
,
&
sig_act
,
NULL
)
==
-
1
)
goto
error
;
...
...
dlls/ntdll/signal_powerpc.c
View file @
3b244b95
...
...
@@ -581,11 +581,11 @@ static HANDLER_DEF(abrt_handler)
/**********************************************************************
*
term
_handler
*
quit
_handler
*
* Handler for SIG
TERM
.
* Handler for SIG
QUIT
.
*/
static
HANDLER_DEF
(
term
_handler
)
static
HANDLER_DEF
(
quit
_handler
)
{
server_abort_thread
(
0
);
}
...
...
@@ -657,7 +657,7 @@ BOOL SIGNAL_Init(void)
if
(
set_handler
(
SIGSEGV
,
(
void
(
*
)())
segv_handler
)
==
-
1
)
goto
error
;
if
(
set_handler
(
SIGILL
,
(
void
(
*
)())
segv_handler
)
==
-
1
)
goto
error
;
if
(
set_handler
(
SIGABRT
,
(
void
(
*
)())
abrt_handler
)
==
-
1
)
goto
error
;
if
(
set_handler
(
SIG
TERM
,
(
void
(
*
)())
term
_handler
)
==
-
1
)
goto
error
;
if
(
set_handler
(
SIG
QUIT
,
(
void
(
*
)())
quit
_handler
)
==
-
1
)
goto
error
;
if
(
set_handler
(
SIGUSR1
,
(
void
(
*
)())
usr1_handler
)
==
-
1
)
goto
error
;
#ifdef SIGBUS
if
(
set_handler
(
SIGBUS
,
(
void
(
*
)())
segv_handler
)
==
-
1
)
goto
error
;
...
...
dlls/ntdll/signal_sparc.c
View file @
3b244b95
...
...
@@ -389,11 +389,11 @@ static HANDLER_DEF(abrt_handler)
/**********************************************************************
*
term
_handler
*
quit
_handler
*
* Handler for SIG
TERM
.
* Handler for SIG
QUIT
.
*/
static
HANDLER_DEF
(
term
_handler
)
static
HANDLER_DEF
(
quit
_handler
)
{
server_abort_thread
(
0
);
}
...
...
@@ -468,7 +468,7 @@ BOOL SIGNAL_Init(void)
if
(
set_handler
(
SIGBUS
,
(
void
(
*
)())
bus_handler
)
==
-
1
)
goto
error
;
if
(
set_handler
(
SIGTRAP
,
(
void
(
*
)())
trap_handler
)
==
-
1
)
goto
error
;
if
(
set_handler
(
SIGABRT
,
(
void
(
*
)())
abrt_handler
)
==
-
1
)
goto
error
;
if
(
set_handler
(
SIG
TERM
,
(
void
(
*
)())
term
_handler
)
==
-
1
)
goto
error
;
if
(
set_handler
(
SIG
QUIT
,
(
void
(
*
)())
quit
_handler
)
==
-
1
)
goto
error
;
if
(
set_handler
(
SIGUSR1
,
(
void
(
*
)())
usr1_handler
)
==
-
1
)
goto
error
;
/* 'ta 6' tells the kernel to synthesize any unaligned accesses this
process makes, instead of just signalling an error and terminating
...
...
dlls/ntdll/signal_x86_64.c
View file @
3b244b95
...
...
@@ -414,11 +414,11 @@ static HANDLER_DEF(abrt_handler)
/**********************************************************************
*
term
_handler
*
quit
_handler
*
* Handler for SIG
TERM
.
* Handler for SIG
QUIT
.
*/
static
HANDLER_DEF
(
term
_handler
)
static
HANDLER_DEF
(
quit
_handler
)
{
server_abort_thread
(
0
);
}
...
...
@@ -490,7 +490,7 @@ BOOL SIGNAL_Init(void)
if
(
set_handler
(
SIGSEGV
,
(
void
(
*
)())
segv_handler
)
==
-
1
)
goto
error
;
if
(
set_handler
(
SIGILL
,
(
void
(
*
)())
segv_handler
)
==
-
1
)
goto
error
;
if
(
set_handler
(
SIGABRT
,
(
void
(
*
)())
abrt_handler
)
==
-
1
)
goto
error
;
if
(
set_handler
(
SIG
TERM
,
(
void
(
*
)())
term
_handler
)
==
-
1
)
goto
error
;
if
(
set_handler
(
SIG
QUIT
,
(
void
(
*
)())
quit
_handler
)
==
-
1
)
goto
error
;
if
(
set_handler
(
SIGUSR1
,
(
void
(
*
)())
usr1_handler
)
==
-
1
)
goto
error
;
#ifdef SIGBUS
if
(
set_handler
(
SIGBUS
,
(
void
(
*
)())
segv_handler
)
==
-
1
)
goto
error
;
...
...
server/thread.c
View file @
3b244b95
...
...
@@ -920,14 +920,14 @@ void kill_thread( struct thread *thread, int violent_death )
{
while
(
thread
->
wait
)
end_wait
(
thread
);
send_thread_wakeup
(
thread
,
NULL
,
STATUS_PENDING
);
/* if it is waiting on the socket, we don't need to send a SIG
TERM
*/
/* if it is waiting on the socket, we don't need to send a SIG
QUIT
*/
violent_death
=
0
;
}
kill_console_processes
(
thread
,
0
);
debug_exit_thread
(
thread
);
abandon_mutexes
(
thread
);
wake_up
(
&
thread
->
obj
,
0
);
if
(
violent_death
)
send_thread_signal
(
thread
,
SIG
TERM
);
if
(
violent_death
)
send_thread_signal
(
thread
,
SIG
QUIT
);
cleanup_thread
(
thread
);
remove_process_thread
(
thread
->
process
,
thread
);
release_object
(
thread
);
...
...
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