Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > pl.comp.os.linux.programowanie > #2231

Re: EINTR - sztuczne generowanie

Path csiph.com!news.mixmin.net!aioe.org!.POSTED.nyPK7k8oeDafdNpooDsxZQ.user.gioia.aioe.org!not-for-mail
From Mateusz Viste <mateusz@xyz.invalid>
Newsgroups pl.comp.os.linux.programowanie
Subject Re: EINTR - sztuczne generowanie
Date Wed, 9 Sep 2020 10:18:30 +0200
Organization . . .
Lines 45
Message-ID <20200909101830.2170cf7b@mateusz> (permalink)
References <rj9vh2$6it$1@dont-email.me>
NNTP-Posting-Host nyPK7k8oeDafdNpooDsxZQ.user.gioia.aioe.org
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8
Content-Transfer-Encoding quoted-printable
X-Complaints-To abuse@aioe.org
X-Newsreader Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-suse-linux-gnu)
X-Notice Filtered by postfilter v. 0.9.2
Xref csiph.com pl.comp.os.linux.programowanie:2231

Show key headers only | View raw


2020-09-09 o 09:16 +0200, heby napisał:
> Potrzebuję w celach testowych zasypać aplikację errorami EINTR. 
> Aplikacja robi bardzo duzo operacji read/write i w ten sposób
> chciałbym zwiększyśc prawdopodobieństwo znalezienia miejsca bez
> obsługi EINTR.
> 
> Mam pid mojego procesu. W jaki sposób mogę spowodować że w procesie
> tym znacząco zwiększy się ilośc EINTR w przypadkowych miejscach?
> 
> Rozumiem że mam wysyłać sygnały do mojego procesu. Można to zrobic za 
> pomocą kill? I jaki sygnał mam wysyłać? Dowolny? np SIGCONT albo
> SIGALRM będzie ok?

To byłoby pewnie dobre, gdybyś chciał testować funkcje read(), write(),
send(), itp na okoliczność poprawnej obsługi sygnałów. Tobie jednak
zależy raczej na sprawdzeniu swojego własnego kodu, który jest klientem
tych funkcji. Ja zrobiłbym to tak:


ssize_t monkey_write(int fd, const void *buf, size_t cnt) {
  static int crazy_monkey;
  crazy_monkey ^= 1;
  if (crazy_monkey == 0) {
    errno = EINTR;
    return(-1);
  }
  return(write(fd, buf, cnt));
}

#define write monkey_write

(tutaj dalszy kod programu)


Mateusz

Back to pl.comp.os.linux.programowanie | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

EINTR - sztuczne generowanie heby <heby@poczta.onet.pl> - 2020-09-09 09:16 +0200
  Re: EINTR - sztuczne generowanie Mateusz Viste <mateusz@xyz.invalid> - 2020-09-09 10:18 +0200
    Re: EINTR - sztuczne generowanie heby <heby@poczta.onet.pl> - 2020-09-09 10:53 +0200
      Re: EINTR - sztuczne generowanie Mateusz Viste <mateusz@xyz.invalid> - 2020-09-09 11:02 +0200
        Re: EINTR - sztuczne generowanie heby <heby@poczta.onet.pl> - 2020-09-09 12:04 +0200
          Re: EINTR - sztuczne generowanie michal.lyszczek@bofc.pl - 2020-10-20 02:54 +0200
    Re: EINTR - sztuczne generowanie queequeg@trust.no1 (Queequeg) - 2020-09-09 10:03 +0000
      Re: EINTR - sztuczne generowanie Mateusz Viste <mateusz@xyz.invalid> - 2020-09-09 13:27 +0200
        Re: EINTR - sztuczne generowanie queequeg@trust.no1 (Queequeg) - 2020-09-10 10:00 +0000

csiph-web