This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Writing to /dev/clipboard from multiple processes in Bash gives inconsistent behaviour


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've also observed this behaviour with things like `find`, so it's not
just limited to Bash builtins.  (Indeed that's where I initally observed
this behaviour.)

As a workaround, I've found adding a bare `cat` to the pipeline has
things working as expected:

    for n in {1..10}; do echo $n; done | cat >/dev/clipboard; cat /dev/clipboard

I'm not certain this is a bug, per se, but at the very least it's very
odd behaviour.

Slightly redacted `cygcheck -srv` output attached, although I doubt
it'll be useful here.

Adam

Attachment: cygcheck.out
Description: Text document

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]