|
Lines 46-51
Link Here
|
| 46 |
#define O_NOCTTY 0 |
46 |
#define O_NOCTTY 0 |
| 47 |
#endif |
47 |
#endif |
| 48 |
|
48 |
|
|
|
49 |
#ifdef __APPLE__ |
| 50 |
# include <AvailabilityMacros.h> |
| 51 |
# if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5) |
| 52 |
# define __APPLE_PRIVPTY__ |
| 53 |
# endif |
| 54 |
#endif |
| 55 |
|
| 49 |
/* |
56 |
/* |
| 50 |
* Allocates and opens a pty. Returns 0 if no pty could be allocated, or |
57 |
* Allocates and opens a pty. Returns 0 if no pty could be allocated, or |
| 51 |
* nonzero if a pty was successfully allocated. On success, open file |
58 |
* nonzero if a pty was successfully allocated. On success, open file |
|
Lines 78-87
pty_allocate(int *ptyfd, int *ttyfd, cha
Link Here
|
| 78 |
void |
85 |
void |
| 79 |
pty_release(const char *tty) |
86 |
pty_release(const char *tty) |
| 80 |
{ |
87 |
{ |
|
|
88 |
#ifndef __APPLE_PRIVPTY__ |
| 81 |
if (chown(tty, (uid_t) 0, (gid_t) 0) < 0) |
89 |
if (chown(tty, (uid_t) 0, (gid_t) 0) < 0) |
| 82 |
error("chown %.100s 0 0 failed: %.100s", tty, strerror(errno)); |
90 |
error("chown %.100s 0 0 failed: %.100s", tty, strerror(errno)); |
| 83 |
if (chmod(tty, (mode_t) 0666) < 0) |
91 |
if (chmod(tty, (mode_t) 0666) < 0) |
| 84 |
error("chmod %.100s 0666 failed: %.100s", tty, strerror(errno)); |
92 |
error("chmod %.100s 0666 failed: %.100s", tty, strerror(errno)); |
|
|
93 |
#endif /* __APPLE_PRIVPTY__ */ |
| 85 |
} |
94 |
} |
| 86 |
|
95 |
|
| 87 |
/* Makes the tty the process's controlling tty and sets it to sane modes. */ |
96 |
/* Makes the tty the process's controlling tty and sets it to sane modes. */ |