Re: Random crud left behind by aborted TAP tests
От | Alvaro Herrera |
---|---|
Тема | Re: Random crud left behind by aborted TAP tests |
Дата | |
Msg-id | 20151204164654.GC2763@alvherre.pgsql обсуждение исходный текст |
Ответ на | Re: Random crud left behind by aborted TAP tests (Alvaro Herrera <alvherre@2ndquadrant.com>) |
Ответы |
Re: Random crud left behind by aborted TAP tests
|
Список | pgsql-hackers |
Alvaro Herrera wrote: > Tom Lane wrote: > > Yesterday I was fooling around with the TAP tests, and at least once > > I changed my mind and control-C'd out of a run. Today I find: > > > > [postgres@sss1 pgsql]$ git status > > On branch master > > Your branch is up-to-date with 'origin/master'. > > > > Untracked files: > > (use "git add <file>..." to include in what will be committed) > > > > src/bin/scripts/tmp_testGvBC/ > > Hmm ... I would have supposed that this directory should have been > removed by File::Temp's END block. Are END blocks abandoned completely > when a signal is received? That seems pretty surprising. Yes, they are. Quoth man perlmod: An "END" code block is executed as late as possible, that is, after perl has finished running the program andjust before the interpreter is being exited, even if it is exiting as a result of a die() function. (But notif it's morphing into another program via "exec", or being blown out of the water by a signal--you have to trapthat yourself (if you can).) One option is to install a signal handler somewhere to clean this up. Perhaps we can just set $SIG{INT} to a function that calls "die" or something like that. But this doesn't solve the problem if the system crashes while a test is running, for instance, so perhaps your idea of moving these directories to inside tmp_check/ is good. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления: