RustConf 2023 - Beyond Ctrl-C the dark corners of Unix signal handling

Поделиться
HTML-код
  • Опубликовано: 27 ноя 2024

Комментарии • 10

  • @kelownatechkid
    @kelownatechkid 9 месяцев назад +3

    This is super practical, and useful immediately!! Great talk

  • @sundarikuber6963
    @sundarikuber6963 8 месяцев назад +2

    Excellent. Thanks Rain for your contribution

  • @fionawashere1086
    @fionawashere1086 9 месяцев назад +1

    Loved the talk veeery much! Awesome presenter, very informative presentation!

  • @namesurname7665
    @namesurname7665 9 месяцев назад +5

    Awesome talk. Thanks!

    • @rain3502
      @rain3502 9 месяцев назад

      Thank you!

  • @UberShinySheep
    @UberShinySheep 8 месяцев назад +4

    Really useful video, just a bit of feedback for the editor that the slides could be much larger and the presenter video much smaller to make it easier to see the content

  • @oneofpro
    @oneofpro 9 месяцев назад +4

    Very useful information. Thanks.

    • @rain3502
      @rain3502 9 месяцев назад

      Thanks for the kind words!

  • @meowsqueak
    @meowsqueak 9 месяцев назад +2

    This is really useful, and most of this information is useful for non-Rust system programmers too. Thank you for such a great intro.
    Have you ever run into the situation where you receive a signal during an I/O operation and it returns EINTR, thus you need to go back and retry it? Is this mostly handled automatically by the Rust standard library, or does it need to be handled explicitly like we often (should) do in C?

    • @rain3502
      @rain3502 9 месяцев назад +1

      Good question! The answer is that it depends.
      Rust's std::io::Write trait has two methods: `write` and `write_all`. `write` does not do a retry, but `write_all` does. If you can get away with `write_all` you should use that, but in many cases you can't... and then you have to remember to retry on interrupt. This is a pretty bad wart.