Groups | Search | Server Info | Login | Register
Groups > pl.comp.os.linux.programowanie > #2231
| From | Mateusz Viste <mateusz@xyz.invalid> |
|---|---|
| Newsgroups | pl.comp.os.linux.programowanie |
| Subject | Re: EINTR - sztuczne generowanie |
| Date | 2020-09-09 10:18 +0200 |
| Organization | . . . |
| Message-ID | <20200909101830.2170cf7b@mateusz> (permalink) |
| References | <rj9vh2$6it$1@dont-email.me> |
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 | Next — Previous in thread | Next in thread | Find similar
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