Closed hwangcc23 closed 5 years ago
Fix #59
Hi. This works, but I think we should not remove the other check, as in:
if (finished) {
del_requestor(requestor);
break;
}
if (!requestors) {
break;
}
Maybe tho it doesn't matter. I originally had this fix:
if (sloop > 0 && finished)
break;
if (finished) {
del_requestor(requestor);
}
if (!requestors) {
break;
}
I think it it better to have the outter loop handle sloop/dloop and the inner loop handle SelectionRequest. :)
@astrand The patch is tested by @mckellyln. Could you review the code and merge it? Thanks.
The -loops option is broken after merging the pull-request #57 (https://github.com/astrand/xclip/pull/57).
Here is a sample transcript to reproduce the problem. hwangcc23-BU401LG:~$ dd 'if=/dev/zero' 'bs=2000' 'count=1000' | tr '\000' 'a' | xclip -i -quiet -l 1
Expect: xclip should exist right after any requestor (ex:
xclip -o
) retrieved data. What I saw: xclip didn't exist.Break out the while(1) loop once there is one SelectionRequest completed such that dloop can be decreased by one and compared to sleep for fixing the problem.