win, clipbord, ResponseWaitTimeoutSecs
Signed-off-by: dignow <linlong1265@gmail.com>
This commit is contained in:
parent
9f7706ca3e
commit
152da86665
@ -199,6 +199,7 @@ extern "C"
|
||||
BOOL EnableOthers;
|
||||
|
||||
BOOL IsStopped;
|
||||
UINT32 ResponseWaitTimeoutSecs;
|
||||
pcCliprdrServerCapabilities ServerCapabilities;
|
||||
pcCliprdrClientCapabilities ClientCapabilities;
|
||||
pcCliprdrMonitorReady MonitorReady;
|
||||
|
@ -453,6 +453,7 @@ pub struct _cliprdr_client_context {
|
||||
pub EnableFiles: BOOL,
|
||||
pub EnableOthers: BOOL,
|
||||
pub IsStopped: BOOL,
|
||||
pub ResponseWaitTimeoutSecs: UINT32,
|
||||
pub ServerCapabilities: pcCliprdrServerCapabilities,
|
||||
pub ClientCapabilities: pcCliprdrClientCapabilities,
|
||||
pub MonitorReady: pcCliprdrMonitorReady,
|
||||
@ -510,6 +511,7 @@ impl CliprdrClientContext {
|
||||
EnableFiles: if enable_files { TRUE } else { FALSE },
|
||||
EnableOthers: if enable_others { TRUE } else { FALSE },
|
||||
IsStopped: FALSE,
|
||||
ResponseWaitTimeoutSecs: 60,
|
||||
ServerCapabilities: None,
|
||||
ClientCapabilities: None,
|
||||
MonitorReady: None,
|
||||
|
@ -1453,10 +1453,11 @@ UINT wait_response_event(wfClipboard *clipboard, HANDLE event, void **data)
|
||||
{
|
||||
UINT rc = ERROR_SUCCESS;
|
||||
clipboard->context->IsStopped = FALSE;
|
||||
// with default 3min timeout
|
||||
for (int i = 0; i < 20 * 60 * 3; i++)
|
||||
DWORD waitOnceTimeoutMillis = 50;
|
||||
int waitCount = 1000 * clipboard->context->ResponseWaitTimeoutSecs / waitOnceTimeoutMillis;
|
||||
for (int i = 0; i < waitCount * 3; i++)
|
||||
{
|
||||
DWORD waitRes = WaitForSingleObject(event, 50);
|
||||
DWORD waitRes = WaitForSingleObject(event, waitOnceTimeoutMillis);
|
||||
if (waitRes == WAIT_TIMEOUT && clipboard->context->IsStopped == FALSE)
|
||||
{
|
||||
continue;
|
||||
|
Loading…
x
Reference in New Issue
Block a user