Commit | Line | Data |
d1c9dd79 |
1 | #include "beos/beosish.h" |
30410c71 |
2 | |
efca5cc6 |
3 | #undef waitpid |
4 | |
5 | #include <sys/wait.h> |
6 | |
7 | /* In BeOS 5.0 the waitpid() seems to misbehave in that the status |
8 | * is _not_ shifted left by eight (multiplied by 256), as it is in |
9 | * POSIX/UNIX. To undo the surpise effect to the rest of Perl we |
10 | * need this wrapper. (The rest of BeOS might be surprised because |
11 | * of this, though.) */ |
12 | |
13 | pid_t beos_waitpid(pid_t process_id, int *status_location, int options) { |
30410c71 |
14 | pid_t got = waitpid(process_id, status_location, options); |
7b9cd8f0 |
15 | if (status_location) |
30410c71 |
16 | *status_location <<= 8; /* What about the POSIX low bits? */ |
efca5cc6 |
17 | return got; |
18 | } |