On Do, 05 Apr 2018, brucekan...@gmail.com wrote: > 在 2018年4月3日星期二 UTC+8下午6:35:57,Christian Brabandt写道: > > On Di, 03 Apr 2018, brucekan...@gmail.com wrote: > > > > > I'm using VIM 8.0 and set the option: "set > > > cscopequickfix=s-,c-,d-,i-,t-,e-" > > > vim will prompt "E484: Can't open file /tmp/vxxxxx/n" occasionally if I'm > > > not root user. > > > > > > when set above option, vim will generate a temp directory under /tmp, I > > > found the temp direcoty was deleted every time when the fault was > > > occurred. > > > > > > after checking source code, the suspecious place is in function: > > > vim_tempname > > > > > > if (vim_tempdir != NULL) > > > { > > > /* There is no need to check if the file exists, because we own the > > > * directory and nobody else creates a file in it. */ > > > sprintf((char *)itmp, "%s%ld", vim_tempdir, temp_count++); > > > return vim_strsave(itmp); > > > } > > > > > > if the vim_tempdir is deleted by unknown operation/process, then vim will > > > fault due to it not checking this temp directory before writing it, maybe > > > we need to check vim_tempdir here, if it's not accessable, we build > > > another temp directory. > > > > Do you have any tmp cleanup packages installed that may remove such > > things? Try to disable it. > > > > I have proposed a similar patch several years ago, but it was found to > > work around the real problem that /tmp should not be cleaned randomly, > > so it wasn't included. > > > > > > Best, > > Christian > > -- > > Wußten Sie schon... > > ... daß der Walfisch, das größte lebende Säugetier, alle anderen > > Säugetiere an Größe übertrifft? > > Hi Christian, > Thanks for you response, I haven't deep investigated which process/operation > delete that temp directory(this fault only appear when I am a normal user, > when I am root, everything is ok), there is another scenario: vim user may > use vim on a shared server, they can't disable cleanup process run in > background or prevent other user delete that temp diretory, so they can't > guarantee that temp direcoty is always there, my opinion is vim should not > depend it's stability on external environment especially public directory, > there may happen something out of vim user's control.
True, but some people believe that the system is broken, if it silently deletes directories below /tmp. After all, that's what /tmp is for. It may only be deleted on reboot. Best, Christian -- Was wir der Natur antun, tun wir uns selbst an. -- Sprichwort der Mapuche-Indianer (Chile) -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.