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
63c7cdf1
Commit
63c7cdf1
authored
Jun 12, 1999
by
Eric Pouech
Committed by
Alexandre Julliard
Jun 12, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Made the service thread instanciable in every process.
parent
ffe6b767
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
6 additions
and
7 deletions
+6
-7
process.h
include/process.h
+1
-0
services.h
include/services.h
+0
-2
main.c
loader/main.c
+0
-3
services.c
scheduler/services.c
+0
-0
thread.c
scheduler/thread.c
+5
-2
No files found.
include/process.h
View file @
63c7cdf1
...
...
@@ -95,6 +95,7 @@ typedef struct _PDB
struct
_PDB
*
next
;
/* List reference - list of PDB's */
WORD
hInstance
;
/* hInstance on startup */
WORD
hPrevInstance
;
/* hPrevInstance on startup */
struct
_SERVICETABLE
*
service_table
;
/* Service table for service thread */
}
PDB
;
/* Process flags */
...
...
include/services.h
View file @
63c7cdf1
...
...
@@ -9,8 +9,6 @@
#include "winbase.h"
BOOL
SERVICE_Init
(
void
);
HANDLE
SERVICE_AddObject
(
HANDLE
object
,
PAPCFUNC
callback
,
ULONG_PTR
callback_arg
);
...
...
loader/main.c
View file @
63c7cdf1
...
...
@@ -68,9 +68,6 @@ BOOL MAIN_MainInit(void)
/* Initialize signal handling */
if
(
!
SIGNAL_Init
())
return
FALSE
;
/* Initialize kernel services thread */
if
(
!
SERVICE_Init
())
return
FALSE
;
/* Load the configuration file */
if
(
!
PROFILE_LoadWineIni
())
return
FALSE
;
...
...
scheduler/services.c
View file @
63c7cdf1
This diff is collapsed.
Click to expand it.
scheduler/thread.c
View file @
63c7cdf1
...
...
@@ -203,6 +203,7 @@ THDB *THREAD_Create( PDB *pdb, DWORD flags, DWORD stack_size, BOOL alloc_stack16
struct
new_thread_request
request
;
struct
new_thread_reply
reply
=
{
NULL
,
-
1
};
int
fd
[
2
];
HANDLE
cleanup_object
;
THDB
*
thdb
=
HeapAlloc
(
SystemHeap
,
HEAP_ZERO_MEMORY
,
sizeof
(
THDB
)
);
if
(
!
thdb
)
return
NULL
;
...
...
@@ -250,9 +251,11 @@ THDB *THREAD_Create( PDB *pdb, DWORD flags, DWORD stack_size, BOOL alloc_stack16
THREAD_First
=
thdb
;
/* Install cleanup handler */
if
(
!
DuplicateHandle
(
GetCurrentProcess
(),
*
server_handle
,
GetCurrentProcess
(),
&
cleanup_object
,
0
,
FALSE
,
DUPLICATE_SAME_ACCESS
)
)
goto
error
;
thdb
->
cleanup
=
SERVICE_AddObject
(
cleanup_object
,
THREAD_FreeTHDB
,
(
ULONG_PTR
)
thdb
);
thdb
->
cleanup
=
SERVICE_AddObject
(
*
server_handle
,
THREAD_FreeTHDB
,
(
ULONG_PTR
)
thdb
);
return
thdb
;
error:
...
...
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