Hi all,

On Thu, 2020-02-06 at 09:18 +1100, David Finnie wrote:
> That would be awesome if you could create a small test case

OK, i put together a test-case:

1) Put attached makefile somewhere
2) Download https://nuwen.net/files/mingw/mingw-17.1-without-git.exe
and unzip it in same place.
3) Now run "make create"
4) Now run "make clean && make -j32". Try a couple of times.

-----------

a) If running via mintty - it hangs fairly quickly, and the task-
manager will show hanging gcc's and sh's.

b) If running in normal terminal via "bash --login" shortcut,
everything is ok. Ran 100s of times with no error.

-----------
It seems to be related to the fact the is is spawning non-cygwin
programs. If i do the same test with normal GCC (default cygwin gcc)
then everything is fine.

My guess would be that this is related to the pseudo-console changes.
I think it relates to an terminal I/O problem when the tasks are
starting/stopping.

Thanks,

/pedro


test: hang

define test
test$(1).d: test$(1).c
	echo running thread $(1)
	MinGW/bin/gcc -MP -MM -MT $$@ -M -o $$@ $$^ &&\
	MinGW/bin/gcc -c -o $$(^:.c=.o) $$^
outputs += test$(i).d
inputs += test$(i).c
endef

loops := 0 1 2 3 4 5 6 7 8 9
loops := $(foreach i, $(loops),$(i)0 $(i)1 $(i)2 $(i)3 $(i)4 $(i)5 $(i)6 $(i)7 $(i)8 $(i)9)

$(foreach i,$(loops),$(eval $(call test,$(i))))

hang: $(outputs)

print: 
	echo $(outputs)
	echo $(inputs)

%.c:
	echo "#include <stdio.h>" > $@
	echo "#include <stdlib.h>" >> $@
	echo "#include <string.h>" >> $@

create: $(inputs)
	echo

clean:
	rm -rf *.c *.d *.o
--
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

Reply via email to