(ctx context.Context, eventFD int)
| 543 | } |
| 544 | |
| 545 | func watchContextForEventFD(ctx context.Context, eventFD int) { |
| 546 | done := ctx.Done() |
| 547 | if done == nil { |
| 548 | return |
| 549 | } |
| 550 | |
| 551 | if eventFD < 0 { |
| 552 | panic("invalid file descriptor for eventfd") |
| 553 | } |
| 554 | |
| 555 | go func() { |
| 556 | defer unix.Close(eventFD) |
| 557 | |
| 558 | select { |
| 559 | case <-done: |
| 560 | buffer := make([]byte, 8) |
| 561 | binary.PutUvarint(buffer, 1) |
| 562 | |
| 563 | if _, err := unix.Write(eventFD, buffer); err != nil { |
| 564 | panicMsg := fmt.Sprintf("write(2) to eventfd failed: %s", err) |
| 565 | panic(panicMsg) |
| 566 | } |
| 567 | } |
| 568 | }() |
| 569 | } |
no test coverage detected
searching dependent graphs…