1. C# / Говнокод #19828

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    Task.Run(() =>
                         {
                             while (true)
                             {
                                 var nrl = new List<int>();
                                 lock (delList)
                                 {
                                     foreach (var i in delList)
                                     {
                                         try { File.Delete(System.IO.Path.GetTempPath() + @"\" + SesionRandom + i + ".xps"); }
                                         catch (Exception)
                                         {
                                             nrl.Add(i);
                                         }
                                     }
                                     delList = nrl;
                                 }
                                 Thread.Sleep(10000);
                             }
                         });

    Упёртый файл не хочет удаляться, пока не попробуешь n раз....

    Запостил: qwe345asd, 16 Апреля 2016

    Комментарии (24) RSS

    • Ой, я понял, delList реализует единичную систему счисления!
      Ответить
      • Нет, там тупо номера файлов, которые надо поудалять ;)
        Ответить
    • > Упёртый файл не хочет удаляться
      Упёртая программа держит файл и не хочет закрывать. Не лучше ли покопать в ту сторону, и понять, почему файл закрывают с такой задержкой?
      Ответить
      • Я так понял, что место сетевое и хуй ты копнёшь в ту сторону. Это не от проги зависит, а от того, когда юзер закроет документ внешним просмотровщиком. Так что не сказал бы, что очень уж говно, вполне адекватно сделано, только эксепшены надо разные ловить.
        Ответить
        • А в Виндовсе нету чего-то типа inotify? Ну чтобы самому опрос не оранизовывать, а подписаться на событие?
          Ответить
          • Есть FileWatcher, но он не смотрит за тем, когда файл отпускают.
            Ответить
          • Вообще умные люди PID придумали для такой ситуации, но нет, не в венде...
            Ответить
            • что за чушь ты несешь? конечно же в винде есть process id
              Ответить
              • PID file же... Это не совсем то, что process id в венде
                Ответить
                • Я, конечно, не знаток unix, но причём тут PID файлы?
                  Программа не захотела создавать PID файл - и всё.

                  По-поему, это как поставить ворота без забора, но с фотоэлементом, которые открываются, если вставишь купюру в 500 евро, считать посетителей и говорить, какие умные люди придумали фотоэлемент.
                  Ответить
                  • >> PID
                    PIDar?
                    Ответить
                    • PID ... PIDar ... PIDarok ... PIDarOK ... PIDarOS

                      PIDarOS. Ваши файлы в опасности.
                      PIDarOS. Следим за вами вот уже 70 лет.
                      PIDarOS. Зависает невовремя.
                      Ответить
                      • PIDarOS. Не поворачивайся к компьютеру спиной!
                        Ответить
                        • Soony SAL1855PIDarOSS. Размажет всё.
                          Ответить
                          • Предлагаю вернуть 97-й (или 87-й, как получится) и вспомнить про IBM PenDOS — пакет драйверов и программ для перьевого ввода.
                            Ответить
                      • http://pidora.ca/
                        Ответить
                        • It has come to our attention that the Pidora name bears an unfortunate similarity to another word in Russian, and this has offended some community members and amused others.

                          Please accept our apologies for any offence caused. Our goal was to simply associate "Pi" (from Raspberry Pi) and "Fedora" (from the Fedora Project).

                          We are actively seeking a broadly-acceptable alternative Russian name in consultation with some community members, and will post more information shortly.

                          -Chris Tyler
                          Ответить
                        • http://pidora.ha/
                          Ответить
                  • Ладно-ладно, согласен, неудачная аналогия с юниксом.
                    Ответить
    • Нет ни одного break и нет ни одного unlock'а.
      Скажите, пожалуйста, что это так и задумано?
      Заранее спасибо.
      Ответить
      • unlock то зачем? Само разлочится на выходе из блока.

        Ну а break нету т.к. этот тред вечно в фоне болтается. Ему только новые имена подсыпают в delList.
        Ответить
        • >этот тред вечно в фоне болтается. Ему только новые имена подсыпают в delList.
          Ага.
          Я тут тебе подсыпал имён новых в delList, братишка, а ты похерил на него ссылку:
          delList = nrl;

          >SesionRandom
          Вот и лямбды завезли, а счастья всё нет.
          Ответить

    Добавить комментарий