diff options
author | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 2010-04-10 19:31:01 +0900 |
---|---|---|
committer | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 2010-04-10 19:31:01 +0900 |
commit | 658b9b9347fdb9cdf5763990c22e63a0d617c40e (patch) | |
tree | 992a5050647746460b8034641187140915faa0a4 | |
parent | 0a23b2c3033d8eae52e0861aa5d3a66b628a99b5 (diff) | |
download | emacs-658b9b9347fdb9cdf5763990c22e63a0d617c40e.tar.gz |
* s/darwin.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF)
(PTY_OPEN): New defines. Use openpty (Bug#726, Bug#5819).
-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 @@ +2010-04-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * s/darwin.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF) + (PTY_OPEN): New defines. Use openpty (Bug#726, Bug#5819). + 2010-04-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> * 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/>. */ */ #define HAVE_PTYS +/* Run only once. We need a `for'-loop because the code uses + `continue'. */ +#define PTY_ITERATION for (i = 0; i < 1; i++) +#define PTY_NAME_SPRINTF /* none */ +#define PTY_TTY_NAME_SPRINTF /* none */ +/* Note that openpty may fork via grantpt on Mac OS X 10.4/Darwin 8. + But we don't have to block SIGCHLD because it is blocked in the + implementation of grantpt. */ +#define PTY_OPEN \ + do \ + { \ + int slave; \ + if (openpty (&fd, &slave, pty_name, NULL, NULL) == -1) \ + fd = -1; \ + else \ + emacs_close (slave); \ + } \ + while (0) /** * PTYs only work correctly on Darwin 7 or higher. So make the |