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
a56ffb63
Commit
a56ffb63
authored
Aug 22, 2013
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ntdll: Rename NTDLL_wait_for_multiple_objects to server_select since it's more generic now.
parent
947e3374
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
11 additions
and
14 deletions
+11
-14
critsection.c
dlls/ntdll/critsection.c
+1
-1
exception.c
dlls/ntdll/exception.c
+2
-2
ntdll_misc.h
dlls/ntdll/ntdll_misc.h
+2
-2
sync.c
dlls/ntdll/sync.c
+6
-9
No files found.
dlls/ntdll/critsection.c
View file @
a56ffb63
...
...
@@ -235,7 +235,7 @@ static inline NTSTATUS wait_semaphore( RTL_CRITICAL_SECTION *crit, int timeout )
time
.
QuadPart
=
timeout
*
(
LONGLONG
)
-
10000000
;
select_op
.
wait
.
op
=
SELECT_WAIT
;
select_op
.
wait
.
handles
[
0
]
=
wine_server_obj_handle
(
sem
);
ret
=
NTDLL_wait_for_multiple_objects
(
&
select_op
,
offsetof
(
select_op_t
,
wait
.
handles
[
1
]
),
0
,
&
time
);
ret
=
server_select
(
&
select_op
,
offsetof
(
select_op_t
,
wait
.
handles
[
1
]
),
0
,
&
time
);
}
return
ret
;
}
...
...
dlls/ntdll/exception.c
View file @
a56ffb63
...
...
@@ -81,7 +81,7 @@ void wait_suspend( CONTEXT *context )
/* wait with 0 timeout, will only return once the thread is no longer suspended */
timeout
.
QuadPart
=
0
;
NTDLL_wait_for_multiple_objects
(
NULL
,
0
,
SELECT_INTERRUPTIBLE
,
&
timeout
);
server_select
(
NULL
,
0
,
SELECT_INTERRUPTIBLE
,
&
timeout
);
/* retrieve the new context */
SERVER_START_REQ
(
get_suspend_context
)
...
...
@@ -134,7 +134,7 @@ NTSTATUS send_debug_event( EXCEPTION_RECORD *rec, int first_chance, CONTEXT *con
select_op
.
wait
.
op
=
SELECT_WAIT
;
select_op
.
wait
.
handles
[
0
]
=
handle
;
NTDLL_wait_for_multiple_objects
(
&
select_op
,
offsetof
(
select_op_t
,
wait
.
handles
[
1
]
),
SELECT_INTERRUPTIBLE
,
NULL
);
server_select
(
&
select_op
,
offsetof
(
select_op_t
,
wait
.
handles
[
1
]
),
SELECT_INTERRUPTIBLE
,
NULL
);
SERVER_START_REQ
(
get_exception_status
)
{
...
...
dlls/ntdll/ntdll_misc.h
View file @
a56ffb63
...
...
@@ -63,8 +63,8 @@ extern LPCSTR debugstr_us( const UNICODE_STRING *str ) DECLSPEC_HIDDEN;
extern
LPCSTR
debugstr_ObjectAttributes
(
const
OBJECT_ATTRIBUTES
*
oa
)
DECLSPEC_HIDDEN
;
extern
NTSTATUS
NTDLL_queue_process_apc
(
HANDLE
process
,
const
apc_call_t
*
call
,
apc_result_t
*
result
)
DECLSPEC_HIDDEN
;
extern
NTSTATUS
NTDLL_wait_for_multiple_objects
(
const
select_op_t
*
select_op
,
data_size_t
size
,
UINT
flags
,
const
LARGE_INTEGER
*
timeout
)
DECLSPEC_HIDDEN
;
extern
NTSTATUS
server_select
(
const
select_op_t
*
select_op
,
data_size_t
size
,
UINT
flags
,
const
LARGE_INTEGER
*
timeout
)
DECLSPEC_HIDDEN
;
/* init routines */
extern
NTSTATUS
signal_alloc_thread
(
TEB
**
teb
)
DECLSPEC_HIDDEN
;
...
...
dlls/ntdll/sync.c
View file @
a56ffb63
...
...
@@ -1102,12 +1102,10 @@ NTSTATUS NTDLL_queue_process_apc( HANDLE process, const apc_call_t *call, apc_re
/***********************************************************************
* NTDLL_wait_for_multiple_objects
*
* Implementation of NtWaitForMultipleObjects
* server_select
*/
NTSTATUS
NTDLL_wait_for_multiple_objects
(
const
select_op_t
*
select_op
,
data_size_t
size
,
UINT
flags
,
const
LARGE_INTEGER
*
timeout
)
NTSTATUS
server_select
(
const
select_op_t
*
select_op
,
data_size_t
size
,
UINT
flags
,
const
LARGE_INTEGER
*
timeout
)
{
NTSTATUS
ret
;
int
cookie
;
...
...
@@ -1178,7 +1176,7 @@ NTSTATUS WINAPI NtWaitForMultipleObjects( DWORD count, const HANDLE *handles,
if
(
alertable
)
flags
|=
SELECT_ALERTABLE
;
select_op
.
wait
.
op
=
wait_all
?
SELECT_WAIT_ALL
:
SELECT_WAIT
;
for
(
i
=
0
;
i
<
count
;
i
++
)
select_op
.
wait
.
handles
[
i
]
=
wine_server_obj_handle
(
handles
[
i
]
);
return
NTDLL_wait_for_multiple_objects
(
&
select_op
,
offsetof
(
select_op_t
,
wait
.
handles
[
count
]
),
flags
,
timeout
);
return
server_select
(
&
select_op
,
offsetof
(
select_op_t
,
wait
.
handles
[
count
]
),
flags
,
timeout
);
}
...
...
@@ -1206,7 +1204,7 @@ NTSTATUS WINAPI NtSignalAndWaitForSingleObject( HANDLE hSignalObject, HANDLE hWa
select_op
.
signal_and_wait
.
op
=
SELECT_SIGNAL_AND_WAIT
;
select_op
.
signal_and_wait
.
wait
=
wine_server_obj_handle
(
hWaitObject
);
select_op
.
signal_and_wait
.
signal
=
wine_server_obj_handle
(
hSignalObject
);
return
NTDLL_wait_for_multiple_objects
(
&
select_op
,
sizeof
(
select_op
.
signal_and_wait
),
flags
,
timeout
);
return
server_select
(
&
select_op
,
sizeof
(
select_op
.
signal_and_wait
),
flags
,
timeout
);
}
...
...
@@ -1231,8 +1229,7 @@ NTSTATUS WINAPI NtDelayExecution( BOOLEAN alertable, const LARGE_INTEGER *timeou
{
/* if alertable, we need to query the server */
if
(
alertable
)
return
NTDLL_wait_for_multiple_objects
(
NULL
,
0
,
SELECT_INTERRUPTIBLE
|
SELECT_ALERTABLE
,
timeout
);
return
server_select
(
NULL
,
0
,
SELECT_INTERRUPTIBLE
|
SELECT_ALERTABLE
,
timeout
);
if
(
!
timeout
||
timeout
->
QuadPart
==
TIMEOUT_INFINITE
)
/* sleep forever */
{
...
...
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