Commit 1295576
committed
evl/monitor: event: differentiate causes for interrupted wait
A wait operation can be interrupted for the following reasons:
- a signal was received while waiting for the event.
- the caller got forcibly unblocked while waiting for the event.
- a signal was received or the caller got forcibly unblocked while
trying to reacquire the lock once the event was successfully
received.
Ensure these conditions are differentiated when returning to the
caller via the operation status (req.status), which enables the user
interface to decide whether it needs to restart the syscall
transparently after some fixups on signal receipt, or bail out on
error if forcibly unblocked for any other reason.
This change causes a bump of the current ABI version (#28). However,
it does not affect current and older libevl releases since none of
them check the operation status when an interrupted wait is detected.
Signed-off-by: Philippe Gerum <rpm@xenomai.org>1 parent dd48492 commit 1295576
2 files changed
Lines changed: 23 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
527 | 527 | | |
528 | 528 | | |
529 | 529 | | |
530 | | - | |
531 | | - | |
532 | | - | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
533 | 535 | | |
534 | 536 | | |
535 | 537 | | |
536 | 538 | | |
537 | | - | |
538 | | - | |
539 | | - | |
540 | | - | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
541 | 548 | | |
542 | 549 | | |
543 | 550 | | |
| 551 | + | |
| 552 | + | |
544 | 553 | | |
545 | 554 | | |
546 | | - | |
547 | | - | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
548 | 561 | | |
549 | 562 | | |
550 | 563 | | |
| |||
0 commit comments