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
d083a7bd
Commit
d083a7bd
authored
Nov 29, 1999
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed DEBUG_ONLY_THIS_PROCESS again (thanks to Ulrich Weigand).
parent
ad47a30f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
14 additions
and
14 deletions
+14
-14
process.c
scheduler/process.c
+0
-5
process.c
server/process.c
+13
-9
process.h
server/process.h
+1
-0
No files found.
scheduler/process.c
View file @
d083a7bd
...
...
@@ -533,11 +533,6 @@ PDB *PROCESS_Create( NE_MODULE *pModule, LPCSTR cmd_line, LPCSTR env,
info
->
hThread
=
info
->
hProcess
=
INVALID_HANDLE_VALUE
;
if
(
!
(
load_done_evt
=
CreateEventA
(
NULL
,
TRUE
,
FALSE
,
NULL
)))
goto
error
;
/* the DEBUG_ONLY_THIS_PROCESS flag seems simply equivalent
* to DEBUG_PROCESS, contrary to Microsoft documentation (surprised?) */
if
(
flags
&
DEBUG_ONLY_THIS_PROCESS
)
flags
=
(
flags
&
~
DEBUG_ONLY_THIS_PROCESS
)
|
DEBUG_PROCESS
;
/* Create the process on the server side */
req
->
inherit
=
(
psa
&&
(
psa
->
nLength
>=
sizeof
(
*
psa
))
&&
psa
->
bInheritHandle
);
...
...
server/process.c
View file @
d083a7bd
...
...
@@ -67,12 +67,21 @@ static struct process *create_process( struct process *parent, struct new_proces
process
->
priority
=
NORMAL_PRIORITY_CLASS
;
process
->
affinity
=
1
;
process
->
suspend
=
0
;
process
->
create_flags
=
0
;
process
->
console_in
=
NULL
;
process
->
console_out
=
NULL
;
process
->
init_event
=
NULL
;
process
->
info
=
NULL
;
gettimeofday
(
&
process
->
start_time
,
NULL
);
/* copy the request structure */
if
(
!
(
process
->
info
=
mem_alloc
(
sizeof
(
*
process
->
info
)
+
len
)))
goto
error
;
memcpy
(
process
->
info
,
req
,
sizeof
(
*
req
)
);
memcpy
(
process
->
info
->
cmdline
,
cmd_line
,
len
);
process
->
info
->
cmdline
[
len
]
=
0
;
req
=
process
->
info
;
/* use the copy now */
process
->
create_flags
=
req
->
create_flags
;
if
(
req
->
inherit_all
)
process
->
handles
=
copy_handle_table
(
process
,
parent
);
else
...
...
@@ -82,11 +91,6 @@ static struct process *create_process( struct process *parent, struct new_proces
/* alloc a handle for the process itself */
alloc_handle
(
process
,
process
,
PROCESS_ALL_ACCESS
,
0
);
if
(
!
(
process
->
info
=
mem_alloc
(
sizeof
(
*
process
->
info
)
+
len
)))
goto
error
;
memcpy
(
process
->
info
,
req
,
sizeof
(
*
req
)
);
memcpy
(
process
->
info
->
cmdline
,
cmd_line
,
len
);
process
->
info
->
cmdline
[
len
]
=
0
;
/* get the init done event */
if
(
req
->
event
!=
-
1
)
{
...
...
@@ -95,11 +99,11 @@ static struct process *create_process( struct process *parent, struct new_proces
}
/* set the process console */
if
(
req
->
create_flags
&
CREATE_NEW_CONSOLE
)
if
(
process
->
create_flags
&
CREATE_NEW_CONSOLE
)
{
if
(
!
alloc_console
(
process
))
goto
error
;
}
else
if
(
!
(
req
->
create_flags
&
DETACHED_PROCESS
))
else
if
(
!
(
process
->
create_flags
&
DETACHED_PROCESS
))
{
if
(
parent
->
console_in
)
process
->
console_in
=
grab_object
(
parent
->
console_in
);
if
(
parent
->
console_out
)
process
->
console_out
=
grab_object
(
parent
->
console_out
);
...
...
@@ -116,9 +120,9 @@ static struct process *create_process( struct process *parent, struct new_proces
}
/* attach to the debugger if requested */
if
(
req
->
create_flags
&
DEBUG_PROCESS
)
if
(
process
->
create_flags
&
(
DEBUG_PROCESS
|
DEBUG_ONLY_THIS_PROCESS
)
)
debugger_attach
(
process
,
current
);
else
if
(
parent
&&
parent
->
debugger
&&
!
(
req
->
create_flags
&
DEBUG_ONLY_THIS_PROCESS
))
else
if
(
parent
&&
parent
->
debugger
&&
!
(
parent
->
create_flags
&
DEBUG_ONLY_THIS_PROCESS
))
debugger_attach
(
process
,
parent
->
debugger
);
if
((
process
->
next
=
first_process
)
!=
NULL
)
process
->
next
->
prev
=
process
;
...
...
server/process.h
View file @
d083a7bd
...
...
@@ -30,6 +30,7 @@ struct process
int
priority
;
/* priority class */
int
affinity
;
/* process affinity mask */
int
suspend
;
/* global process suspend count */
int
create_flags
;
/* process creation flags */
struct
object
*
console_in
;
/* console input */
struct
object
*
console_out
;
/* console output */
struct
event
*
init_event
;
/* event for init done */
...
...
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