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 EnableOthers;
|
||||||
|
|
||||||
BOOL IsStopped;
|
BOOL IsStopped;
|
||||||
|
UINT32 ResponseWaitTimeoutSecs;
|
||||||
pcCliprdrServerCapabilities ServerCapabilities;
|
pcCliprdrServerCapabilities ServerCapabilities;
|
||||||
pcCliprdrClientCapabilities ClientCapabilities;
|
pcCliprdrClientCapabilities ClientCapabilities;
|
||||||
pcCliprdrMonitorReady MonitorReady;
|
pcCliprdrMonitorReady MonitorReady;
|
||||||
|
@ -453,6 +453,7 @@ pub struct _cliprdr_client_context {
|
|||||||
pub EnableFiles: BOOL,
|
pub EnableFiles: BOOL,
|
||||||
pub EnableOthers: BOOL,
|
pub EnableOthers: BOOL,
|
||||||
pub IsStopped: BOOL,
|
pub IsStopped: BOOL,
|
||||||
|
pub ResponseWaitTimeoutSecs: UINT32,
|
||||||
pub ServerCapabilities: pcCliprdrServerCapabilities,
|
pub ServerCapabilities: pcCliprdrServerCapabilities,
|
||||||
pub ClientCapabilities: pcCliprdrClientCapabilities,
|
pub ClientCapabilities: pcCliprdrClientCapabilities,
|
||||||
pub MonitorReady: pcCliprdrMonitorReady,
|
pub MonitorReady: pcCliprdrMonitorReady,
|
||||||
@ -510,6 +511,7 @@ impl CliprdrClientContext {
|
|||||||
EnableFiles: if enable_files { TRUE } else { FALSE },
|
EnableFiles: if enable_files { TRUE } else { FALSE },
|
||||||
EnableOthers: if enable_others { TRUE } else { FALSE },
|
EnableOthers: if enable_others { TRUE } else { FALSE },
|
||||||
IsStopped: FALSE,
|
IsStopped: FALSE,
|
||||||
|
ResponseWaitTimeoutSecs: 60,
|
||||||
ServerCapabilities: None,
|
ServerCapabilities: None,
|
||||||
ClientCapabilities: None,
|
ClientCapabilities: None,
|
||||||
MonitorReady: None,
|
MonitorReady: None,
|
||||||
|
@ -1453,10 +1453,11 @@ UINT wait_response_event(wfClipboard *clipboard, HANDLE event, void **data)
|
|||||||
{
|
{
|
||||||
UINT rc = ERROR_SUCCESS;
|
UINT rc = ERROR_SUCCESS;
|
||||||
clipboard->context->IsStopped = FALSE;
|
clipboard->context->IsStopped = FALSE;
|
||||||
// with default 3min timeout
|
DWORD waitOnceTimeoutMillis = 50;
|
||||||
for (int i = 0; i < 20 * 60 * 3; i++)
|
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)
|
if (waitRes == WAIT_TIMEOUT && clipboard->context->IsStopped == FALSE)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user