On Sep 2 15:10, Alexey Shumkin wrote: > Prelude. > I use "self-compiled" Git (v2.x) on Cygwin (v1.7.30). > Sometimes Git v2.0.4 hung while performing > git prune --expire 2.weeks.ago > > I have investigated while debugging that `mktime` call hung. > But that was an avoidable bug (skip prune - and all is ok). So, I've not > reported it. > > But after updating Git to v2.1.0 > git commit --amend -C HEAD --date='' > hangs, too. And now it is the often used operation by me. > So, I've made a simple example (copied from Git sources) to reproduce > the error. > > $ cat cygwin-mktime-bug.c > #include <time.h> > #include <string.h> > #include <stdio.h> > > int main(int argc, char **argv) > { > struct tm tm; > > memset(&tm, 0, sizeof(tm)); > tm.tm_year = -1; > tm.tm_mon = -1; > tm.tm_mday = -1; > tm.tm_isdst = -1; > tm.tm_hour = -1; > tm.tm_min = -1; > tm.tm_sec = -1; > > printf("Working...\n"); > time_t temp_time = mktime(&tm); > printf("Worked"); > } > > $ gcc cygwin-mktime-bug.c -o cygwin-mktime-bug -I/usr/include -g > $ ./cygwin-mktime-bug.exe > Working...
Works fine for me every time on Cygwin 1.7.32 32 and 64 bit. I ran your testcase 1000 times in a loop. It's slow, but it never hangs. Btw., the code of mktime and low level stuff is basically identical to the NetBSD implementation it has been taken from. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
pgpqPGASc8Lg7.pgp
Description: PGP signature