Greetings, Corinna Vinschen! > On Feb 12 13:45, Adam Dinwoodie wrote: >> I've spotted some slightly odd behaviour when writing things from >> multiple processes to /dev/clipboard. >> >> Easiest to show this with an example: >> >> for n in {1..10}; do echo $n; done >/dev/clipboard; cat /dev/clipboard >> >> I expect this to print out the numbers 1–10 to the terminal. Sometimes >> it does, but sometimes it misses out some of the numbers at the end; >> printing the digits 1–8, say, but no more. Generally it gets to around >> 7–9, but I've seen it managing to only get up to 3 on one occasion.
> I can't reproduce this. First I tried this manually a couple of times, > but then I created a loop: > for i in {1..1000} > do > echo > /dev/clipboard > for n in {1..10}; do echo $n; done > /dev/clipboard > grep -q 10 /dev/clipboard || cat /dev/clipboard > done > and it didn't fail once. I'm not sure what to do if I don't have a > reproducible testcase... Failed ~20 times for me. And the more, the more I run the test. What is more curious, is if I modify your test to only print "1", while true; do echo > /dev/clipboard for n in {1..10}; do echo $n; done > /dev/clipboard grep -q 10 /dev/clipboard || grep 1 /dev/clipboard done it sporadically print 10 ! And my mail client actively flashing "paste" buttons, when the script is working in background. May be that's it. This is more visible: $ while true; do { i=$(( $i+1 )); echo > /dev/clipboard; for n in {1..10}; do echo $n; done > /dev/clipboard; grep -q 10 /dev/clipboard || { grep 10 /dev/clipboard && echo $i;};}; done; 10 3512 10 6543 10 9468 10 9936 10 12298 -- WBR, Andrey Repin (anrdae...@yandex.ru) 12.02.2015, <23:56> Sorry for my terrible english...