abseil / abseil/abseil-cpp

[Bug]: sig_t is not portable

Aperta
#1,825 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C++
Stelle
18.1k
Fork
3.2k
Merge medio
20h 36m
PR unite (30g)
1

Descrizione

### Describe the issue

Compilation of tests fails on OpenIndiana due to `sig_t`:

```
/data/builds/oi-userland/components/library/abseil-cpp/abseil-cpp-20240116.3/absl/time/clock_test.cc: In function 'bool {anonymous}::SleepForBounded(absl::lts_20240116::Duration, absl::lts_20240116::Duration, absl::lts_20240116::Duration, absl::lts_20240116::Duration, AlarmPolicy, int*)':
/data/builds/oi-userland/components/library/abseil-cpp/abseil-cpp-20240116.3/absl/time/clock_test.cc:62:5: error: 'sig_t' was not declared in this scope
62 | sig_t old_alarm = SIG_DFL;
| ^~~~~
/data/builds/oi-userland/components/library/abseil-cpp/abseil-cpp-20240116.3/absl/time/clock_test.cc:65:7: error: 'old_alarm' was not declared in this scope
65 | old_alarm = signal(SIGALRM, AlarmHandler);
| ^~~~~~~~~
/data/builds/oi-userland/components/library/abseil-cpp/abseil-cpp-20240116.3/absl/time/clock_test.cc:77:23: error: 'old_alarm' was not declared in this scope
77 | signal(SIGALRM, old_alarm);
| ^~~~~~~~~

```

### Steps to reproduce the problem

Compile abseil-cpp 20240116.3 with `-DABSL_BUILD_TESTING=ON` and `-DABSL_USE_EXTERNAL_GOOGLETEST=ON` on OpenIndiana.

### What version of Abseil are you using?

20240116.3

### What operating system and version are you using?

OpenIndiana Hipster (an illumos distro)

### What compiler and version are you using?

```
$ gcc --version
gcc (OpenIndiana 14.2.0-oi-1) 14.2.0
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$
```

### What build system are you using?

cmake version 3.31.5

### Additional context

_No response_

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.