diff options
| author | YAMAMOTO Mitsuharu | 2010-04-10 19:31:01 +0900 |
|---|---|---|
| committer | YAMAMOTO Mitsuharu | 2010-04-10 19:31:01 +0900 |
| commit | 658b9b9347fdb9cdf5763990c22e63a0d617c40e (patch) | |
| tree | 992a5050647746460b8034641187140915faa0a4 /src | |
| parent | 0a23b2c3033d8eae52e0861aa5d3a66b628a99b5 (diff) | |
| download | emacs-658b9b9347fdb9cdf5763990c22e63a0d617c40e.tar.gz emacs-658b9b9347fdb9cdf5763990c22e63a0d617c40e.zip | |
Use openpty for allocating pty on Darwin. Fix Bug#726 and Bug#5819.
* s/darwin.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF)
(PTY_OPEN): New defines. Use openpty (Bug#726, Bug#5819).
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/s/darwin.h | 18 |
2 files changed, 23 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index b8b04b129ea..b68c58219ec 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2010-04-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 2 | |||
| 3 | * s/darwin.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF) | ||
| 4 | (PTY_OPEN): New defines. Use openpty (Bug#726, Bug#5819). | ||
| 5 | |||
| 1 | 2010-04-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 6 | 2010-04-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 2 | 7 | ||
| 3 | * frame.h (FRAME_LINE_TO_PIXEL_Y): Add missing parenthesis. | 8 | * frame.h (FRAME_LINE_TO_PIXEL_Y): Add missing parenthesis. |
diff --git a/src/s/darwin.h b/src/s/darwin.h index b9062ec8000..ab7c0717287 100644 --- a/src/s/darwin.h +++ b/src/s/darwin.h | |||
| @@ -90,6 +90,24 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 90 | */ | 90 | */ |
| 91 | 91 | ||
| 92 | #define HAVE_PTYS | 92 | #define HAVE_PTYS |
| 93 | /* Run only once. We need a `for'-loop because the code uses | ||
| 94 | `continue'. */ | ||
| 95 | #define PTY_ITERATION for (i = 0; i < 1; i++) | ||
| 96 | #define PTY_NAME_SPRINTF /* none */ | ||
| 97 | #define PTY_TTY_NAME_SPRINTF /* none */ | ||
| 98 | /* Note that openpty may fork via grantpt on Mac OS X 10.4/Darwin 8. | ||
| 99 | But we don't have to block SIGCHLD because it is blocked in the | ||
| 100 | implementation of grantpt. */ | ||
| 101 | #define PTY_OPEN \ | ||
| 102 | do \ | ||
| 103 | { \ | ||
| 104 | int slave; \ | ||
| 105 | if (openpty (&fd, &slave, pty_name, NULL, NULL) == -1) \ | ||
| 106 | fd = -1; \ | ||
| 107 | else \ | ||
| 108 | emacs_close (slave); \ | ||
| 109 | } \ | ||
| 110 | while (0) | ||
| 93 | 111 | ||
| 94 | /** | 112 | /** |
| 95 | * PTYs only work correctly on Darwin 7 or higher. So make the | 113 | * PTYs only work correctly on Darwin 7 or higher. So make the |